summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/colorist/colorist-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/colorist/colorist-doc.tex')
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.tex120
1 files changed, 67 insertions, 53 deletions
diff --git a/macros/latex/contrib/colorist/colorist-doc.tex b/macros/latex/contrib/colorist/colorist-doc.tex
index 14dc39da0d..c3ffef02e7 100644
--- a/macros/latex/contrib/colorist/colorist-doc.tex
+++ b/macros/latex/contrib/colorist/colorist-doc.tex
@@ -1,5 +1,17 @@
%! TEX program = xelatex
-\documentclass[allowbf]{colorart}
+\documentclass[allowbf,puretext]{colorart}
+
+\theoremstyle{basic}
+\CreateTheorem{definition}<highest>
+\CreateTheorem{theorem}<highest>
+\CreateTheorem{conjecture}<highest>
+\CreateTheorem*{example*}
+\CreateTheorem{problem}<highest>
+
+\theoremstyle{emphasis}
+\CreateTheorem{remark}<highest>
+
+\theoremstyle{simple}
%%================================
%% Import toolkit
@@ -32,32 +44,31 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,subsection,
- color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
+ {linenumbers,nolinenumbers,subsection,href,
+ color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
%%================================
-%% remind
+%% tip
%%================================
-\usepackage[many]{tcolorbox}
-\newenvironment{remind}[1][Remind]{%
+\newenvironment{tip}[1][Tip]{%
\begin{tcolorbox}[breakable,
enhanced,
width = \textwidth,
- colback = white, colbacktitle = paper,
+ colback = paper, colbacktitle = paper,
colframe = gray!50, boxrule=0.2mm,
coltitle = black,
fonttitle = \sffamily,
- attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
boxed title style = {boxrule=0pt, colframe=paper},
before skip = 0.3cm,
after skip = 0.3cm,
top = 3mm,
bottom = 3mm,
- title={\sffamily #1}]%
+ title={\scshape\sffamily #1}]%
}{\end{tcolorbox}}
%%================================
@@ -77,15 +88,15 @@
\title{{\normalfont\textbf{\textsf{colorist}}}, write your articles or books in a colorful way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\colorist{} 2021/05/24}}
-\date{May 2021, Beijing}
+\thanks{Corresponding to: \texttt{\colorist{} 2021/06/07}}
+\date{June 2021, Beijing}
\maketitle
\begin{abstract}
\colorist{} is a series of styles and classes for you to typeset your articles or books in a colorful manner. My original intention in designing this series is to write drafts and notes that look colorful yet not dazzling.
- The entire collection includes \verb|colorist.sty|, which is the main style shared by all of the following classes; \verb|colorart.cls| for typesetting articles and \verb|colorbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French and German typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
+ The entire collection includes \verb|colorist.sty|, which is the main style shared by all of the following classes; \verb|colorart.cls| for typesetting articles and \verb|colorbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French, German, Italian, Portuguese (European and Brazilian) and Spanish typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
You can also found \lebhart{} and \beaulivre{} on CTAN. They are the enhanced version of \colorart{} and \colorbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
@@ -95,9 +106,9 @@
\tableofcontents
\bigskip\bigskip
-\begin{remind}
+\begin{tip}
Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
-\end{remind}
+\end{tip}
\clearpage
\section{Initialization}
@@ -134,11 +145,11 @@ And of course, you can also use the default classes \textsf{article} or \textsf{
\end{itemize}
\end{itemize}
-\begin{remind}
+\begin{tip}
\begin{itemize}
\item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
\end{itemize}
-\end{remind}
+\end{tip}
\bigskip
Additionally, \colorart{} and \colorbook{} offers the following options:
@@ -147,6 +158,10 @@ Additionally, \colorart{} and \colorbook{} offers the following options:
\begin{itemize}
\item Optional paper size. The default paper size is 8.5in $\times$ 11in.
\end{itemize}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
+ \begin{itemize}
+ \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \end{itemize}
\end{itemize}
@@ -156,23 +171,26 @@ Many of the features described next are provided by the \ProjLib{} toolkit. Only
\subsection{Language configuration}
-\colorist{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+\colorist{} has multi-language support, including English, French, German, Italian, Portuguese (European and Brazilian) and Spanish. 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 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|\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}
-\clearpage
-\meta{language name} can be:
+\meta{language name} can be (it is not case sensitive, for example, \texttt{French} and \texttt{french} have the same effect):
\begin{itemize}
- \item Simplified Chinese: \texttt{Chinese}, \texttt{chinese}, \texttt{SChinese}, \texttt{schinese}, \texttt{SimplifiedChinese} or \texttt{simplifiedchinese}
- \item Traditional Chinese: \texttt{TChinese}, \texttt{tchinese}, \texttt{TraditionalChinese} or \texttt{traditionalchinese}
- \item English: \texttt{English} or \texttt{english}
- \item French: \texttt{French} or \texttt{french}
- \item German: \texttt{German}, \texttt{german} or \texttt{ngerman}
- \item Japanese: \texttt{Japanese} or \texttt{japanese}
- \item Russian: \texttt{Russian} or \texttt{russian}
+ \item Simplified Chinese: \texttt{CN}, \texttt{Chinese}, \texttt{SChinese} or \texttt{SimplifiedChinese}
+ \item Traditional Chinese: \texttt{TC}, \texttt{TChinese} or \texttt{TraditionalChinese}
+ \item English: \texttt{EN} or \texttt{English}
+ \item French: \texttt{FR} or \texttt{French}
+ \item German: \texttt{DE}, \texttt{German} or \texttt{ngerman}
+ \item Italian: \texttt{IT} or \texttt{Italian}
+ \item Portuguese: \texttt{PT} or \texttt{Portuguese}
+ \item Portuguese (Brazilian): \texttt{BR} or \texttt{Brazilian}
+ \item Spanish: \texttt{ES} or \texttt{Spanish}
+ \item Japanese: \texttt{JP} or \texttt{Japanese}
+ \item Russian: \texttt{RU} or \texttt{Russian}
\end{itemize}
\medskip
@@ -192,15 +210,15 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\subsection{Theorems and how to reference them}
-Environments such as definitions and theorems have been pre-defined and can be used directly.
+Environments such as \texttt{definition} and \texttt{theorem} have been pre-defined and can be used directly.
More specifically, preset environments include:
-\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{observation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode.
\medskip
-When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+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.
-\begin{remind}[Example]
+\begin{tip}[Example]
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
@@ -221,10 +239,10 @@ After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
\end{theorem}
By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
-\end{remind}
+\end{tip}
-\clearpage %\bigskip
+\bigskip
The following are the main styles of theorem-like environments:
\begin{theorem}
Theorem style: theorem, proposition, lemma, corollary, ...
@@ -265,20 +283,13 @@ For aesthetics, adjacent definitions will be connected together automatically:
% \clearpage
\subsection{Define a new theorem-like environment}
-If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
-% \vspace{-.5\baselineskip}
-\begin{longtable}{ll|ll}
- \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
- \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
- \texttt{EN} & English & \texttt{RU} & Russian\\
- \texttt{FR} & French & &\\
-\end{longtable}
-
-\vspace{-.5\baselineskip}
-\begin{remind}
- If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
-\end{remind}
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
+\begin{itemize}
+ \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}|
+\end{itemize}
+For \meta{language name}, please refer to the section on language configuration. 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}{...}| .
+\medskip
And then define this environment in one of following five ways:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -297,6 +308,7 @@ And then define this environment in one of following five ways:
\begin{itemize}
\item Define a numbered environment \meta{name of environment}, numbered within the \\counter \meta{numbered within}
\end{itemize}
+ \clearpage
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|\\
\lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|
\begin{itemize}
@@ -310,18 +322,19 @@ And then define this environment in one of following five ways:
\end{itemize}
\medskip
-\begin{remind}
- It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
-\end{remind}
+\begin{tip}
+ 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}
-\def\proofideanameEN{Idea}
+% \def\proofideanameEN{Idea}
+\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\bigskip
Here is an example. The following code:
\begin{code}
- \def\proofideanameEN{Idea}
+ \NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
\end{code}
@@ -357,7 +370,7 @@ Therefore, the title part can either be written in the usual way, in accordance
\begin{code}
\title{(*\meta{title}*)}
- \author{(*\meta{author}*)}
+ \author{(*\meta{author}*)\thanks{(*\meta{text}*)}}
\date{(*\meta{date}*)}
\maketitle
\begin{abstract}
@@ -373,6 +386,7 @@ or written in the way of \AmS{} classes:
\begin{code}
\title{(*\meta{title}*)}
\author{(*\meta{author}*)}
+ \thanks{(*\meta{text}*)}
\address{(*\meta{address}*)}
\email{(*\meta{email}*)}
\date{(*\meta{date}*)}
@@ -404,7 +418,7 @@ Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \ls
\begin{itemize}[itemsep=.6em]
\item The font settings are still not perfect.
- \item Since many features are based on the \ProjLib{} toolkit, \colorist{} inherits all its problems. For details, please refer to the "Known Issues" section of the \ProjLib{} documentation.
+ \item Since many features are based on the \ProjLib{} toolkit, \colorist{} inherits all its problems. For details, please refer to the ``Known Issues'' section of the \ProjLib{} documentation.
\item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
\item There are still many things that can be optimized in the code.
\end{itemize}