Isabelle_DOF/document-generator/latex/DOF-scholarly_paper-lncs.sty

119 lines
3.6 KiB
TeX

%% Copyright (C) 2018 The University of Sheffield
%% 2018 The University of Paris-Sud
%%
%% License:
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt; either
%% version 1 of the License, or any later version.
%% OR
%% The 2-clause BSD-style license.
%%
%% SPDX-License-Identifier: LPPL-1.0+ OR BSD-2-Clause
\NeedsTeXFormat{LaTeX2e}\relax
\ProvidesPackage{DOF-scholarly_paper-lncs}
[0000/00/00 Unreleased v0.0.0+%
Document-Type Support Framework for Isabelle (LNCS).]
\RequirePackage{DOF}
\newkeycommand\isaDofSectionIntroduction[label=,type=,main_author=,fixme_list=][1]{%
\isamarkupfalse\isamarkupsection{#1}\label{\commandkey{label}}\isamarkuptrue%
}
\newkeycommand\isaDofSectionExample[label=,type=,main_author=,fixme_list=][1]{%
\isamarkupfalse\isamarkupsection{#1}\label{\commandkey{label}}\isamarkuptrue%
}
\newkeycommand\isaDofSectionTechnical[label=,type=,main_author=,fixme_list=][1]{%
\isamarkupfalse\isamarkupsection{#1}\label{\commandkey{label}}\isamarkuptrue%
}
\newkeycommand\isaDofSectionConclusion[label=,type=,main_author=,fixme_list=][1]{%
\isamarkupfalse\isamarkupsection{#1}\label{\commandkey{label}}\isamarkuptrue%
}
\newkeycommand\isaDofSubSectionIntroduction[label=,type=][1]{%
\isamarkupfalse\isamarkupsubsection{#1}\label{\commandkey{label}}\isamarkuptrue%
}
\newkeycommand\isaDofSubSectionExample[label=,type=][1]{%
\isamarkupfalse\isamarkupsubsection{#1}\label{\commandkey{label}}\isamarkuptrue%
}
\newkeycommand\isaDofSubSectionTechnical[label=,type=][1]{%
\isamarkupfalse\isamarkupsubsection{#1}\label{\commandkey{label}}\isamarkuptrue%
}
\newkeycommand\isaDofSubSectionConclusion[label=,type=][1]{%
\isamarkupfalse\isamarkupsubsection{#1}\label{\commandkey{label}}\isamarkuptrue%
}
\newkeycommand\isaDofTextIntroduction[label=,type=,keywordlist=][1]{%
\begin{isamarkuptext}%
#1
\end{isamarkuptext}%
}
\newkeycommand\isaDofTextAbstract[label=,type=,keywordlist=][1]{%
\begin{isamarkuptext}%
\begin{abstract}%
#1%
\ifthenelse{\equal{\commandkey{keywordlist}}{}}{}{%
\mbox{}\\\medskip\noindent{\textbf{Keywords:}} \commandkey{keywordlist}%
}%
\end{abstract}%
\end{isamarkuptext}%
}
\def\dof@author{}%
\def\dof@affiliation{}%
\AtBeginDocument{%
\author{\dof@author}
\institute{\dof@affiliation}
}
\def\leftadd#1#2{\expandafter\leftaddaux\expandafter{#1}{#2}{#1}}
\def\leftaddaux#1#2#3{\gdef#3{#1#2}}
\newcounter{dof@cnt@author}
\newcommand{\addauthor}[1]{%
\ifthenelse{\equal{\dof@author}{}}{%
\gdef\dof@author{#1}%
}{%
\leftadd\dof@author{\protect\and #1}%
}
}
\newcommand{\addaffiliation}[1]{%
\ifthenelse{\equal{\dof@affiliation}{}}{%
\gdef\dof@affiliation{#1}%
}{%
\leftadd\dof@affiliation{\protect\and #1}%
}
}
\newkeycommand\isaDofTextAuthor[label=,type=,email=,affiliation=,orcid=][1]{%
\stepcounter{dof@cnt@author}
\def\dof@a{\commandkey{affiliation}}
\ifthenelse{\equal{\commandkey{orcid}}{}}{%
\immediate\write\@auxout{\noexpand\addauthor{#1\noexpand\inst{\thedof@cnt@author}}}%
}{%
\immediate\write\@auxout{\noexpand\addauthor{#1\noexpand\inst{\thedof@cnt@author}\orcidID{\commandkey{orcid}}}}%
}
\protected@write\@auxout{}{\string\addaffiliation{\dof@a\\\string\email{\commandkey{email}}}}%
}
\newkeycommand\isaDofTextSubtitle[label=,type=,keywordlist=][1]{%
\immediate\write\@auxout{\noexpand\subtitle{#1}}%
}
\newkeycommand\isaDofTextTitle[label=,type=,keywordlist=][1]{%
\immediate\write\@auxout{\noexpand\title{#1}}%
}