diff options
author | Karl Berry <karl@freefriends.org> | 2019-06-23 20:57:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-06-23 20:57:37 +0000 |
commit | 15991533e2ebd1c5de20d764410d809fb1a6ba56 (patch) | |
tree | 0d4801187bff854d3eb3b0be3aeaa687b2a0edee /Master/texmf-dist/tex/latex/tlc-article | |
parent | d13f4aa60ac176e565e64bddd1c59f089551b2d0 (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.cls | 358 |
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% |