From e58af6b2f65ebafd2a5fb79870a5f103de6f9619 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 27 Jul 2021 20:35:31 +0000 Subject: projlib (27jul21) git-svn-id: svn://tug.org/texlive/trunk@60092 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/projlib/ProjLib-doc.dtx | 134 +++++----- Master/texmf-dist/source/latex/projlib/ProjLib.dtx | 294 ++++++++++----------- Master/texmf-dist/source/latex/projlib/ProjLib.ins | 4 - 3 files changed, 213 insertions(+), 219 deletions(-) (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/latex/projlib/ProjLib-doc.dtx b/Master/texmf-dist/source/latex/projlib/ProjLib-doc.dtx index 6da315bd794..aafece21f65 100644 --- a/Master/texmf-dist/source/latex/projlib/ProjLib-doc.dtx +++ b/Master/texmf-dist/source/latex/projlib/ProjLib-doc.dtx @@ -91,7 +91,6 @@ %%================================ \providecommand{\ProjLibPackage}{\mbox{\textsf{ProjLib}}} \providecommand{\PJLtoolkit}{\mbox{\textsf{PJLtoolkit}}} -\providecommand{\PJLamssim}{\mbox{\textsf{PJLamssim}}} \providecommand{\PJLauthor}{\mbox{\textsf{PJLauthor}}} \providecommand{\PJLdatePackage}{\mbox{\textsf{PJLdate}}} \providecommand{\PJLdraft}{\mbox{\textsf{PJLdraft}}} @@ -109,7 +108,7 @@ %<*ProjLib-doc-cn> \title{\ProjLib{} 工具集\\[.3\baselineskip]\normalsize 使用指南} \author{许锦文} -\thanks{对应版本.~~\texttt{\ProjLib{}~2021/07/23}} +\thanks{对应版本.~~\texttt{\ProjLib{}~2021/07/27}} \email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}} \date{2021年7月,北京} % @@ -117,7 +116,7 @@ %<*ProjLib-doc-en> \title{\ProjLib{}~\,Toolkit\\[.3\baselineskip]\normalsize User Manual} \author{Jinwen XU} -\thanks{Corresponding to: \texttt{\ProjLib{}~2021/07/23}} +\thanks{Corresponding to: \texttt{\ProjLib{}~2021/07/27}} \email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}} \date{July 2021, Beijing} % @@ -125,7 +124,7 @@ %<*ProjLib-doc-fr> \title{La boîte à outils~\,\ProjLib{}\\[.3\baselineskip]\normalsize Manuel d'utilisation} \author{Jinwen XU} -\thanks{Correspondant à : \texttt{\ProjLib{}~2021/07/23}} +\thanks{Correspondant à : \texttt{\ProjLib{}~2021/07/27}} \email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}} \date{juillet 2021, à Pékin} % @@ -429,7 +428,7 @@ Pour une description détaillée de cette commande et d'autres commandes associ ... \end{code} -另外,如果开启 \AmS{} 风格\footnote{这是由 \PJLamssim{} 模块实现的。由于这一模块修改了\LaTeX{} 的一些内部指令,有可能与一些宏包或文档类发生冲突,因此没有默认启用。},那么文章中还可以采用 \AmS{} 文档类的写法 (此时原始的写法也是成立的)。为此,引入 \ProjLibPackage{} 时应该加入 \texttt{amsfashion} 选项: +另外,如果开启 \AmS{} 风格,那么文章中还可以采用 \AmS{} 文档类的写法 (此时原始的写法也是成立的)。为此,引入 \ProjLibPackage{} 时应该加入 \texttt{amsfashion} 选项\footnote{由于这一选项会修改\LaTeX{} 的一些内部指令,有可能与一些宏包或文档类发生冲突,因此没有默认启用。}: \begin{code} \usepackage[amsfashion,palatino]{ProjLib} \end{code} @@ -468,7 +467,7 @@ This part is the title and author information block. The example shows the most ... \end{code} -In addition, if the \AmS{} simulation is enabled\footnote{This is achieved by the module \PJLamssim{}. Since this module modifies some internal macros of \LaTeX{}, it may conflict with some packages or document classes, and thus it is not enabled by default.}, then you can also write in the \AmS{} fashion (the original way still works). In this case, the line that introduces \ProjLibPackage{} should be written as: +In addition, if the \AmS{} simulation is enabled, you can also write in the \AmS{} fashion (the original way still works). For this, you should add the package option \texttt{amsfashion}\footnote{Since this option modifies some internal macros of \LaTeX{}, it may conflict with some packages or document classes, and thus it is not enabled by default.}, \emph{i.e.}, the line that introduces \ProjLibPackage{} should be written as: \begin{code} \usepackage[amsfashion,palatino]{ProjLib} \end{code} @@ -507,7 +506,7 @@ Cette partie est le titre et le bloc d'informations de l'auteur. L'exemple montr ... \end{code} -De plus, si la simulation d'\AmS{} est activée\footnote{Ceci est réalisé par le module \PJLamssim{}. Étant donné que ce module modifie certaines macros internes de \LaTeX{}, il peut provoquer des conflits avec certains packages ou classes de documents, et donc il n'est pas activé par défaut.}, alors vous pouvez également écrire à la manière \AmS{} (la manière originale fonctionne encore). Dans ce cas, la ligne qui introduit \ProjLibPackage{} doit être écrite comme : +De plus, si la simulation d'\AmS{} est activée, alors vous pouvez également écrire à la manière \AmS{} (la manière originale fonctionne encore). Pour cela, vous devez ajouter l'option de package \texttt{amsfashion}\footnote{Étant donné que cette option modifie certaines macros internes de \LaTeX{}, elle peut entrer en conflit avec certains packages ou classes de documents, et n'est donc pas activée par défaut.}, c'est-à-dire que la ligne qui introduit \ProjLibPackage{} doit être écrite comme : \begin{code} \usepackage[amsfashion,palatino]{ProjLib} \end{code} @@ -602,15 +601,15 @@ Les environnements de type théorème couramment utilisés ont été prédéfini \end{itemize} \item \texttt{nothms}、\texttt{nothmnum}、\texttt{regionalref} \begin{itemize} - \item 来自 \PJLthm{} 的选项,详细信息请参阅有关这一宏包的小节。 + \item 来自用于设置定理类环境的组件 \PJLthm{} 的选项,详细信息请参阅有关这一宏包的小节。 \end{itemize} - \item \texttt{amsfashion} + \item \texttt{author} \begin{itemize} - \item 允许 \AmS{} 文档类的写法。与 \texttt{amssim} 选项相同。 + \item 加载用于增强作者信息块的组件 \PJLauthor{}。关于其详细功能,请参阅有关该宏包的小节。 \end{itemize} - \item \texttt{author}、\texttt{amssim} + \item \texttt{amsfashion} \begin{itemize} - \item 加载 \PJLauthor{} 或 \PJLamssim{}。关于其详细功能,请参阅有关相关宏包的小节。 + \item 允许 \AmS{} 文档类的写法。此时 \texttt{author} 选项会被自动开启。 \end{itemize} \end{itemize} 另外,还有一些组件的参数可以作为文档类的全局参数传递,例如 \texttt{EN} / \texttt{english} / \texttt{English}、\texttt{CN} / \texttt{chinese} / \texttt{Chinese} 等语言选项 (来自 \PJLlang{}),\texttt{paperstyle} 和 \texttt{preview} 等纸张选项 (来自 \PJLpaper{})。详细信息可以参阅对应的小节。 @@ -632,15 +631,15 @@ Les environnements de type théorème couramment utilisés ont été prédéfini \end{itemize} \item \texttt{nothms}, \texttt{nothmnum}, \texttt{regionalref} \begin{itemize} - \item Options from \PJLthm{}, please refer to the section on this package for details. + \item Options from the component \PJLthm{} used for setting theorem-like environments, please refer to the section on this package for details. \end{itemize} - \item \texttt{amsfashion} + \item \texttt{author} \begin{itemize} - \item Allow the user to write document in the \AmS{} fashion. Same as the option \texttt{amssim}. + \item Load the component \PJLauthor{} used to enhance the author information block. For more information about its functionality, see the section on this package. \end{itemize} - \item \texttt{author}, \texttt{amssim} + \item \texttt{amsfashion} \begin{itemize} - \item Load \PJLauthor{} or \PJLamssim{}. For more information about their functionality, see the section on the corresponding package. + \item Allow the user to write document in the \AmS{} fashion. In the mean time, the option \texttt{author} will be automatically turned on. \end{itemize} \end{itemize} In addition, there are also some options of the components that should be passed as global options of your document class, such as the language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French} etc.\,of \PJLlang{}, \\and \texttt{paperstyle}, \texttt{preview} of \PJLpaper{}. For more information, please refer to the corresponding sections. @@ -662,70 +661,32 @@ In addition, there are also some options of the components that should be passed \end{itemize} \item \texttt{nothms}, \texttt{nothmnum}, \texttt{regionalref} \begin{itemize} - \item Options de \PJLthm{}, veuillez vous référer à la section sur ce package pour plus de détails. + \item Options du composant \PJLthm{} utilisé pour définir des environnements de type théorème, veuillez vous référer à la section sur ce package pour plus de détails. \end{itemize} - \item \texttt{amsfashion} + \item \texttt{author} \begin{itemize} - \item Permet à l'utilisateur d'écrire à la manière \AmS{}. Identique à l'option \texttt{amssim}. + \item Utilisez le composant \PJLauthor{} pour enrichir le bloc d'informations sur l'auteur. Pour plus d'informations sur ses fonctionnalités, consultez la section sur ce package. \end{itemize} - \item \texttt{author}, \texttt{amssim} + \item \texttt{amsfashion} \begin{itemize} - \item Utilisez \PJLauthor{} ou \PJLamssim{}. Pour plus d'informations sur leurs fonctionnalités, consultez la section sur les packages correspondants. + \item Permet à l'utilisateur d'écrire à la manière \AmS{}. En attendant, l'option \texttt{author} sera automatiquement activée. \end{itemize} \end{itemize} De plus, il existe également certaines options des composants qui doivent être passées en tant qu'options globales de votre classe de document, telles que les options de langue de \PJLlang{} comme \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French} etc., et les options de papier de \PJLpaper{} comme \texttt{paperstyle} et \texttt{preview}. Pour plus d'informations, veuillez vous référer aux sections correspondantes. % \clearpage + %<*ProjLib-doc-cn> \section{具体组件} - -\subsection{PJLamssim:以 \texorpdfstring{\AmS}{AMS} 方式写作} - -\PJLamssim{} 用于模拟 \textsf{amsart} 文档类的部分功能,包括: -\begin{itemize} - \item \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email|、\lstinline|\dedicatory| 命令 (前三者由 \PJLauthor{} 提供) - \item \lstinline|\keywords| 命令 - \item \lstinline|\subjclass| 命令 - \item \lstinline|\thanks| 可以写在 \lstinline|\author| 之外 - \item \lstinline|abstract| 环境可以放在 \lstinline|\maketitle| 的前面 -\end{itemize} - -这些功能只在标准文档类中启用。在 \AmS{} 文档类中,\PJLamssim{} 不会起到任何效果。 % % %<*ProjLib-doc-en> \section{The components} - -\subsection{PJLamssim: writing in \texorpdfstring{\AmS}{AMS} fashion} - -\PJLamssim{} is used to simulate some features of the \textsf{amsart} class in a standard class, including: -\begin{itemize} - \item the macros \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| and \lstinline|\dedicatory| (the first three are provided by \PJLauthor{}); - \item the macro \lstinline|\keywords|; - \item the macro \lstinline|\subjclass|; - \item \lstinline|\thanks| can be written outside \lstinline|\author|; - \item The \lstinline|abstract| environment can be placed before \lstinline|\maketitle|. -\end{itemize} - -These modifications would only take place in standard classes. In the \AmS{} classes, \PJLamssim{} does not have any effect. % % %<*ProjLib-doc-fr> \section{Les composants} - -\subsection{PJLamssim : écrire de la manière \texorpdfstring{\AmS}{AMS}} - -\PJLamssim{} est utilisé pour simuler certaines fonctionnalités de la classe \textsf{amsart} dans une classe standard, notamment : -\begin{itemize} - \item les macros \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| et \lstinline|\dedicatory| (les trois premiers sont fournis par \PJLauthor{}); - \item la macro \lstinline|\keywords|; - \item la macro \lstinline|\subjclass|; - \item \lstinline|\thanks| peut être écrit en dehors de \lstinline|\author|; - \item La environnement \lstinline|abstract| peut être placé avant \lstinline|\maketitle|. -\end{itemize} - -Ces modifications n'auraient lieu que dans les classes standard. Dans les classes \AmS{}, \PJLamssim{} n'a aucun effet. % %<*ProjLib-doc-cn> @@ -742,6 +703,18 @@ Ces modifications n'auraient lieu que dans les classes standard. Dans les classe ... \end{code} 其中 \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email| 的相互顺序是不重要的。 + +\medskip +另外,你可以通过选项 \texttt{amsfashion} 以使用 \AmS{} 方式写作。具体来说,效果为: +\begin{itemize} + \item 提供 \lstinline|\dedicatory|、\lstinline|\keywords| 及 \lstinline|\subjclass| 命令 + \item \lstinline|\thanks| 可以写在 \lstinline|\author| 之外 + \item \lstinline|abstract| 环境可以放在 \lstinline|\maketitle| 的前面 +\end{itemize} + +\begin{tip}[注意] + 这些功能只在标准文档类中启用。在 \AmS{} 文档类中,\PJLauthor{} 不会起到任何效果。 +\end{tip} % % %<*ProjLib-doc-en> @@ -758,6 +731,18 @@ Ces modifications n'auraient lieu que dans les classes standard. Dans les classe ... \end{code} The mutual order of \lstinline|\address|, \lstinline|\curraddr| and \lstinline|\email| is not important. + +\medskip +In addition, you can use the option \texttt{amsfashion} to enable the \AmS{} fashion. More specifically, the effect is: +\begin{itemize} + \item Provides the macros \lstinline|\dedicatory|, \lstinline|\keywords| and \lstinline|\subjclass|; + \item \lstinline|\thanks| can be written outside \lstinline|\author|; + \item The \lstinline|abstract| environment can be placed before \lstinline|\maketitle|. +\end{itemize} + +\begin{tip}[Attention] + These modifications would only take place in standard classes. In the \AmS{} classes, \PJLauthor{} does not have any effect. +\end{tip} % % %<*ProjLib-doc-fr> @@ -774,6 +759,18 @@ The mutual order of \lstinline|\address|, \lstinline|\curraddr| and \lstinline|\ ... \end{code} L'ordre mutuel de \lstinline|\address|, \lstinline|\curraddr| et \lstinline|\email| n'est pas important. + +\medskip +De plus, vous pouvez utiliser l'option \texttt{amsfashion} pour écrire à la manière \AmS{}. Plus précisément, l'effet est : +\begin{itemize} + \item Fournit les macros \lstinline|\dedicatory|, \lstinline|\keywords| et \lstinline|\subjclass|; + \item \lstinline|\thanks| peut être écrit en dehors de la macro \lstinline|\author|; + \item La environnement \lstinline|abstract| peut être placé avant \lstinline|\maketitle|. +\end{itemize} + +\begin{tip}[Attention] + Ces modifications n'auraient lieu que dans les classes standard. Dans les classes \AmS{}, \PJLauthor{} n'a aucun effet. +\end{tip} % %<*ProjLib-doc-cn> @@ -1079,7 +1076,7 @@ Par exemple, \lstinline|\AddLanguageSetting(German){\color{orange}}| peut rendre \PJLmath{} 提供下列捷径: \begin{enumerate}[label=\roman*)] - \item \lstinline|\mathfrak{|$\cdot$\lstinline|}| $\longrightarrow$ \lstinline|\mf|$\cdot$ 或 \lstinline|\frak|$\cdot$。例如,\lstinline|\mfA| (或 \lstinline|\mf{A}|) 与 \lstinline|\mathfrak{A}| 效果相同. 这对大写、小写字母都有效: + \item \lstinline|\mathfrak{|$\cdot$\lstinline|}| $\longrightarrow$ \lstinline|\mf|$\cdot$ 或 \lstinline|\frak|$\cdot$。例如,\lstinline|\mfA| (或 \lstinline|\mf{A}|) 与 \lstinline|\mathfrak{A}| 效果相同. 这对大写、小写字母都有效:\vspace{-\baselineskip} \begin{align*} \mfa\mfb\mfc\mfd\mfe\mff\mfg\mfh\mfi\mfj\mfk\mfl\mfm\mfn&\mfo\mfp\mfq\mfr\mfs\mft\mfu\mfv\mfw\mfx\mfy\mfz\\ \mfA\mfB\mfC\mfD\mfE\mfF\mfG\mfH\mfI\mfJ\mfK\mfL\mfM\mfN&\mfO\mfP\mfQ\mfR\mfS\mfT\mfU\mfV\mfW\mfX\mfY\mfZ @@ -1110,8 +1107,8 @@ Par exemple, \lstinline|\AddLanguageSetting(German){\color{orange}}| peut rendre \lstinline|\injection| & \lstinline|\injection| $\rightarrow ~\injection$ & 表示单射的箭头符号 \\ \lstinline|\surjection| & \lstinline|\surjection| $\rightarrow ~\surjection$ & 表示满射的箭头符号 \\ \lstinline|\bijection| & \lstinline|\bijection| $\rightarrow ~\bijection$ & 表示双射的箭头符号 \\ -\lstinline|\legendre| & \lstinline|\legendre{a}{p}| $\rightarrow \legendre{a}{p}$ & Legendre 符号 \\ -& \lstinline|\legendre[z]{a}{p}| $\rightarrow \legendre[z]{a}{p}$ & \\ +% \lstinline|\legendre| & \lstinline|\legendre{a}{p}| $\rightarrow \legendre{a}{p}$ & Legendre 符号 \\ +% & \lstinline|\legendre[z]{a}{p}| $\rightarrow \legendre[z]{a}{p}$ & \\ % \lstinline|\tlegendre| & \lstinline|\tlegendre{a}{p}| $\rightarrow \tlegendre{a}{p}$ & Legendre 符号 (text style) \\ % \lstinline|\dlegendre| & \lstinline|\dlegendre{a}{p}| $\rightarrow \dlegendre{a}{p}$ & Legendre 符号 (display style) \\ \end{longtable} @@ -1154,8 +1151,8 @@ In addition, \PJLmath{} also provides some math symbols that are not by default \lstinline|\injection| & \lstinline|\injection| $\rightarrow ~\injection$ & arrow symbol for injection \\ \lstinline|\surjection| & \lstinline|\surjection| $\rightarrow ~\surjection$ & arrow symbol for surjection \\ \lstinline|\bijection| & \lstinline|\bijection| $\rightarrow ~\bijection$ & arrow symbol for bijection \\ -\lstinline|\legendre| & \lstinline|\legendre{a}{p}| $\rightarrow \legendre{a}{p}$ & Legendre symbol \\ -& \lstinline|\legendre[z]{a}{p}| $\rightarrow \legendre[z]{a}{p}$ & \\ +% \lstinline|\legendre| & \lstinline|\legendre{a}{p}| $\rightarrow \legendre{a}{p}$ & Legendre symbol \\ +% & \lstinline|\legendre[z]{a}{p}| $\rightarrow \legendre[z]{a}{p}$ & \\ % \lstinline|\tlegendre| & \lstinline|\tlegendre{a}{p}| $\rightarrow \tlegendre{a}{p}$ & Legendre symbol (text style) \\ % \lstinline|\dlegendre| & \lstinline|\dlegendre{a}{p}| $\rightarrow \dlegendre{a}{p}$ & Legendre symbol (display style) \\ \end{longtable} @@ -1199,13 +1196,14 @@ De plus, \PJLmath{} fournit également des symboles mathématiques qui ne sont p \lstinline|\injection| & \lstinline|\injection| $\rightarrow ~\injection$ & symbole de flèche pour l'injection \\ \lstinline|\surjection| & \lstinline|\surjection| $\rightarrow ~\surjection$ & symbole de flèche pour la surjection \\ \lstinline|\bijection| & \lstinline|\bijection| $\rightarrow ~\bijection$ & symbole de flèche pour la bijection \\ -\lstinline|\legendre| & \lstinline|\legendre{a}{p}| $\rightarrow \legendre{a}{p}$ & Symbole Legendre \\ -& \lstinline|\legendre[z]{a}{p}| $\rightarrow \legendre[z]{a}{p}$ & \\ +% \lstinline|\legendre| & \lstinline|\legendre{a}{p}| $\rightarrow \legendre{a}{p}$ & Symbole Legendre \\ +% & \lstinline|\legendre[z]{a}{p}| $\rightarrow \legendre[z]{a}{p}$ & \\ % \lstinline|\tlegendre| & \lstinline|\tlegendre{a}{p}| $\rightarrow \tlegendre{a}{p}$ & Symbole Legendre (text-style) \\ % \lstinline|\dlegendre| & \lstinline|\dlegendre{a}{p}| $\rightarrow \dlegendre{a}{p}$ & Symbole Legendre (display-style) \\ \end{longtable} % +\clearpage %<*ProjLib-doc-cn> \subsection{PJLpaper:纸张设置} diff --git a/Master/texmf-dist/source/latex/projlib/ProjLib.dtx b/Master/texmf-dist/source/latex/projlib/ProjLib.dtx index 634c1961561..59be20a95ba 100644 --- a/Master/texmf-dist/source/latex/projlib/ProjLib.dtx +++ b/Master/texmf-dist/source/latex/projlib/ProjLib.dtx @@ -18,72 +18,172 @@ % %<*ProjLib> \ProvidesPackage{ProjLib} - [2021/07/23 The collective interface of ProjLib toolkit] + [2021/07/27 The collective interface of ProjLib toolkit] % % -%<*PJLamssim> -\ProvidesPackage{PJLamssim} - [2021/07/23 Simulate some features of amsart] -% -% %<*PJLauthor> \ProvidesPackage{PJLauthor} - [2021/07/23 Enhanced author information block] + [2021/07/27 Enhanced author information block] % % %<*PJLdate> \ProvidesPackage{PJLdate} - [2021/07/23 Convert yyyy-mm-dd to normal datetime format] + [2021/07/27 Convert yyyy-mm-dd to normal datetime format] % % %<*PJLdraft> \ProvidesPackage{PJLdraft} - [2021/07/23 Some useful macros for the draft stage] + [2021/07/27 Some useful macros for the draft stage] % % %<*PJLlang> \ProvidesPackage{PJLlang} - [2021/07/23 Multi-language configuration] + [2021/07/27 Multi-language configuration] % % %<*PJLlogo> \ProvidesPackage{PJLlogo} - [2021/07/23 The ProjLib logo] + [2021/07/27 The ProjLib logo] % % %<*PJLmath> \ProvidesPackage{PJLmath} - [2021/07/23 Useful math macros and shortcuts] + [2021/07/27 Useful math macros and shortcuts] % % %<*PJLpaper> \ProvidesPackage{PJLpaper} - [2021/07/23 Paper style configuration] + [2021/07/27 Paper style configuration] % % %<*PJLthm> \ProvidesPackage{PJLthm} - [2021/07/23 Theorem setup and configuration] + [2021/07/27 Theorem setup and configuration] % % -%<*PJLtoolkit> -\ProvidesPackage{PJLtoolkit} - [2021/07/23 Collective interface of ProjLib Toolkit] -% -% %# 下面两行引入宏包的代码是所有文件共用的。 %# The following two lines are common to all files. \RequirePackage{kvoptions} \RequirePackage{etoolbox} % -%<*PJLamssim> +%<*PJLauthor> %# 在 AMS 文档类中不执行任何操作 %# Do nothing if AMS class detected \ifdefined\subjclass\endinput\fi -%# 使用 PJLauthor 的作者块功能 -%# Use `PJLauthor`'s author block function -\RequirePackage{PJLauthor} +%# 这段代码定义了宏包中的选项。 +%# This code defines the options in the package. +\SetupKeyvalOptions{ + family = @PJLauthor, + prefix = @PJLauthor@, +} +%# 支持 AMS 风格 +%# Support AMS fashion +\DeclareBoolOption[false]{amsfashion} +%# 处理选项 +%# Process options +\ProcessKeyvalOptions*\relax + +%%================================ +%% Font and style +%%================================ +%# 各个作者信息元素的字体 +%# Font of the elements in the author block +\def\PJLauthor@font@author{\normalsize\normalfont\scshape} +\def\PJLauthor@font@address{\small\normalfont\itshape} +\def\PJLauthor@font@curraddr{\small\normalfont\itshape} +\def\PJLauthor@font@email{\small\normalfont\ttfamily} + +%%================================ +%% Lengths +%%================================ +%# author 和 address 之间的距离 +%# Space between author and address +\newlength{\PJLauthor@length@innersep} +\setlength{\PJLauthor@length@innersep}{.3\baselineskip} +%# 两个作者块之间的距离 +%# Space between different author blocks +\newlength{\PJLauthor@length@sep} +\setlength{\PJLauthor@length@sep}{.5\baselineskip} +%# 作者块和日期之间的距离 +%# Space between affiliation and date +\newlength{\PJLauthor@length@aftersep} +\setlength{\PJLauthor@length@aftersep}{.3\baselineskip} + +%%================================ +%% The macros +%%================================ +%# 用来记录当前是否有附加作者信息,以便调整距离 +%# To record whether there's affiliation so as to adjust the vertical space +\newif\if@PJLauthor@affilon +%# 作者 +%# author +\renewcommand*{\author}[1]{% + \gappto\@author{\phantom{A}\\[-\baselineskip]% + \vspace{\PJLauthor@length@sep}% + \PJLauthor@font@author{#1}\\\phantom{} + \@PJLauthor@affilonfalse}} +%# 地址 +%# address +\providecommand*{\address}[1]{% + \gappto\@author{\phantom{A}\\[-\baselineskip]% + \if@PJLauthor@affilon\else% + \vspace{\PJLauthor@length@innersep}% + \fi% + \@PJLauthor@affilontrue% + \PJLauthor@font@address{#1}\\\phantom{}}% +} +%# 当前地址 +%# curraddr +\providecommand*{\curraddr}[1]{% + \gappto\@author{\phantom{A}\\[-\baselineskip]% + \if@PJLauthor@affilon\else% + \vspace{\PJLauthor@length@innersep}% + \fi% + \@PJLauthor@affilontrue% + \PJLauthor@font@curraddr{#1}\\\phantom{}}% +} +%# 电子邮箱 +%# email +\providecommand*{\email}[1]{% + \gappto\@author{\phantom{A}\\[-\baselineskip]% + \if@PJLauthor@affilon\else% + \vspace{\PJLauthor@length@innersep}% + \fi% + \@PJLauthor@affilontrue% + \PJLauthor@font@email{#1}\\\phantom{}}% +} + +%%================================ +%% Adjustment +%%================================ +%# 去除 maketitle 中默认对 author 的处理 +%# Remove the tabular around \@author in maketitle +\patchcmd{\@maketitle}{\begin{tabular}[t]{c}}{}{}{} +\patchcmd{\@maketitle}{\end{tabular}}{}{}{} +%# 下面这一行是为了避免错误 "No \author given." +%# The follwing line is for avoiding the error "No \author given." +\def\@author{} +%# 修正作者块的前后等距离 +%# Adjust the spacing before and after the author block +\pretocmd{\@maketitle}{% + \pretocmd{\@author}{\vspace{-\PJLauthor@length@sep}}{}{\FAIL}% + \apptocmd{\@author}{% +% Fix the space caused by `\\\phantom{}` + \vspace{-\baselineskip}% + \if@PJLauthor@affilon% + \vspace{\PJLauthor@length@aftersep}% + \fi% + }{}{\FAIL}% +}{}{\FAIL} + +%# 若使用 AMS 风格 +%# If AMS fashion enabled +\if@PJLauthor@amsfashion + +%# 使用 PJLlang 以支持自动语言转换 +%# Use `PJLlang` to support automatic language conversion +\RequirePackage{PJLlang} \RequirePackage{calc} %# 设定带条件的加粗 @@ -257,105 +357,8 @@ \textup{2010} Mathematics Subject Classification} \@namedef{subjclassname@2020}{% \textup{2020} Mathematics Subject Classification} -% -% -%<*PJLauthor> -%# 在 AMS 文档类中不执行任何操作 -%# Do nothing if AMS class detected -\ifdefined\subjclass\endinput\fi - -%%================================ -%% Font and style -%%================================ -%# 各个作者信息元素的字体 -%# Font of the elements in the author block -\def\PJLauthor@font@author{\normalsize\normalfont\scshape} -\def\PJLauthor@font@address{\small\normalfont\itshape} -\def\PJLauthor@font@curraddr{\small\normalfont\itshape} -\def\PJLauthor@font@email{\small\normalfont\ttfamily} - -%%================================ -%% Lengths -%%================================ -%# author 和 address 之间的距离 -%# Space between author and address -\newlength{\PJLauthor@length@innersep} -\setlength{\PJLauthor@length@innersep}{.3\baselineskip} -%# 两个作者块之间的距离 -%# Space between different author blocks -\newlength{\PJLauthor@length@sep} -\setlength{\PJLauthor@length@sep}{.5\baselineskip} -%# 作者块和日期之间的距离 -%# Space between affiliation and date -\newlength{\PJLauthor@length@aftersep} -\setlength{\PJLauthor@length@aftersep}{.3\baselineskip} - -%%================================ -%% The macros -%%================================ -%# 用来记录当前是否有附加作者信息,以便调整距离 -%# To record whether there's affiliation so as to adjust the vertical space -\newif\if@PJLauthor@affilon -%# 作者 -%# author -\renewcommand*{\author}[1]{% - \gappto\@author{\phantom{A}\\[-\baselineskip]% - \vspace{\PJLauthor@length@sep}% - \PJLauthor@font@author{#1}\\\phantom{} - \@PJLauthor@affilonfalse}} -%# 地址 -%# address -\providecommand*{\address}[1]{% - \gappto\@author{\phantom{A}\\[-\baselineskip]% - \if@PJLauthor@affilon\else% - \vspace{\PJLauthor@length@innersep}% - \fi% - \@PJLauthor@affilontrue% - \PJLauthor@font@address{#1}\\\phantom{}}% -} -%# 当前地址 -%# curraddr -\providecommand*{\curraddr}[1]{% - \gappto\@author{\phantom{A}\\[-\baselineskip]% - \if@PJLauthor@affilon\else% - \vspace{\PJLauthor@length@innersep}% - \fi% - \@PJLauthor@affilontrue% - \PJLauthor@font@curraddr{#1}\\\phantom{}}% -} -%# 电子邮箱 -%# email -\providecommand*{\email}[1]{% - \gappto\@author{\phantom{A}\\[-\baselineskip]% - \if@PJLauthor@affilon\else% - \vspace{\PJLauthor@length@innersep}% - \fi% - \@PJLauthor@affilontrue% - \PJLauthor@font@email{#1}\\\phantom{}}% -} -%%================================ -%% Adjustment -%%================================ -%# 去除 maketitle 中默认对 author 的处理 -%# Remove the tabular around \@author in maketitle -\patchcmd{\@maketitle}{\begin{tabular}[t]{c}}{}{}{} -\patchcmd{\@maketitle}{\end{tabular}}{}{}{} -%# 下面这一行是为了避免错误 "No \author given." -%# The follwing line is for avoiding the error "No \author given." -\def\@author{} -%# 修正作者块的前后等距离 -%# Adjust the spacing before and after the author block -\pretocmd{\@maketitle}{% - \pretocmd{\@author}{\vspace{-\PJLauthor@length@sep}}{}{\FAIL}% - \apptocmd{\@author}{% -% Fix the space caused by `\\\phantom{}` - \vspace{-\baselineskip}% - \if@PJLauthor@affilon% - \vspace{\PJLauthor@length@aftersep}% - \fi% - }{}{\FAIL}% -}{}{\FAIL} +\fi % % %<*PJLdate> @@ -2121,18 +2124,17 @@ } % % -%<*ProjLib,PJLtoolkit> +%<*ProjLib> %# 这段代码定义了宏包中的选项。 %# This code defines the options in the package. \SetupKeyvalOptions{ - family = @PJLtoolkit, - prefix = @PJLtoolkit@, + family = @ProjLib, + prefix = @ProjLib@, } \DeclareBoolOption[false]{draft} \DeclareBoolOption[false]{fast} \DeclareBoolOption[false]{author} \DeclareBoolOption[false]{amsfashion} -\DeclareBoolOption[false]{amssim} \DeclareBoolOption[false]{nothms} \DeclareBoolOption[false]{nothmnum} \DeclareBoolOption[false]{regionalref} @@ -2147,38 +2149,36 @@ %# 下面的代码设定了选项之间的关系 %# The following code sets the relationship between options -\if@PJLtoolkit@draft - \@PJLtoolkit@fasttrue -\fi -\if@PJLtoolkit@amsfashion - \@PJLtoolkit@amssimtrue +\if@ProjLib@draft + \@ProjLib@fasttrue \fi %# 向组件传递一些参数 %# Pass some options to the components -\if@PJLtoolkit@fast +\if@ProjLib@fast \PassOptionsToPackage{fast}{PJLdate} \PassOptionsToPackage{fast}{PJLdraft} \PassOptionsToPackage{fast}{PJLlogo} \PassOptionsToPackage{fast}{PJLthm} \fi -\if@PJLtoolkit@nothms +\if@ProjLib@nothms \PassOptionsToPackage{nothms}{PJLthm} \fi -\if@PJLtoolkit@nothmnum +\if@ProjLib@nothmnum \PassOptionsToPackage{nothmnum}{PJLthm} \fi -\if@PJLtoolkit@regionalref +\if@ProjLib@regionalref \PassOptionsToPackage{regionalref}{PJLthm} \fi %# 加载不默认载入的组件 %# Load those components not by default loaded -\if@PJLtoolkit@author +\if@ProjLib@amsfashion + \PassOptionsToPackage{amsfashion}{PJLauthor} \RequirePackage{PJLauthor} \fi -\if@PJLtoolkit@amssim - \RequirePackage{PJLamssim} +\if@ProjLib@author + \RequirePackage{PJLauthor} \fi %# 加载组件 %# Load the components @@ -2196,7 +2196,7 @@ % A message can then be shown as: Font "(font name)" has been set \ifdefined\PJL@font@alreadyset\else -\if@PJLtoolkit@palatino +\if@ProjLib@palatino % \RequirePackage{amssymb} \RequirePackage{mathpazo} \PassOptionsToPackage{defaultsups}{newpxtext} @@ -2204,22 +2204,22 @@ % \RequirePackage{newpxmath} \let\openbox\relax \PJLsetlinespacing{\setstretch{1.07}} - \if@PJLtoolkit@useosf\useosf\fi + \if@ProjLib@useosf\useosf\fi \fi -\if@PJLtoolkit@times +\if@ProjLib@times % \RequirePackage{amssymb} \PassOptionsToPackage{defaultsups}{newtxtext} \RequirePackage{newtxtext} \RequirePackage{newtxmath} \let\openbox\relax \PJLsetlinespacing{\setstretch{1.00}} - \if@PJLtoolkit@useosf\useosf\fi + \if@ProjLib@useosf\useosf\fi \fi -\if@PJLtoolkit@garamond +\if@ProjLib@garamond % \RequirePackage{amssymb} - \if@PJLtoolkit@useosf\else + \if@ProjLib@useosf\else \PassOptionsToPackage{lining}{ebgaramond} \fi \RequirePackage{ebgaramond-maths} @@ -2228,12 +2228,12 @@ \PJLsetlinespacing{\setstretch{1.00}} \fi -\if@PJLtoolkit@biolinum +\if@ProjLib@biolinum % \RequirePackage{amssymb} % \RequirePackage{mathpazo} % \RequirePackage[sansmath]{libertinust1math} \ifPDFTeX - \if@PJLtoolkit@useosf + \if@ProjLib@useosf \PassOptionsToPackage{osf}{biolinum} \fi \RequirePackage{biolinum} @@ -2245,7 +2245,7 @@ BoldFont = LinBiolinum_RB.otf , ItalicFont = LinBiolinum_RI.otf , BoldItalicFont = LinBiolinum_RBO.otf, - \if@PJLtoolkit@useosf Numbers = OldStyle\fi ] + \if@ProjLib@useosf Numbers = OldStyle\fi ] \fi \PJLsetlinespacing{\setstretch{1.05}} \RequirePackage[italic,defaultmathsizes]{mathastext} @@ -2258,6 +2258,6 @@ %# 使用 microtype 优化排版细节 %# Use `microtype` to get details better \RequirePackage{microtype} -% +% \endinput \ No newline at end of file diff --git a/Master/texmf-dist/source/latex/projlib/ProjLib.ins b/Master/texmf-dist/source/latex/projlib/ProjLib.ins index 29806981d2a..014bdd86807 100644 --- a/Master/texmf-dist/source/latex/projlib/ProjLib.ins +++ b/Master/texmf-dist/source/latex/projlib/ProjLib.ins @@ -40,7 +40,6 @@ and version 1.3c or later is part of all distributions of LaTeX version \usepreamble\mypreamble \generate{\file{ProjLib.sty}{\from{ProjLib.dtx}{ProjLib}}} -\generate{\file{PJLamssim.sty}{\from{ProjLib.dtx}{PJLamssim}}} \generate{\file{PJLauthor.sty}{\from{ProjLib.dtx}{PJLauthor}}} \generate{\file{PJLdate.sty}{\from{ProjLib.dtx}{PJLdate}}} \generate{\file{PJLdraft.sty}{\from{ProjLib.dtx}{PJLdraft}}} @@ -49,7 +48,6 @@ and version 1.3c or later is part of all distributions of LaTeX version \generate{\file{PJLmath.sty}{\from{ProjLib.dtx}{PJLmath}}} \generate{\file{PJLpaper.sty}{\from{ProjLib.dtx}{PJLpaper}}} \generate{\file{PJLthm.sty}{\from{ProjLib.dtx}{PJLthm}}} -\generate{\file{PJLtoolkit.sty}{\from{ProjLib.dtx}{PJLtoolkit}}} \obeyspaces \Msg{*************************************************************} @@ -58,7 +56,6 @@ and version 1.3c or later is part of all distributions of LaTeX version \Msg{* files into a directory searched by TeX: *} \Msg{* *} \Msg{* ProjLib.sty *} -\Msg{* PJLamssim.sty *} \Msg{* PJLauthor.sty *} \Msg{* PJLdate.sty *} \Msg{* PJLdraft.sty *} @@ -67,7 +64,6 @@ and version 1.3c or later is part of all distributions of LaTeX version \Msg{* PJLmath.sty *} \Msg{* PJLpaper.sty *} \Msg{* PJLthm.sty *} -\Msg{* PJLtoolkit.sty *} \Msg{* *} \Msg{* Happy TeXing! *} \Msg{* *} -- cgit v1.2.3