summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/projlib/ProjLib-doc-en.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-08-17 20:50:26 +0000
committerKarl Berry <karl@freefriends.org>2021-08-17 20:50:26 +0000
commit0ecd2fe84d1534f6efbaa3222bac4985106c088c (patch)
treeee3eaaf4d43de2d6fc1478dbe1e47382258f32c6 /Master/texmf-dist/doc/latex/projlib/ProjLib-doc-en.tex
parent24fbe73ac9ffa25fb715ae04bd64cfd318c48769 (diff)
projlib (17aug21)
git-svn-id: svn://tug.org/texlive/trunk@60261 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/projlib/ProjLib-doc-en.tex')
-rw-r--r--Master/texmf-dist/doc/latex/projlib/ProjLib-doc-en.tex109
1 files changed, 90 insertions, 19 deletions
diff --git a/Master/texmf-dist/doc/latex/projlib/ProjLib-doc-en.tex b/Master/texmf-dist/doc/latex/projlib/ProjLib-doc-en.tex
index 6b542c5a078..7159bc24dde 100644
--- a/Master/texmf-dist/doc/latex/projlib/ProjLib-doc-en.tex
+++ b/Master/texmf-dist/doc/latex/projlib/ProjLib-doc-en.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,allowbf,puretext]{lebhart}
+\documentclass[allowbf,puretext]{lebhart}
%%================================
%% Import toolkit
@@ -85,7 +85,7 @@
\title{\ProjLib{}~\,Toolkit\\[.3\baselineskip]\normalsize User Manual}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\ProjLib{}~2021/08/11}}
+\thanks{Corresponding to: \texttt{\ProjLib{}~2021/08/17}}
\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{August 2021, Beijing}
@@ -124,7 +124,7 @@ The \ProjLib{} toolkit is composed of the main package \ProjLibPackage{} and a s
Just add the following line to your preamble:
\begin{code}
- \usepackage{ProjLib}
+\usepackage{ProjLib}
\end{code}
\begin{tip}[Attention]
@@ -286,13 +286,13 @@ In addition, there are also some options of the components that should be passed
\PJLauthor{} offers \lstinline|\address|, \lstinline|\curraddr| and \lstinline|\email|, and allows you to enter multiple groups of author information. The standard usage is like this:
\begin{code}
- \author{(*\meta{author 1}*)}
- \address{(*\meta{address 1}*)}
- \email{(*\meta{email 1}*)}
- \author{(*\meta{author 2}*)}
- \address{(*\meta{address 2}*)}
- \email{(*\meta{email 2}*)}
- ...
+\author{(*\meta{author 1}*)}
+\address{(*\meta{address 1}*)}
+\email{(*\meta{email 1}*)}
+\author{(*\meta{author 2}*)}
+\address{(*\meta{address 2}*)}
+\email{(*\meta{email 2}*)}
+...
\end{code}
The mutual order of \lstinline|\address|, \lstinline|\curraddr| and \lstinline|\email| is not important.
@@ -323,7 +323,7 @@ In addition, you can use the option \texttt{amsfashion} to enable the \AmS{} fas
The language can be selected by the following macros:
\begin{itemize}
- \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
+ \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding settings of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
\item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|, which uses the specified language settings to typeset \meta{content}. Compared with \lstinline|\UseLanguage|, it will not modify the line spacing, so line spacing would remain stable when CJK and Western texts are mixed.
\end{itemize}
@@ -389,13 +389,44 @@ Preset environments include: \texttt{assumption}, \texttt{axiom}, \texttt{conjec
When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
\end{tip}
-
\bigskip
-If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use. There are two ways for this:
\begin{itemize}
- \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+ \item Simple settings: \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+ \begin{itemize}
+ \item This approach only sets one main name, the other names, such as those used for clever reference, are set to be the same (in particular, for clever reference, the singular and plural form will not be distinguished). When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}| has the same effect as \lstinline|\NameTheorem{envname}| .
+ \end{itemize}
+ \item Detailed settings (recommended):
+\begin{code}
+\NameTheorem{(*\meta{name of environment}*)}{
+ (*\meta{language name 1}*)={
+ name=(*\meta{Name}*),
+ crefname={(*\meta{name}*)}{(*\meta{names}*)},
+ Crefname={(*\meta{Name}*)}{(*\meta{Names}*)},
+ autorefname=(*\meta{name}*),
+ theoremheading=(*\meta{Name}*),
+ },
+ (*\meta{language name 2}*)={...},
+}
+\end{code}
+or
+\begin{code}
+\NameTheorem[(*\meta{language name}*)]{(*\meta{name of environment}*)}{
+ name=(*\meta{Name}*),
+ crefname={(*\meta{name}*)}{(*\meta{names}*)},
+ Crefname={(*\meta{Name}*)}{(*\meta{Names}*)},
+ autorefname=(*\meta{name}*),
+ theoremheading=(*\meta{Name}*),
+}
+\end{code}
+ \begin{itemize}
+ \item This approach sets all the names. When \meta{language name} is not specified, the full interface will be enabled; when it is specified, only the names of the corresponding language are set. Similarly, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}| has the same effect as \lstinline|\NameTheorem{envname}| .
+ \end{itemize}
\end{itemize}
-For \meta{language name}, please refer to the section on \PJLlang{}. When \meta{language name} is not specified, the name will be set for all supported languages. In addition, environments with or without asterisk share the same name, therefore, \lstinline|\NameTheorem{envname*}{...}| has the same effect as \lstinline|\NameTheorem{envname}{...}| .
+
+\begin{tip}
+ In addition, you can also name a theorem-like environment while defining it, see the description of \lstinline|\CreateTheorem| later.
+\end{tip}
And then define this environment in one of following five ways:
\vspace{-.3\baselineskip}
@@ -432,6 +463,21 @@ And then define this environment in one of following five ways:
This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
\end{tip}
+\bigskip
+You can also name a theorem-like environment while defining it, by adding afterwards a group of parentheses containing the settings:
+\begin{code}
+\CreateTheorem{(*\meta{name of environment}*)}{
+ (*\meta{language name 1}*)={
+ name=(*\meta{Name}*),
+ crefname={(*\meta{name}*)}{(*\meta{names}*)},
+ Crefname={(*\meta{Name}*)}{(*\meta{Names}*)},
+ autorefname=(*\meta{name}*),
+ theoremheading=(*\meta{Name}*),
+ },
+ (*\meta{language name 2}*)={...},
+}
+\end{code}
+
\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
@@ -439,9 +485,9 @@ And then define this environment in one of following five ways:
\bigskip
Here is an example. The following code:
\begin{code}
- \NameTheorem[EN]{proofidea}{Idea}
- \CreateTheorem*{proofidea*}
- \CreateTheorem{proofidea}<subsection>
+\NameTheorem[EN]{proofidea}{Idea}
+\CreateTheorem*{proofidea*}
+\CreateTheorem{proofidea}<subsection>
\end{code}
defines an unnumbered environment \lstinline|proofidea*| and a numbered environment \lstinline|proofidea| (numbered within subsection) respectively. They can be used in English context. The effect is as follows (the actual style is related to the document class):
@@ -453,7 +499,32 @@ defines an unnumbered environment \lstinline|proofidea*| and a numbered environm
The \lstinline|proofidea| environment.
\end{proofidea}
-\bigskip
+\medskip
+Of course, you can also use a set of more detailed name:
+\begin{code}
+\NameTheorem{proofidea}{
+ EN = {
+ name = Idea,
+ crefname = {idea}{ideas},
+ Crefname = {Idea}{Ideas},
+ }
+}
+\CreateTheorem*{proofidea*}
+\CreateTheorem{proofidea}<subsection>
+\end{code}
+or set the names while defining them (for \lstinline|proofidea*| and \lstinline|proofidea|, set once suffices):
+\begin{code}
+\CreateTheorem*{proofidea*}
+\CreateTheorem{proofidea}<subsection>{
+ EN = {
+ name = Idea,
+ crefname = {idea}{ideas},
+ Crefname = {Idea}{Ideas},
+ }
+}
+\end{code}
+
+\clearpage
\subsection{Secondary functions}