diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/acromake |
Initial commit
Diffstat (limited to 'macros/latex/contrib/acromake')
-rw-r--r-- | macros/latex/contrib/acromake/acromake.pdf | bin | 0 -> 164875 bytes | |||
-rw-r--r-- | macros/latex/contrib/acromake/acromake.sty | 110 | ||||
-rw-r--r-- | macros/latex/contrib/acromake/acromake.tex | 90 |
3 files changed, 200 insertions, 0 deletions
diff --git a/macros/latex/contrib/acromake/acromake.pdf b/macros/latex/contrib/acromake/acromake.pdf Binary files differnew file mode 100644 index 0000000000..b6ea47135c --- /dev/null +++ b/macros/latex/contrib/acromake/acromake.pdf diff --git a/macros/latex/contrib/acromake/acromake.sty b/macros/latex/contrib/acromake/acromake.sty new file mode 100644 index 0000000000..93291fec1b --- /dev/null +++ b/macros/latex/contrib/acromake/acromake.sty @@ -0,0 +1,110 @@ +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This is file `acromake.sty', written on +%% on <1995/7/16> by Paul A. Thompson, Ph.D. +%% +%% Copyright (C) 1995 Paul A. Thompson +%% All rights reserved. +%% +%% Advice and suggestions of D. Carlisle, D. Arseneau and P. Schmitt noted. +%% Errors responsibility of author. +%% +%% This file requires LaTeX2e. +%% --------------------------- +%% +%% No permission is granted to modify this file. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This algorithm is presented and discussed in TeX and TUG News, V4, #1. +%% The algorithm as presented there has several small problems, which are +%% solved here. +%% +%% This file generates acronyms. There are three parameters which may be +%% set by the user +%% 1. To generate an acronym +%% \acromk{ANSA}{{\tt ANSA}}{another nasty stupid acronym} +%% +%% The first argument is the name used in text to implement the acronym. +%% The second argument is the name printed in the text when the acronym +%% is used. The final argument is the full, non-acronymized version. +%% +%% So, if there was an acronym +%% \acromake{ANSA}{{\tt ANSA}}{another nasty stupid acronym} +%% it could be used as +%% +%% \ANSA is a new approach to the use of \ANSA, where \ANSA is ... +%% +%% This would result in +%% +%% another nasty stupid acronym ({\tt ANSA}) is a new approach to +%% the use of {\tt ANSA}, where {\tt ANSA} is ... +%% +%% 2. To use the acronym +%% here \ANSA whatever {foo}lish use of acronym you wish +%% This will generate the following: +%% Usage number Resolved text +%% 1 another nasty stupid acronym (ANSA) +%% 2 ANSA (page 2) +%% 3 (and beyond) ANSA +%% +%% 3. The following may be set by the user: +%% ACRcnta - count of uses of acronym macro which will be in full form +%% (default is 1) +%% ACRcntb - count of uses of acronym macro which will include page of +%% acronym def (default is 1 reference, or ACRcntb-ACRcnta) +%% useACRlb - should the page reference be used - 1-yes, 0-no +%% +%% For every acronym, the macro generates the acronym macro and a macro which +%% acts like a counter for acronym use. Since counters are quite rare, it is +%% not responsible to use a counter for every acronym - rather, a macro is +%% generated which fills this function. The acronym macro is called \foo, +%% while the counter macro is called \fooz. Thus, I would avoid calling any +%% acronym fooz, as this may be confoozing. +%% +%% The .sty file generates 1 counter if it is included. For each acronym +%% specified, the .sty file generates two macros, 1 for the acronym, and 1 for +%% the count of acronym use +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\NeedsTeXFormat{LaTeX2e}% % 1 +\RequirePackage{xspace} +\newcommand{\pv}{} \newcounter{util} +\newcommand{\ACRcnta}{1}% full acronym generations +\newcommand{\ACRcntb}{2}% ACRcntb - ACRcnta = acronym + page number +\newcommand{\addtomacro}[2]{% % like \addtocounter, but for a macro + \setcounter{util}{#1}\addtocounter{util}{#2}\xdef#1{\theutil}}% +\newcommand{\acromake}[3]{% + \ifnum\ACRcnta<1\renewcommand{\ACRcnta}{1}\fi% + \expandafter\gdef\csname#1z\endcsname{0}% count occurrences + \expandafter\newcommand\csname#1\endcsname{% + \ifnum\csname#1z\endcsname=0\label{acro:#1}\fi% + \expandafter\addtomacro\expandafter{\csname#1z\endcsname}{1}% + #3 (#2)% expansion and acronym printed here + \ifnum\csname#1z\endcsname=\ACRcnta% + \expandafter\renewcommand\csname#1\endcsname{% + \expandafter\addtomacro\expandafter{\csname#1z\endcsname}{1}% + \renewcommand{\pv}{ (see Page \pageref{acro:#1})}% + \ifnum\csname#1z\endcsname>\ACRcntb% + \renewcommand{\pv}{#2}% + \else% + \ifnum\ACRcntb=0% + \renewcommand{\pv}{#2}% + \else% + \ifnum\thepage=0\pageref{acro:#1}% + \renewcommand{\pv}{#2}% + \else% + \renewcommand{\pv}{#2\ (see Page \pageref{acro:#1})}% + \fi% + \fi% + \fi% + \pv\xspace% + }% + \fi% + \xspace}% +} diff --git a/macros/latex/contrib/acromake/acromake.tex b/macros/latex/contrib/acromake/acromake.tex new file mode 100644 index 0000000000..82a9c7ac0c --- /dev/null +++ b/macros/latex/contrib/acromake/acromake.tex @@ -0,0 +1,90 @@ +\documentclass[DIV=10, fontsize=12pt, pagesize=auto]{scrartcl} + +\usepackage{lmodern} +\usepackage[T1]{fontenc} +\usepackage{booktabs} +\usepackage{microtype} + +\addtokomafont{disposition}{\rmfamily} +\addtokomafont{descriptionlabel}{\ttfamily} + +\title{The \textsf{acromake} package} +\author{Paul A. Thompson} +\date{1995/7/16} + + +\begin{document} + +\maketitle + +\noindent +This algorithm is presented and discussed in \TeX\ and TUG News, V4, \#1. +The algorithm as presented there has several small problems, which are +solved here. + +This file generates acronyms. There are three parameters which may be +set by the user +% +\begin{enumerate} +\item To generate an acronym \\ + \verb+\acromk{ANSA}{{\tt ANSA}}{another nasty stupid acronym}+ + + The first argument is the name used in text to implement the acronym. + The second argument is the name printed in the text when the acronym + is used. The final argument is the full, non-acronymized version. + + So, if there was an acronym \\ + \verb+\acromake{ANSA}{{\tt ANSA}}{another nasty stupid acronym}+ \\ + it could be used as + % +\begin{verbatim} +\ANSA is a new approach to the use of \ANSA, where \ANSA is ... +\end{verbatim} + + This would result in + % + \begin{quote} + another nasty stupid acronym ({\tt ANSA}) is a new approach to + the use of {\tt ANSA}, where {\tt ANSA} is ... + \end{quote} +\item To use the acronym + % +\begin{verbatim} +here \ANSA whatever {foo}lish use of acronym you wish +\end{verbatim} + + This will generate the following:\nopagebreak + + \begin{tabular}{@{}ll@{}} + \toprule + Usage number & Resolved text \\ + \midrule + 1 & another nasty stupid acronym (ANSA) \\ + 2 & ANSA (page 2) \\ + 3 (and beyond) & ANSA \\ + \bottomrule + \end{tabular} + \medskip +\item The following may be set by the user: + % + \begin{description} + \item[ACRcnta] count of uses of acronym macro which will be in full form + (default is 1) + \item[ACRcntb] count of uses of acronym macro which will include page of + acronym def (default is 1 reference, or $\mathrm{ACRcntb}-\mathrm{ACRcnta}$) + \item[useACRlb] should the page reference be used --- 1--yes, 0--no + \end{description} +\end{enumerate} + +For every acronym, the macro generates the acronym macro and a macro which +acts like a counter for acronym use. Since counters are quite rare, it is +not responsible to use a counter for every acronym -- rather, a macro is +generated which fills this function. The acronym macro is called \verb+\foo+, +while the counter macro is called \verb+\fooz+. Thus, I would avoid calling any +acronym \textsf{fooz}, as this may be confoozing. + +The \texttt{.sty} file generates 1 counter if it is included. For each acronym +specified, the \texttt{.sty} file generates two macros, 1 for the acronym, and 1 for +the count of acronym use + +\end{document} |