summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tlc-article
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-06-23 20:57:37 +0000
committerKarl Berry <karl@freefriends.org>2019-06-23 20:57:37 +0000
commit15991533e2ebd1c5de20d764410d809fb1a6ba56 (patch)
tree0d4801187bff854d3eb3b0be3aeaa687b2a0edee /Master/texmf-dist/tex/latex/tlc-article
parentd13f4aa60ac176e565e64bddd1c59f089551b2d0 (diff)
tlc-article (23jun19)
git-svn-id: svn://tug.org/texlive/trunk@51431 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tlc-article')
-rw-r--r--Master/texmf-dist/tex/latex/tlc-article/tlc-article.cls358
1 files changed, 191 insertions, 167 deletions
diff --git a/Master/texmf-dist/tex/latex/tlc-article/tlc-article.cls b/Master/texmf-dist/tex/latex/tlc-article/tlc-article.cls
index 84274948c8a..56fbc276888 100644
--- a/Master/texmf-dist/tex/latex/tlc-article/tlc-article.cls
+++ b/Master/texmf-dist/tex/latex/tlc-article/tlc-article.cls
@@ -1,86 +1,100 @@
% ------------------------------------------------------------------------------
-% Class: tlc-article
+% Class:
+% tlc-article
%
-% Purpose: This LaTeX class provides an article implementation that standardizes
-% a document layout intended for formal documents.
+% Purpose:
+% This LaTeX class provides an article implementation that standardizes
+% a document layout intended for formal documents.
% ------------------------------------------------------------------------------
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{tlc-article}[2018/05/30 v1.0.10 Traap LaTeX Class Article]
+\NeedsTeXFormat{LaTeX2e}%
+\ProvidesClass{tlc-article}[2019/06/20 v1.0.17 Traap LaTeX Class Article]%
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
-\ProcessOptions
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}%
+\ProcessOptions%
-\LoadClass{article}
+\LoadClass{article}%
% ------------------------------------------------------------------------------
% Page layout
-\RequirePackage{parskip} % Blank line after section break.
-\RequirePackage[a4paper,top=1.0in,bottom=1.0in,left=1.0in,right=1.0in]{geometry}
-\RequirePackage{multicol}
-\setlength{\parskip}{0.5em}
+% \RequirePackage{parskip}% Blank line after section break.
+\RequirePackage[a4paper,top=1.0in,bottom=1.0in,left=1.0in,right=1.0in]{geometry}%
+\RequirePackage{multicol}%
+% \setlength{\parskip}{0.5em}%
% ------------------------------------------------------------------------------
-% Fonts etc.
-\RequirePackage{lmodern}
-\RequirePackage[T1]{fontenc}
-\RequirePackage{textcomp}
+% Required parts to use glossaries must come first.
+\RequirePackage{lmodern}%
+\RequirePackage[T1]{fontenc}%
+\RequirePackage{textcomp}%
+\RequirePackage[utf8]{inputenc}%
+\RequirePackage[colorlinks]{hyperref}%
+\RequirePackage{bookmark}%
+% ------------------------------------------------------------------------------
+% Define glossaries.
+\RequirePackage[acronym, % create 'acronym' glossary type,
+ nopostdot, %
+ nonumberlist, %
+ style=altlist,% use altlist style
+ toc, % add the gloassary to the table of contents.
+ ]{glossaries}%
% ------------------------------------------------------------------------------
% Color, Graphics and links.
-\RequirePackage{graphicx}
-\RequirePackage[table]{xcolor}
-\definecolor{darkblue}{rgb}{0,0,0.5}
+\RequirePackage{graphicx}%
+\RequirePackage[table]{xcolor}%
+\definecolor{darkblue}{rgb}{0,0,0.5}%
% ------------------------------------------------------------------------------
% Listings and verbatim
-\RequirePackage{listings}
-\RequirePackage{spverbatim}
+\RequirePackage{listings}%
+\RequirePackage{spverbatim}%
% ------------------------------------------------------------------------------
% Arrays, list and tables
-\RequirePackage{array}
-\RequirePackage{csvsimple}
-\RequirePackage{enumitem}
-\RequirePackage{longtable}
-\RequirePackage{makecell}
-\RequirePackage{tabularx}
-\setlength{\parindent}{0pt}
+\RequirePackage{array}%
+\RequirePackage{csvsimple}%
+\RequirePackage{enumitem}%
+\RequirePackage{longtable}%
+\RequirePackage{makecell}%
+\RequirePackage{tabularx}%
+\setlength{\parindent}{0pt}%
% ------------------------------------------------------------------------------
% pdf
-\RequirePackage{pdflscape}
-\RequirePackage{pdfpages}
+\RequirePackage{pdflscape}%
+\RequirePackage{pdfpages}%
% ------------------------------------------------------------------------------
% Misc
-\RequirePackage[toc,page]{appendix}
+\RequirePackage[toc,page]{appendix}%
+\RequirePackage{todonotes}%
% ------------------------------------------------------------------------------
% This function is used to simplify making textcolor darkblue.
-\newcommand{\tlcDarkblue}[1]{\textcolor{darkblue}{#1}}
+\newcommand{\tlcDarkblue}[1]{\textcolor{darkblue}{#1}}%
% ------------------------------------------------------------------------------
% Define the optional input files.
-\def\tlc@location{data}
-\def\tlc@logoFile{\tlc@location/logo.png}
-\def\tlc@versionFile{\tlc@location/version.csv}
-\def\tlc@additionalLayout{\tlc@location/additional-layout.tex}
-\def\tlc@headerFooter{\tlc@location/header-footer.tex}
+\def\tlc@location{data}%
+\def\tlc@logoFile{\tlc@location/logo.png}%
+\def\tlc@versionFile{\tlc@location/version.csv}%
+\def\tlc@additionalLayout{\tlc@location/additional-layout.tex}%
+\def\tlc@headerFooter{\tlc@location/header-footer.tex}%
% New column types: L, C, and R are Left, Center, and Right, respectively are
% designed to use with longtable. Data is wrapped within a table cell. The
% parameter defines the column width. As an example, L{2cm} yields a Left
% aligned, ragged right, wrapped text within a 2cm wide cell.
-\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash}p{#1}}
-\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash}p{#1}}
-\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash}p{#1}}
+\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash}p{#1}}%
+\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash}p{#1}}%
+\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash}p{#1}}%
% ------------------------------------------------------------------------------
% We define colors that we would like to use throughout our documents.
-\definecolor{codegreen}{rgb}{0,0.6,0}
-\definecolor{codegray}{rgb}{0.5,0.5,0.5}
-\definecolor{codepurple}{rgb}{0.58,0,0.82}
-\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
+\definecolor{codegreen}{rgb}{0,0.6,0}%
+\definecolor{codegray}{rgb}{0.5,0.5,0.5}%
+\definecolor{codepurple}{rgb}{0.58,0,0.82}%
+\definecolor{backcolour}{rgb}{0.95,0.95,0.92}%
% ------------------------------------------------------------------------------
% tlcBeginLandscape and tlcEndLandscape are two new commands used to simplify
@@ -92,21 +106,21 @@
\newcommand{\tlcEndLandscape}{%
\restoregeometry%
\end{landscape}%
-}
+}%
% ------------------------------------------------------------------------------
% We want our table of contents to use dots as a leader.
-\RequirePackage{tocloft}
-\renewcommand\cftsecleader{\cftdotfill{\cftdotsep}}
+\RequirePackage{tocloft}%
+\renewcommand\cftsecleader{\cftdotfill{\cftdotsep}}%
% ------------------------------------------------------------------------------
% We want to allow the calling document to setup additional layout.
-\IfFileExists{\tlc@additionalLayout}
- {\input{\tlc@additionalLayout}}
- {}
+\IfFileExists{\tlc@additionalLayout}%
+ {\input{\tlc@additionalLayout}}%
+ {}%
% ------------------------------------------------------------------------------
-% Create a beautiful document header and document footer using the packages
+% Create a beautiful document header and document footer using the packages
% listed below.
\RequirePackage{fancyhdr} % Page layout in \LaTeX
\RequirePackage{titling} % Control over \maketitle & \thanks
@@ -118,122 +132,132 @@
% \tlc@versionFile.
% Argument:
% 1 - the column name to extract from the data file.
-\newcommand{\tlcVersionPart}[1]{
- \csvreader[separator=pipe]
- {\tlc@versionFile}{
- 1=\version,
- 2=\date,
- 3=\status,
- 4=\institution,
- 5=\permission
- }{#1}
+\newcommand{\tlcVersionPart}[1]{%
+ \csvreader[separator=pipe]%
+ {\tlc@versionFile}{%
+ 1=\version,%
+ 2=\date,%
+ 3=\status,%
+ 4=\institution,%
+ 5=\permission%
+ }{#1}%
}%
% ------------------------------------------------------------------------------
% Define extractions macros when \tlc@versionFile exists.
-\IfFileExists{\tlc@versionFile}
-{
- \def\tlc@version{\tlcVersionPart{\version}}
- \def\tlc@date{\tlcVersionPart{\date}}
- \def\tlc@status{\tlcVersionPart{\status}}
- \def\tlc@institution{\tlcVersionPart{\institution}}
- \def\tlc@permission{\tlcVersionPart{\permission}}
-}
-{% Else: no operation because tlc@versionFile does not exist.
-}
+\IfFileExists{\tlc@versionFile}%
+{%
+ \def\tlc@version{\tlcVersionPart{\version}}%
+ \def\tlc@date{\tlcVersionPart{\date}}%
+ \def\tlc@status{\tlcVersionPart{\status}}%
+ \def\tlc@institution{\tlcVersionPart{\institution}}%
+ \def\tlc@permission{\tlcVersionPart{\permission}}%
+}%
+{% Else: no operation because tlc@versionFile does not exist.
+}%
% ------------------------------------------------------------------------------
% We want to allow the calling document to override the headers and footers that
% we are defining.
-\IfFileExists{\tlc@headerFooter}
+\IfFileExists{\tlc@headerFooter}%
{ % use the customer header and footer defined by \tlc@headerfooter
- \input{\tlc@headerFooter}
-}
+ \input{\tlc@headerFooter}%
+}%
{ % Else : header and footer applied to all pages.
- \IfFileExists{\tlc@logoFile}
- { % Typeset the logo in the left side of the document header.
- \lhead{\includegraphics[width=3cm,height=1cm]{\tlc@logoFile}}
- }
+ \IfFileExists{\tlc@logoFile}%
+ { % Typeset the logo in the left side of the document header.
+ \lhead{\includegraphics[width=3cm,height=1cm]{\tlc@logoFile}}%
+ }%
{% Else: no operation because tlc@logoFile does not exist.
- }
+ }%
+ %
% Typeset the title in the center of the document header.
- \chead{\large{\thetitle}}
- % Typeset version information in the right side of the document header.
- \IfFileExists{\tlc@versionFile}
- {
+ %
+ \chead{\large{\thetitle}}%
+ %
+ % Typeset version information in the right side of the document header.
+ %
+ \IfFileExists{\tlc@versionFile}%
+ {%
% document status, document date and document version.
- \rhead{\tiny \tlc@status \\ \tlc@date \\ \tlc@version}
+ \rhead{\tiny \tlc@status \\ \tlc@date \\ \tlc@version}%
% document owner. This maybe a person or company name.
- \lfoot{\tiny \tlc@institution}
+ \lfoot{\tiny \tlc@institution}%
% document license. This maybe a license or word like confidential.
- \cfoot{\tiny \tlc@permission}
- }
- {% Else: no operation because tlc@versionFile does not exist.
- }
- \renewcommand{\headrulewidth}{0.1pt}
- % eliminate head height too small warning, which is occurring because
+ \cfoot{\tiny \tlc@permission}%
+ }%
+ {% Else: no operation because tlc@versionFile does not exist.
+ }%
+ \renewcommand{\headrulewidth}{0.1pt}%
+ %
+ % Eliminate head height too small warning, which is occurring because
% we are using multiple lines in our header.
- \setlength\headheight{34.0pt}
+ \setlength\headheight{34.0pt}%
% footer applied to all pages.
- \rfoot{\tiny{Page \thepage~of~\pageref{LastPage}}}
- \renewcommand{\footrulewidth}{0.1pt}
- % we want our header and footer to remain consistent with a table of
- % contents that span multiple pages.
- \AtBeginDocument{\addtocontents{toc}{\protect\thispagestyle{fancy}}}
-}
+ \rfoot{\tiny{Page \thepage~of~\pageref{LastPage}}}%
+ \renewcommand{\footrulewidth}{0.1pt}%
+}%
+
+% ------------------------------------------------------------------------------
+% We want our header and footer to remain consistent with a table of
+% contents that span multiple pages.
+\AtBeginDocument{\addtocontents{toc}{\protect\thispagestyle{fancy}}}%
% ------------------------------------------------------------------------------
% We define colors that are used throughout the document.
-\RequirePackage[colorlinks]{hyperref}
-\definecolor{darkblue}{rgb}{0,0,0.5}
-\hypersetup{
- bookmarksopen = true,
- citebordercolor = white!100,
- citecolor = darkblue,
- filebordercolor = white!100,
- filecolor = darkblue ,
- linkbordercolor = white!100,
- linkcolor = darkblue,
- linktoc = all,
- menubordercolor = white!100,
- pdfauthor = {},
- pdfborder = {0 0 0 [0 0]},
- pdfkeywords = {},
- pdfstartview = FitH,
- pdfsubject = {},
- pdftitle = {},
- runbordercolor = white!100,
- urlbordercolor = white!100,
- urlcolor = darkblue
-}
+\definecolor{darkblue}{rgb}{0,0,0.5}%
+\hypersetup{%
+ bookmarksopen = true,%
+ citebordercolor = white!100,%
+ citecolor = darkblue,%
+ filebordercolor = white!100,%
+ filecolor = darkblue ,%
+ linkbordercolor = white!100,%
+ linkcolor = darkblue,%
+ linktoc = all,%
+ menubordercolor = white!100,%
+ pdfauthor = {},%
+ pdfborder = {0 0 0 [0 0]},%
+ pdfkeywords = {},%
+ pdfstartview = FitH,%
+ pdfsubject = {},%
+ pdftitle = {},%
+ runbordercolor = white!100,%
+ urlbordercolor = white!100,%
+ urlcolor = darkblue%
+}%
% ------------------------------------------------------------------------------
-% We define colors that are used when includeing code files (software).
-\lstdefinestyle{tlcStyle}{
- backgroundcolor=\color{backcolour},
- commentstyle=\color{codegreen},
- keywordstyle=\color{magenta},
- numberstyle=\tiny\color{codegray},
- stringstyle=\color{codepurple},
- basicstyle=\footnotesize,
- breakatwhitespace=false,
- breaklines=true,
- captionpos=b,
- keepspaces=true,
- numbers=left,
- numbersep=4pt,
- showspaces=false,
- showstringspaces=false,
- showtabs=false,
- tabsize=2
-}
-\lstset{style=tlcStyle}
+% We define colors that are used when includeing code files (software).
+\lstdefinestyle{tlcStyle}{%
+ backgroundcolor=\color{backcolour},%
+ commentstyle=\color{codegreen},%
+ keywordstyle=\color{magenta},%
+ numberstyle=\tiny\color{codegray},%
+ stringstyle=\color{codepurple},%
+ basicstyle=\footnotesize,%
+ breakatwhitespace=false,%
+ breaklines=true,%
+ captionpos=b,%
+ keepspaces=true,%
+ numbers=left,%
+ numbersep=4pt,%
+ showspaces=false,%
+ showstringspaces=false,%
+ showtabs=false,%
+ tabsize=2%
+}%
+\lstset{style=tlcStyle}%
% ------------------------------------------------------------------------------
% End Row : Generally applied to the end of a table row.
\newcommand{\ER}{\\ \hline}%
% ------------------------------------------------------------------------------
+% Default vertical space
+\newcommand{\tlcVspace}{\vspace{3mm}}%
+
+% ------------------------------------------------------------------------------
% Macro to include a file if it exists.
% 1 = the file path to input
\newcommand{\inputIfExists}[1]{\IfFileExists{#1}{\input{#1}}{}}%
@@ -256,7 +280,7 @@
% ------------------------------------------------------------------------------
% We define tlcDebug to aid our users when they are debugging their document.
-% tlcDebug should be placed at the end of your document to allow LaTeX to
+% tlcDebug should be placed at the end of your document to allow LaTeX to
% fully expand all macros and definitions.
\newcommand{\tlcIsDefined}[1]%
{\IfFileExists{#1}%
@@ -264,34 +288,34 @@
{\textcolor{red}{NOT DEFINED}}%
}%
\newcommand{\tlcDebug}{%
- \clearpage
- \section{tlc-article Debug}
- \subsection{tlc-article default files}
- \begin{description}[align=right,leftmargin=*,labelindent=5cm]
- \item[tlc@location:]\tlc@location
- \item[tlc@additionalLayout:]\tlc@additionalLayout
- \item[tlc@headerFooter:]\tlc@headerFooter
- \item[tlc@versionFile:]\tlc@versionFile
- \item[tlc@logoFile:]\tlc@logoFile
- \item[tlc@versionFile:]\tlc@versionFile
- \end{description}
+ \clearpage%
+ \section{tlc-article Debug}%
+ \subsection{tlc-article default files}%
+ \begin{description}[align=right,leftmargin=*,labelindent=5cm]%
+ \item[tlc@location:]\tlc@location%
+ \item[tlc@additionalLayout:]\tlc@additionalLayout%
+ \item[tlc@headerFooter:]\tlc@headerFooter%
+ \item[tlc@versionFile:]\tlc@versionFile%
+ \item[tlc@logoFile:]\tlc@logoFile%
+ \item[tlc@versionFile:]\tlc@versionFile%
+ \end{description}%
%
- \subsection{tlc-article file hooks}
- \begin{description}[align=right,leftmargin=*,labelindent=5cm]
- \item [tlc@additionalLayout:]\tlcIsDefined{\tlc@additionalLayout}
- \item [tlc@headerFooter:]\tlcIsDefined{\tlc@headerFooter}
- \item [tlc@logoFile:]\tlcIsDefined{\tlc@logoFile}
- \item [tlc@versionFile:]\tlcIsDefined{\tlc@versionFile}
- \end{description}
+ \subsection{tlc-article file hooks}%
+ \begin{description}[align=right,leftmargin=*,labelindent=5cm]%
+ \item [tlc@additionalLayout:]\tlcIsDefined{\tlc@additionalLayout}%
+ \item [tlc@headerFooter:]\tlcIsDefined{\tlc@headerFooter}%
+ \item [tlc@logoFile:]\tlcIsDefined{\tlc@logoFile}%
+ \item [tlc@versionFile:]\tlcIsDefined{\tlc@versionFile}%
+ \end{description}%
%
- \subsection{tlc-article header and footer hooks}
- \begin{description}[align=right,leftmargin=*,labelindent=5cm]
- \item[tlc@version:] \tlc@version
- \item[tlc@date:] \tlc@date
- \item[tlc@status:] \tlc@status
- \item[tlc@institution:] \tlc@institution
- \item[tlc@permission:] \tlc@permission
- \end{description}
+ \subsection{tlc-article header and footer hooks}%
+ \begin{description}[align=right,leftmargin=*,labelindent=5cm]%
+ \item[tlc@version:] \tlc@version%
+ \item[tlc@date:] \tlc@date%
+ \item[tlc@status:] \tlc@status%
+ \item[tlc@institution:] \tlc@institution%
+ \item[tlc@permission:] \tlc@permission%
+ \end{description}%
}%
% ------------------------------------------------------------------------------
-\endinput
+\endinput%