diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/einfart/README.md | 5 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.pdf | bin | 236172 -> 238357 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex | 94 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/einfart/einfart-doc-en.pdf | bin | 145877 -> 146880 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex | 117 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/einfart/einfart.cls | 78 |
6 files changed, 191 insertions, 103 deletions
diff --git a/Master/texmf-dist/doc/latex/einfart/README.md b/Master/texmf-dist/doc/latex/einfart/README.md index 58ceae6fbfa..fcbc608e99f 100644 --- a/Master/texmf-dist/doc/latex/einfart/README.md +++ b/Master/texmf-dist/doc/latex/einfart/README.md @@ -6,8 +6,9 @@ clear design. Currently, it has native support to Chinese (simplified and traditional), -English, French, German, Japanese and Russian typesetting. And it may compile -with either XeLaTeX or LuaLaTeX. +English, French, German, Italian, Japanese, Portuguese (European and Brazilian), +Russian and Spanish typesetting. And it may compile with either XeLaTeX or +LuaLaTeX. This is part of the `minimalist` class series. diff --git a/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.pdf b/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.pdf Binary files differindex fece7594012..9981934f23b 100644 --- a/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.pdf +++ b/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.pdf diff --git a/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex b/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex index 058440e3fad..ca0fdf1df07 100644 --- a/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex +++ b/Master/texmf-dist/doc/latex/einfart/einfart-doc-cn.tex @@ -1,5 +1,8 @@ %! TEX program = xelatex -\documentclass{einfart} +\documentclass[puretext]{einfart} + +\CreateTheorem{definition}<highest> +\CreateTheorem{theorem}<highest> \linenumbers % 开启行号 @@ -36,8 +39,8 @@ } \providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} \lstset{moretexcs=% - {linenumbers,nolinenumbers,subsection, - color,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib + {linenumbers,nolinenumbers,subsection,href, + color,NameTheorem,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib } } \lstnewenvironment{code}% @@ -47,19 +50,19 @@ {\ResumeLineNumbers} %%================================ -%% remind +%% tip %%================================ \usepackage[many]{tcolorbox} -\newenvironment{remind}[1][提示]{% +\newenvironment{tip}[1][提示]{% \LocallyStopLineNumbers% \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, @@ -84,15 +87,15 @@ \title{\einfart{},以极简主义风格排版你的文章} \author{许锦文} -\thanks{对应版本. \texttt{\einfart{} 2021/05/23}} -\date{2021年5月,北京} +\thanks{对应版本. \texttt{\einfart{} 2021/06/07}} +\date{2021年6月,北京} \maketitle \begin{abstract} \einfart{} 是 \minimalist{} 文档类系列的成员之一,其名称取自于德文的 einfach (``简约''),并取了 artikel (``文章'') 的前三个字母组合而成。整个 \minimalist{} 系列包含用于排版文章的 \minimart{}、\einfart{} 以及用于排版书的 \minimbook{}、\simplivre{}。我设计这一系列的初衷是为了撰写草稿与笔记,使之看上去简朴而不简陋。 - \einfart{} 支持英文、法文、德文、中文、日文、俄文六种语言,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。 + \einfart{} 支持英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文,并且同一篇文档中这些语言可以很好地协调。由于采用了自定义字体,需要用 \hologo{XeLaTeX} 或 \hologo{LuaLaTeX} 引擎进行编译。 这篇说明文档即是用 \einfart{} 排版的,你可以把它看作一份简短的说明与演示。 \end{abstract} @@ -100,9 +103,9 @@ \tableofcontents \bigskip -\begin{remind} +\begin{tip} 多语言支持、定理类环境、未完成标记等功能是由 \ProjLib{} 工具箱提供的,这里只给出了将其与本文档类搭配使用的要点。如需获取更详细的信息,可以参阅 \ProjLib{} 的说明文档。 -\end{remind} +\end{tip} \clearpage \section{初始化} @@ -135,6 +138,10 @@ \begin{itemize} \item 可选的纸张大小。默认的纸张大小为 7in $\times$ 10in。 \end{itemize} + \item \texttt{palatino}、\texttt{times}、\texttt{garamond}、\texttt{biolinum} + \begin{itemize} + \item 字体选项。顾名思义,会加载相应名称的字体。 + \end{itemize} \item \texttt{allowbf} \begin{itemize} \item 允许加粗。启用这一选项时,题目、各级标题、定理类环境名称会被加粗。 @@ -145,12 +152,12 @@ \end{itemize} \end{itemize} -\begin{remind} +\begin{tip} \begin{itemize} \item 在文章的撰写阶段,建议使用 \verb|fast| 选项以加快编译速度,改善写作时的流畅程度。在最后,可以把 \verb|fast| 标记去除,从而得到正式的版本。使用 \verb|fast| 模式时会有“DRAFT”字样的水印,以提示目前处于草稿阶段。 \item 如果你喜欢更加传统的样式,\texttt{allowbf} + \texttt{classical} 是一个不错的搭配。 \end{itemize} -\end{remind} +\end{tip} \section{关于文档类中使用的字体} \einfart{} 默认使用 Palatino Linotype 作为英文字体,方正悠宋、悠黑GBK作为中文字体,并部分使用了 Neo Euler 作为数学字体。其中,Neo Euler可以在 \url{https://github.com/khaledhosny/euler-otf} 下载。其他字体不是免费字体,需要自行购买使用。可以在方正字库网站查询详细资料:\url{https://www.foundertype.com}。 @@ -170,7 +177,7 @@ \subsection{语言设置} -\einfart{} 提供了多语言支持,包括简体中文、繁体中文、英文、法文、德文、日文、俄文。可以通过下列命令来选定语言: +\einfart{} 提供了多语言支持,包括英语、法语、德语、意大利语、葡萄牙语、巴西葡萄牙语、西班牙语、简体中文、繁体中文、日文、俄文。可以通过下列命令来选定语言: \begin{itemize} \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}|,用于指定语言,在其后将使用对应的语言设定。 \begin{itemize} @@ -182,15 +189,19 @@ \end{itemize} \end{itemize} -\meta{language name} 有下列选择: +\meta{language name} 有下列选择 (不区分大小写,如 \texttt{French} 或 \texttt{french} 均可): \begin{itemize} - \item 简体中文:\texttt{Chinese}、\texttt{chinese}、\texttt{SChinese}、\texttt{schinese}、\texttt{SimplifiedChinese} \\\hspace*{5em}或 \texttt{simplifiedchinese} - \item 繁体中文:\texttt{TChinese}、\texttt{tchinese}、\texttt{TraditionalChinese} 或 \texttt{traditionalchinese} - \item 英文:\texttt{English} 或 \texttt{english} - \item 法文:\texttt{French} 或 \texttt{french} - \item 德文:\texttt{German}、\texttt{german} 或 \texttt{ngerman} - \item 日文:\texttt{Japanese} 或 \texttt{japanese} - \item 俄文:\texttt{Russian} 或 \texttt{russian} + \item 简体中文:\texttt{CN}、\texttt{Chinese}、\texttt{SChinese} 或 \texttt{SimplifiedChinese} + \item 繁体中文:\texttt{TC}、\texttt{TChinese} 或 \texttt{TraditionalChinese} + \item 英文:\texttt{EN} 或 \texttt{English} + \item 法文:\texttt{FR} 或 \texttt{French} + \item 德文:\texttt{DE}、\texttt{German} 或 \texttt{ngerman} + \item 意大利语:\texttt{IT} 或 \texttt{Italian} + \item 葡萄牙语:\texttt{PT} 或 \texttt{Portuguese} + \item 巴西葡萄牙语:\texttt{BR} 或 \texttt{Brazilian} + \item 西班牙语:\texttt{ES} 或 \texttt{Spanish} + \item 日文:\texttt{JP} 或 \texttt{Japanese} + \item 俄文:\texttt{RU} 或 \texttt{Russian} \end{itemize} 另外,还可以通过下面的方式来填加相应语言的设置: @@ -212,11 +223,11 @@ 定义、定理等环境已经被预定义,可以直接使用。 具体来说,预设的定理类环境包括: -\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},以及相应的带有星号 \lstinline|*| 的无编号版本。 +\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},以及相应的带有星号 \lstinline|*| 的无编号版本。 在引用定理类环境时,建议使用智能引用 \lstinline|\cref{|\meta{label}\lstinline|}|。这样就不必每次都写上相应环境的名称了。 -\begin{remind}[例子] +\begin{tip}[例子] \begin{code} \begin{definition}[奇异物品] \label{def: strange} ... \end{code} @@ -235,25 +246,20 @@ \end{theorem} 默认情况下,引用时,定理的名称总是与定理所在区域的语言匹配,例如,上面的定义在现在的英文模式下依然显示为中文:\cref{def: strange} 和 \cref{thm}。如果在引用时想让定理的名称与当前语境相匹配,可以在全局选项中加入 \texttt{regionalref}。 -\end{remind} +\end{tip} \UseLanguage{Chinese} \subsection{定义新的定理型环境} -若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称 \lstinline|\|\meta{name of environment}\meta{language abbr},其中 \meta{language abbr} 是语言的简写,分别为: -\begin{longtable}{ll|ll} - \texttt{CN} & 简体中文 & \texttt{DE} & 德文\\ - \texttt{TC} & 繁体中文 & \texttt{JP} & 日文\\ - \texttt{EN} & 英文 & \texttt{RU} & 俄文\\ - \texttt{FR} & 法文 & &\\ -\end{longtable} - -\vspace{-0.3\baselineskip} -\begin{remind} - 如果要定义名称后带有星号 \lstinline|*| 的环境,那么在上面的 \meta{name of environment} 中不用写星号。 -\end{remind} +若需要定义新的定理类环境,首先要定义这个环境在所用语言下的名称: +% \vspace{-.15\baselineskip}% +\begin{itemize} + \item \lstinline|\NameTheorem[|\meta{language name}\lstinline|]{|\meta{name of environment}\lstinline|}{|\meta{name string}\lstinline|}| +\end{itemize} +% \vspace{-.15\baselineskip}% +其中,\meta{language name} 可参阅关于语言设置的小节。当不指定 \meta{language name}时,则会将该名称设置为所有支持语言下的名称。另外,带星号与不带星号的同名环境共用一个名称,因此 \lstinline|\NameTheorem{envname*}{...}| 与 \lstinline|\NameTheorem{envname}{...}| 效果相同。 然后用下面五种方式之一定义这一环境: \begin{itemize} @@ -285,11 +291,12 @@ \end{itemize} \end{itemize} -\begin{remind} +\begin{tip} 其内部使用了 \textsf{amsthm},因此传统的 \texttt{theoremstyle} 对其也是适用的,只需在相关定义前标明即可。 -\end{remind} +\end{tip} -\def\proofideanameCN{思路} +% \def\proofideanameCN{思路} +\NameTheorem[CN]{proofidea}{思路} \CreateTheorem*{proofidea*} \CreateTheorem{proofidea}<subsection> @@ -297,7 +304,7 @@ 下面提供一个例子。这三行代码: \begin{code} - \def\proofideanameCN{思路} + \NameTheorem[CN]{proofidea}{思路} \CreateTheorem*{proofidea*} \CreateTheorem{proofidea}<subsection> \end{code} @@ -334,7 +341,7 @@ \begin{code} \title{(*\meta{title}*)} - \author{(*\meta{author}*)} + \author{(*\meta{author}*)\thanks{(*\meta{text}*)}} \date{(*\meta{date}*)} \maketitle \begin{abstract} @@ -350,6 +357,7 @@ \begin{code} \title{(*\meta{title}*)} \author{(*\meta{author}*)} + \thanks{(*\meta{text}*)} \address{(*\meta{address}*)} \email{(*\meta{email}*)} \date{(*\meta{date}*)} diff --git a/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.pdf b/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.pdf Binary files differindex 9fecd39dda5..6123cb245a7 100644 --- a/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.pdf +++ b/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.pdf diff --git a/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex b/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex index 5e42a556a02..f984c7eb102 100644 --- a/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex +++ b/Master/texmf-dist/doc/latex/einfart/einfart-doc-en.tex @@ -1,5 +1,8 @@ %! TEX program = xelatex -\documentclass{einfart} +\documentclass[puretext]{einfart} + +\CreateTheorem{definition}<highest> +\CreateTheorem{theorem}<highest> \linenumbers % Enable line numbers @@ -34,8 +37,8 @@ } \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}% @@ -45,25 +48,25 @@ {\ResumeLineNumbers} %%================================ -%% remind +%% tip %%================================ \usepackage[many]{tcolorbox} -\newenvironment{remind}[1][Remind]{% +\newenvironment{tip}[1][Tip]{% \LocallyStopLineNumbers% \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}\ResumeLineNumbers} %%================================ @@ -82,15 +85,15 @@ \title{\einfart{}, write your articles in a simple and clear way} \author{Jinwen XU} -\thanks{Corresponding to: \texttt{\einfart{} 2021/05/23}} -\date{May 2021, Beijing} +\thanks{Corresponding to: \texttt{\einfart{} 2021/06/07}} +\date{June 2021, Beijing} \maketitle \begin{abstract} \einfart{} is part of the \minimalist{} class series, whose name is taken from German word ``einfach'' (``simple''), combined with the first three letters of ``artikel'' (``article''). The entire collection includes \minimart{} and \einfart{} for typesetting articles, and \minimbook{} and \simplivre{} for typesetting books. My original intention in designing them was to write drafts and notes that look simple yet not shabby. - \einfart{} supports six languages: English, French, German, Chinese, Japanese and Russian. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \einfart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile. + \einfart{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish. These languages can be switched seamlessly in a single document. Due to the usage of custom fonts, \einfart{} requires \hologo{XeLaTeX} or \hologo{LuaLaTeX} to compile. This documentation is typeset using \einfart{}. You can think of it as a short introduction and demonstration. \end{abstract} @@ -98,14 +101,14 @@ \tableofcontents \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} -\subsection{How to load} +\subsection{How to load it} One only needs to put \begin{code} @@ -131,6 +134,10 @@ as the first line to use the \einfart{} class. Please note that you need to use \begin{itemize} \item Optional paper size. The default paper size is 7in $\times$ 10in. \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} \item \texttt{allowbf} \begin{itemize} \item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded. @@ -141,15 +148,15 @@ as the first line to use the \einfart{} class. Please note that you need to use \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. + \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. \item \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style. \end{itemize} -\end{remind} +\end{tip} \section{On the fonts} -By default, \einfart{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and use them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ). +By default, \einfart{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and install them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ). % \begin{itemize} % \item English main font. \textsf{English sans serif font}. @@ -159,28 +166,32 @@ By default, \einfart{} uses Palatino Linotype as the English font, FounderType's When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced. -\section{Some instructions} +\section{Instructions} Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation. \subsection{Language configuration} -\einfart{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros: +\einfart{} has multi-language support, including Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian 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} -\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 @@ -200,14 +211,14 @@ 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. -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} @@ -227,26 +238,19 @@ 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} \UseLanguage{English} \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: +\vspace{-0.3\baselineskip} +\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}{...}| . And then define this environment in one of following five ways: \begin{itemize} @@ -278,11 +282,12 @@ And then define this environment in one of following five ways: \end{itemize} \end{itemize} -\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> @@ -290,17 +295,19 @@ And then define this environment in one of following five ways: Here is an example. The following code: \begin{code} - \def\proofideanameEN{Idea} + \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: +\vspace{-0.3\baselineskip} \begin{proofidea*} The \lstinline|proofidea*| environment. \end{proofidea*} +\vspace{-\baselineskip} \begin{proofidea} The \lstinline|proofidea| environment. \end{proofidea} @@ -317,6 +324,7 @@ Similarly, there is \lstinline|\needgraph| : \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph} \end{itemize} + \subsection{On the title, abstract and keywords} \einfart{} has both the features of standard classes and that of the \AmS{} classes. @@ -325,7 +333,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} @@ -341,6 +349,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}*)} @@ -367,7 +376,7 @@ The author information can contain multiple groups, written as: Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important. -\clearpage + \subsection{On the line numbers} Line numbers can be turned on and off at any time. \lstinline|\linenumbers| is used to enable the line numbers, and \lstinline|\nolinenumbers| is used to disable them. For the sake of beauty, the title, table of contents, index and some other elements are not numbered. diff --git a/Master/texmf-dist/tex/latex/einfart/einfart.cls b/Master/texmf-dist/tex/latex/einfart/einfart.cls index 52bad4daaa0..46afa4f5491 100644 --- a/Master/texmf-dist/tex/latex/einfart/einfart.cls +++ b/Master/texmf-dist/tex/latex/einfart/einfart.cls @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesClass{einfart} - [2021/05/23 A simple and clear article style] + [2021/06/07 A simple and clear article style] \def\minimclass@baseclass{article} \RequirePackage{kvoptions} \RequirePackage{etoolbox} @@ -28,6 +28,11 @@ \DeclareBoolOption[false]{draft} \DeclareBoolOption[false]{fast} \DeclareBoolOption[false]{classical} +\DeclareBoolOption[false]{palatino} +\DeclareBoolOption[false]{times} +\DeclareBoolOption[false]{garamond} +\DeclareBoolOption[false]{biolinum} +\DeclareBoolOption[false]{customfont} \newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse \DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue} @@ -40,6 +45,18 @@ \if@minimclass@draft \@minimclass@fasttrue \fi +\if@minimclass@palatino + \@minimclass@customfonttrue +\fi +\if@minimclass@times + \@minimclass@customfonttrue +\fi +\if@minimclass@garamond + \@minimclass@customfonttrue +\fi +\if@minimclass@biolinum + \@minimclass@customfonttrue +\fi %%================================ %% Page layout @@ -89,8 +106,10 @@ %% Fonts %%================================ %% Math fonts in fast mode -\if@minimclass@fast - \RequirePackage{mathpazo} +\if@minimclass@customfont\else + \if@minimclass@fast + \RequirePackage{mathpazo} + \fi \fi %% English fonts @@ -118,6 +137,7 @@ %% Chinese fonts \PassOptionsToPackage{fontset=none,scheme=plain}{ctex} \RequirePackage{ctex} +\WarningFilter{everysel}{Everysel is no longer required} \IfFontExistsTF{FZYOUSK_507R--GBK1-0}{% \setCJKmainfont{FZYOUSK_507R--GBK1-0}[ BoldFont = FZYOUSK_509R--GBK1-0 , @@ -167,6 +187,7 @@ } %% Math font +\if@minimclass@customfont\else \if@minimclass@fast \RequirePackage{amssymb} \else @@ -216,10 +237,59 @@ \setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana-Math.otf} }{} \fi +\fi + +\if@minimclass@palatino + \RequirePackage{amssymb} + \RequirePackage{mathpazo} + \PassOptionsToPackage{defaultsups}{newpxtext} + \RequirePackage{newpxtext} + \RequirePackage{newpxmath} + \let\openbox\relax + \PJLsetlinespacing{\setstretch{1.07}} +\fi + +\if@minimclass@times + \RequirePackage{amssymb} + \PassOptionsToPackage{defaultsups}{newtxtext} + \RequirePackage{newtxtext} + \RequirePackage{newtxmath} + \let\openbox\relax + \PJLsetlinespacing{\setstretch{1.00}} +\fi + +\if@minimclass@garamond + \RequirePackage{amssymb} + \PassOptionsToPackage{lining}{ebgaramond} + \RequirePackage{ebgaramond-maths} + \RequirePackage{ebgaramond} + % \RequirePackage{garamondlibre} + \PJLsetlinespacing{\setstretch{1.00}} +\fi + +\if@minimclass@biolinum + \RequirePackage{amssymb} + % \RequirePackage{mathpazo} + % \RequirePackage[sansmath]{libertinust1math} + \ifPDFTeX + \RequirePackage{biolinum} + \renewcommand*\familydefault{\biolinum@family} + \else + \PassOptionsToPackage{no-math}{fontspec} + \RequirePackage{fontspec} + \setmainfont{LinBiolinum_R.otf}[ + BoldFont = LinBiolinum_RB.otf , + ItalicFont = LinBiolinum_RI.otf , + BoldItalicFont = LinBiolinum_RBO.otf ] + \fi + \PJLsetlinespacing{\setstretch{1.05}} + \RequirePackage[italic,defaultmathsizes]{mathastext} +\fi \def\PJL@font@alreadyset{} -\RequirePackage[verbose=silent]{microtype} +\PassOptionsToPackage{verbose=silent}{microtype} +\RequirePackage{microtype} %%================================ %% Graphics |