summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty')
-rw-r--r--Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty245
1 files changed, 245 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty
new file mode 100644
index 00000000000..67e1dbd76b3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/projlib/old-modules/PJLauthor.sty
@@ -0,0 +1,245 @@
+%%
+%% This is file `PJLauthor.sty',
+%% generated with the docstrip utility.
+
+%% Copyright (C) 2021 by Jinwen XU
+%%
+%% This is part of the ProjLib Toolkit.
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\ProvidesPackage{PJLauthor}
+ [2021/12/16 Enhanced author information block]
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family = @PJLauthor,
+ prefix = @PJLauthor@,
+}
+\DeclareBoolOption[false]{amsfashion}
+\ProcessKeyvalOptions*\relax
+
+\ifdefined\subjclass\endinput\fi
+
+%%================================
+%% Font and style
+%%================================
+\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
+%%================================
+\newlength{\PJLauthor@length@innersep}
+\setlength{\PJLauthor@length@innersep}{.3\baselineskip}
+\newlength{\PJLauthor@length@sep}
+\setlength{\PJLauthor@length@sep}{.5\baselineskip}
+\newlength{\PJLauthor@length@aftersep}
+\setlength{\PJLauthor@length@aftersep}{.3\baselineskip}
+
+%%================================
+%% The macros
+%%================================
+\newif\if@PJLauthor@affilon
+\renewcommand*{\author}[1]{%
+ \gappto\@author{\phantom{A}\\[-\baselineskip]%
+ \vspace{\PJLauthor@length@sep}%
+ \PJLauthor@font@author{#1}\\\phantom{}
+ \@PJLauthor@affilonfalse}}
+\providecommand*{\address}[1]{%
+ \gappto\@author{\phantom{A}\\[-\baselineskip]%
+ \if@PJLauthor@affilon\else%
+ \vspace{\PJLauthor@length@innersep}%
+ \fi%
+ \@PJLauthor@affilontrue%
+ \PJLauthor@font@address{#1}\\\phantom{}}%
+}
+\providecommand*{\curraddr}[1]{%
+ \gappto\@author{\phantom{A}\\[-\baselineskip]%
+ \if@PJLauthor@affilon\else%
+ \vspace{\PJLauthor@length@innersep}%
+ \fi%
+ \@PJLauthor@affilontrue%
+ \PJLauthor@font@curraddr{#1}\\\phantom{}}%
+}
+\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
+%%================================
+\patchcmd{\@maketitle}{\begin{tabular}[t]{c}}{}{}{}
+\patchcmd{\@maketitle}{\end{tabular}}{}{}{}
+\def\@author{}
+\pretocmd{\@maketitle}{%
+ \pretocmd{\@author}{\vspace{-\PJLauthor@length@sep}}{}{\FAIL}%
+ \apptocmd{\@author}{%
+ \vspace{-\baselineskip}%
+ \if@PJLauthor@affilon%
+ \vspace{\PJLauthor@length@aftersep}%
+ \fi%
+ }{}{\FAIL}%
+}{}{\FAIL}
+
+\ifbool{@PJLauthor@amsfashion}{
+
+\RequirePackage{PJLlang}
+\RequirePackage{calc}
+
+\providecommand{\conditionalbfseries}{\bfseries}
+
+\def\keywordsnameEN{\textsc{Key words and phrases}}
+\def\keywordsnameFR{\textsc{Mots et phrases clés}}
+\def\keywordsnameDE{\textsc{Schlüsselwörter und Phrasen}}
+\def\keywordsnameIT{\textsc{Parole e frasi chiave}}
+\def\keywordsnamePT{\textsc{Palavras e frases chave}}
+\def\keywordsnameBR{\textsc{Palavras e frases chave}}
+\def\keywordsnameES{\textsc{Palabras y frases clave}}
+\def\keywordsnameCN{关键词}
+\def\keywordsnameTC{關鍵詞}
+\def\keywordsnameJP{キーワード}
+\def\keywordsnameRU{Ключевые слова и фразы}
+
+\def\PJL@keywords{}
+\providecommand*{\keywords}[1]{\def\PJL@keywords{#1}}
+
+\def\PJL@dedicatory{}
+\providecommand*{\dedicatory}[1]{\def\PJL@dedicatory{#1}}
+
+\AtEndPreamble{
+\let\footnotemark@PJLoriginal\footnotemark%
+\let\footnotemark\relax%
+\let\thanks@PJLoriginal\thanks%
+\newlength\PJL@starlength
+\setlength{\PJL@starlength}{\widthof{*}}
+\newcommand*{\PJL@prethanks}[1]{\thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}}
+\renewcommand*{\thanks}[1]{%
+ \ifx#1\@empty\else%
+ \apptocmd{\@title}{%
+ \thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}%
+ }{}{\FAIL}%
+ \fi}
+\let\author@PJLoriginal\author
+\renewcommand{\author}[1]{%
+ \author@PJLoriginal{%
+ \let\footnotemark\footnotemark@PJLoriginal%
+ \let\thanks\thanks@PJLoriginal%
+ #1%
+ \let\footnotemark\relax%
+ }%
+}
+}
+
+\let\abstract@PJLoriginal\abstract%
+\let\endabstract@PJLoriginal\endabstract%
+\newif\if@PJLauthor@maketitle\@PJLauthor@maketitlefalse
+\newif\if@PJLauthor@absbefore\@PJLauthor@absbeforefalse
+\RequirePackage{fancyvrb}
+\providecommand*\protected@iwrite[3]{%
+ \begingroup
+ \let\thepage\relax
+ #2%
+ \let\protect\@unexpandable@protect
+ \edef\reserved@a{\immediate\write#1{#3}}\reserved@a
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi
+}
+\patchcmd{\FVB@VerbatimOut}
+ {\immediate\write\FV@OutFile}
+ {\protected@iwrite\FV@OutFile{}}
+ {}{}
+\renewenvironment{abstract}{%
+ \VerbatimOut{\jobname.pjlabs}%
+}{
+ \endVerbatimOut%
+ \if@PJLauthor@maketitle%
+ \begin{abstract@PJLoriginal}%
+ \input{\jobname.pjlabs}%
+ \end{abstract@PJLoriginal}%
+ % \ifx\PJL@keywords\@empty\else%
+ % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PJL@keywords%
+ % \fi%
+ \else%
+ \global\@PJLauthor@absbeforetrue%
+ \fi%
+}
+
+\AtEndPreamble{%
+\patchcmd{\@maketitle}{\@date}{%
+ \ifx\@date\@empty\vspace{-2\baselineskip}%
+ \else\@date\fi%
+ \ifx\PJL@dedicatory\@empty\else%
+ \ifx\@date\@empty\vspace{2\baselineskip}\fi%
+ \par\vspace{-\parskip}\bigskip%
+ {\itshape\PJL@dedicatory}%
+ \ifx\@date\@empty%
+ \vspace{-1.7\baselineskip}%
+ \vspace{-\parskip}%
+ \fi%
+ \fi%
+}{}{\FAIL}
+\pretocmd{\maketitle}{%
+ \ifx\PJL@keywords\@empty\else%
+ \PJL@prethanks{{\protect\conditionalbfseries%
+ \csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}%
+ ~\PJL@keywords}%
+ \fi}{}{\FAIL}
+\apptocmd{\maketitle}{%
+ \if@PJLauthor@absbefore%
+ \begin{abstract@PJLoriginal}%
+ \input{\jobname.pjlabs}%
+ % \ifx\PJL@keywords\@empty\else%
+ % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PJL@keywords%
+ % \fi%
+ \end{abstract@PJLoriginal}%
+ \fi%
+ \global\let\address\relax
+ \global\let\curraddr\relax
+ \global\let\email\relax
+ \global\let\dedicatory\relax
+ \global\let\keywords\relax
+ \global\@PJLauthor@maketitletrue
+}{}{\FAIL}
+}
+
+\newcommand*\subjclass[2][2020]{%
+ \def\@subjclass{#2}%
+ \@ifundefined{subjclassname@#1}{%
+ \ClassWarning{\@currname}{Unknown edition (#1) of Mathematics
+ Subject Classification; using '2020'}%
+ \expandafter\let\expandafter\subjclassname\csname subjclassname@2020\endcsname
+ }{%
+ \expandafter\let\expandafter\subjclassname\csname subjclassname@#1\endcsname
+ }%
+ \PJL@prethanks{{\itshape\subjclassname.}\enspace\@subjclass{}.}
+}
+\@namedef{subjclassname@1991}{%
+ \textup{1991} Mathematics Subject Classification}
+\@namedef{subjclassname@2000}{%
+ \textup{2000} Mathematics Subject Classification}
+\@namedef{subjclassname@2010}{%
+ \textup{2010} Mathematics Subject Classification}
+\@namedef{subjclassname@2020}{%
+ \textup{2020} Mathematics Subject Classification}
+
+}
+
+\endinput
+%%
+%% End of file `PJLauthor.sty'.