summaryrefslogtreecommitdiff
path: root/macros/latex209/contrib/misc/lcustom.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex209/contrib/misc/lcustom.tex
Initial commit
Diffstat (limited to 'macros/latex209/contrib/misc/lcustom.tex')
-rw-r--r--macros/latex209/contrib/misc/lcustom.tex429
1 files changed, 429 insertions, 0 deletions
diff --git a/macros/latex209/contrib/misc/lcustom.tex b/macros/latex209/contrib/misc/lcustom.tex
new file mode 100644
index 0000000000..c76a75ad8e
--- /dev/null
+++ b/macros/latex209/contrib/misc/lcustom.tex
@@ -0,0 +1,429 @@
+% LaTeX customization
+
+
+\makeatletter % for a little while
+
+\def\inputverbatim#1{%
+\begingroup \catcode``=13 \@noligs \tt \let\do\@makeother \dospecials
+\obeylines \obeyspaces \frenchspacing \input #1 \endgroup }
+
+% plain TeX compatibility
+
+\def\oldstyle{\xdef\@oldstyle{\the\textfont\@ne}\mit\@oldstyle}
+
+
+% PhD-TeX compatibility
+
+\def\showsummary{%
+ \begingroup
+ \def\note##1{%
+ \ifcase\value{##1}no ##1s\or
+ 1 ##1\else
+ \the\value{##1} ##1s\fi
+ }%
+ \typeout{LaTeX summary: \note{figure}, \note{table}, \note{footnote}.}%
+ \endgroup
+}
+
+\def\smaller{\footnotesize}
+
+
+% Float Support
+
+\def\topfraction{0.85}
+\def\textfraction{0.20}
+\def\floatpagefraction{0.85}
+\def\dbltopfraction{0.85}
+\def\dblfloatpagefraction{0.85}
+
+
+% \tagfigure*[FLOAT]{FILE}{CAPTION}{LABEL}
+% * optional
+% FLOAT float options
+% FILE reads TPIC output in file figureFILE
+% CAPTION for list of figures
+% LABEL for \ref and \pageref
+\def\tagfigure{\@ifstar{\@stagfigure}{\@tagfigure}}
+\def\@tagfigure{\@ifnextchar[{\@@tagfigure}{\@@tagfigure[t]}}
+\def\@stagfigure{\@ifnextchar[{\@@stagfigure}{\@@stagfigure[t]}}
+
+\def\@@tagfigure[#1]#2{%
+ \@@@tagfigure[#1]{\input figure#2\relax\centerline{\box\graph}}}
+\def\@@stagfigure[#1]#2{%
+ \@@@stagfigure[#1]{\input figure#2\relax\centerline{\box\graph}}}
+
+
+% \tagdiagram*[FLOAT]{FILE}{CAPTION}{LABEL}
+% * optional
+% FLOAT float options
+% FILE reads LaTeX input in file diagramFILE
+% CAPTION for list of figures
+% LABEL for \ref and \pageref
+\def\tagdiagram{\@ifstar{\@stagdiagram}{\@tagdiagram}}
+\def\@tagdiagram{\@ifnextchar[{\@@tagdiagram}{\@@tagdiagram[t]}}
+\def\@stagdiagram{\@ifnextchar[{\@@stagdiagram}{\@@stagdiagram[t]}}
+
+\def\@@tagdiagram[#1]#2{\@@@tagfigure[#1]{\input diagram#2\relax}}
+\def\@@stagdiagram[#1]#2{\@@@stagfigure[#1]{\input diagram#2\relax}}
+
+
+% \tagverbatim*[FLOAT]{FILE}{CAPTION}{LABEL}
+% * optional
+% FLOAT float options
+% FILE reads LaTeX input in file FILE and inserts in in verbatim mode.
+% CAPTION for list of figures
+% LABEL for \ref and \pageref
+\def\tagverbatim{\@ifstar{\@stagverbatim}{\@tagverbatim}}
+\def\@tagverbatim{\@ifnextchar[{\@@tagverbatim}{\@@tagverbatim[t]}}
+\def\@stagverbatim{\@ifnextchar[{\@@stagverbatim}{\@@stagverbatim[t]}}
+
+\def\@@tagverbatim[#1]#2{\@@@tagfigure[#1]{\inputverbatim{#2}}}
+\def\@@stagverbatim[#1]#2{\@@@stagfigure[#1]{\inputverbatim{#2}}}
+
+
+\def\@@@tagfigure[#1]#2#3#4{%
+ \begin{figure}[#1]
+ \hrule
+ \vskip .5\baselineskip
+ \begin{minipage}\columnwidth
+ \small#2%
+ \end{minipage}
+ \vskip .5\baselineskip plus .5\baselineskip
+ \begingroup
+ \setbox\z@=\hbox{#4}%
+ \ifdim\wd\z@>\z@
+ \caption{#3}%
+ \label{#4}%
+ \else
+ \captcont{#3}%
+ \fi
+ \endgroup
+ \vskip 2pt
+ \hrule
+ \end{figure}
+}
+
+\def\@@@stagfigure[#1]#2#3#4{%
+ \begin{figure*}[#1]
+ \hrule
+ \vskip .5\baselineskip
+ \begin{minipage}\textwidth
+ \small#2%
+ \end{minipage}
+ \vskip .5\baselineskip plus .5\baselineskip
+ \begingroup
+ \setbox\z@=\hbox{#4}%
+ \ifdim\wd\z@>\z@
+ \caption{#3}%
+ \label{#4}%
+ \else
+ \captcont{#3}%
+ \fi
+ \endgroup
+ \vskip 2pt
+ \hrule
+ \end{figure*}
+}
+
+
+% \tagtable*[FLOAT]{FILE}{CAPTION}{LABEL}
+% * optional
+% FILE read LaTeX input in file tableFILE
+% FLOAT float options
+% CAPTION for list of tables
+% LABEL for \ref and \pageref
+\def\tagtable{\@ifstar{\@stagtable}{\@tagtable}}
+\def\@tagtable{\@ifnextchar[{\@@tagtable}{\@@tagtable[t]}}
+\def\@stagtable{\@ifnextchar[{\@@stagtable}{\@@stagtable[t]}}
+
+\def\@@tagtable[#1]#2#3#4{%
+ \begin{table}[#1]
+ \hrule
+ \vskip .5\baselineskip
+ \begin{minipage}\textwidth
+ \small\input table#2\relax
+ \end{minipage}
+ \vskip .5\baselineskip plus .5\baselineskip
+ \begingroup
+ \setbox\z@=\hbox{#4}%
+ \ifdim\wd\z@>\z@
+ \caption{#3}%
+ \label{#4}%
+ \else
+ \captcont{#3}%
+ \fi
+ \endgroup
+ \vskip 2pt
+ \hrule
+ \end{table}
+}
+
+\def\@@stagtable[#1]#2#3#4{%
+ \begin{table*}[#1]
+ \hrule
+ \vskip .5\baselineskip
+ \begin{minipage}\columnwidth
+ \small\input table#2\relax
+ \end{minipage}
+ \vskip .5\baselineskip plus .5\baselineskip
+ \begingroup
+ \setbox\z@=\hbox{#4}%
+ \ifdim\wd\z@>\z@
+ \caption{#3}%
+ \label{#4}%
+ \else
+ \captcont{#3}%
+ \fi
+ \endgroup
+ \vskip 2pt
+ \hrule
+ \end{table*}
+}
+
+
+% Environments:
+
+% DESCRIBE - similar to DESCRIPTION, but indents extra on left margin of
+% outer list
+
+\def\describe{\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \ifnum\@listdepth=1 \advance\leftmargin by2em\fi
+ \let\makelabel\descriptionlabel}}
+\let\enddescribe=\endlist
+
+
+% Document style options:
+% 10pt - Makes ten-point type the normal (default) type size
+% draftnote - Customized draft option
+
+\@namedef{ds@10pt}{\def\@ptsize{0}} %%% for orthogonality
+
+
+\newif\ifdraft \draftfalse
+
+\def\draftstring{{\ifdraft \tt Draft\fi}}
+
+\def\draftext{%
+ \ifdraft
+ \begingroup
+ \tt
+ \ifodd\c@page
+ \LaTeX set \today\ with \fmtname\ v\fmtversion
+ \else
+ Draft \versiontag/ of \versiondate/
+ \fi
+ \endgroup
+ \fi
+}
+
+\def\ds@draftnote{%
+ \drafttrue
+ \@ifundefined{ds@draft}{}{\ds@draft}%
+ \def\ps@plain{%
+ \let\@mkboth=\@gobbletwo
+ \def\@oddhead{\draftext\hfil}%
+ \def\@oddfoot{\draftstring\hfil\rm\thepage\hfil\draftstring}%
+ \def\@evenhead{\hfil\draftext}%
+ \let\@evenfoot=\@oddfoot
+ }%
+ \let\ps@@headings=\ps@headings
+ \def\ps@headings{%
+ \ps@@headings
+ \def\@oddfoot{\draftext\hfil}%
+ \def\@evenfoot{\hfil\draftext}%
+ }%
+}
+
+
+% Page Styles
+
+% \pagestyle{myfootings} similar to the myheadings command but also permits
+% the user to define foot information as well as head information
+% \markleftfoot{left_foot} specifies the foot for odd-numbered
+% pages
+% \markrightfoot{right_foot} specifies the foot for even-numbered
+% pages
+% N.B. DOES NOT USE MARKS TO ACCOMPLISH THIS, OWING TO CONFLICT WITH HEADING
+% ROUTINES
+
+\def\ps@myfootings{\ps@myheadings}
+
+\def\markleftfoot#1{\def\@evenfoot{\hbox{}\sl#1\hfil}}
+\def\markrightfoot#1{\def\@oddfoot{\hfil\sl#1\hbox{}}}
+
+
+% \pagestyle{reprint} similar to plain page style in draft mode
+
+\let\reprintext=\draftext
+\let\reprintstring=\draftstring
+
+\def\ps@reprint{%
+ \def\draftext{%
+ \ifdraft
+ \begingroup
+ \tt
+ \ifodd\c@page
+ \LaTeX set \today
+ \else
+ Draft \versiontag/
+ \fi
+ \endgroup
+ \fi
+ }%
+ \def\@oddhead{\reprintext\hfil\draftext}%
+ \def\@oddfoot{\reprintstring\hfil\rm\thepage}%
+ \def\@evenhead{\draftext\hfil\reprintext}%
+ \def\@evenfoot{\rm\thepage\hfil\reprintstring}%
+}
+
+
+% The Title
+
+\def\title#1{%
+ \gdef\@title{#1}%
+ \gdef\banner{%
+ \newpage\setcounter{page}{1}%
+ \begin{center}\Large#1\end{center}%
+ }%
+}
+
+
+% Miscellany
+
+\def\implies{\quad\supset\ }
+
+\def\tdots{\ldots\thinspace}
+
+\def\boxit#1{\fbox{\sc#1}}
+
+\def\note#1{\ifdraft\marginpar{\tt#1}\fi}
+
+
+% Fractions (from The TUGboat v6 n1, 1985)
+
+\def\myfrac#1/#2{%
+ \leavevmode\kern.1em
+ \raise.5ex\mbox{\the\scriptfont\z@ #1}\kern-.1em
+ /\kern-.15em\lower.25ex\mbox{\the\scriptfont\z@ #2}%
+}
+
+
+% Trademarks...
+
+\input trademark.sty
+
+
+% Continuation Captions...
+
+\input captcont.sty
+
+
+% Startup
+
+\xdef\today{%
+ \ifcase\month
+ \number\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\else
+ \number\month\fi
+ \space\number\day, {\noexpand\mit\number\year}%
+}
+
+\begingroup
+ \count0=\time
+ \count1=\count0
+ \divide\count0 by 60
+ \count2=\count0
+ \multiply\count0 by 60
+ \advance\count1 by -\count0
+ \ifnum\count2>11
+ \ifnum\count2>12 \advance\count2 by -12\fi
+ \def\ampm{pm}%
+ \else
+ \ifnum\count2=0 \advance\count2 by 12\fi
+ \def\ampm{am}%
+ \fi
+ \xdef\daytime{%
+ \ifnum\count2<10 0\fi \the\count2:%
+ \ifnum\count1<10 0\fi \the\count1
+ \ampm
+ }%
+\endgroup
+
+
+\makeatother % back to normal
+
+%
+%Mail-From: BEEBE created at 3-Dec-86 11:41:39
+%Date: Wed 3 Dec 86 11:41:39-MST
+%From: "Nelson H.F. Beebe" <Beebe@UTAH-SCIENCE.ARPA>
+%Subject: Funny behaviour of itemize with long item keys
+%To: jrp%nplpsg%uucp@CS.UCL.AC.UK
+%cc: BEEBE@UTAH-SCIENCE.ARPA
+%X-US-Mail: "Center for Scientific Computation, South Physics,
+%University of Utah, Salt Lake City, UT 84112"
+%X-Telephone: (801) 581-5254
+%Message-ID: <12259892637.20.BEEBE@UTAH-SCIENCE.ARPA>
+%ReSent-Date: Wed 3 Dec 86 16:31:14-MST
+%ReSent-From: "Nelson H.F. Beebe" <Beebe@UTAH-SCIENCE.ARPA>
+%ReSent-To: jrp%nplpsg%uucp@SEISMO.CSS.GOV
+%ReSent-Message-ID: <12259945355.20.BEEBE@UTAH-SCIENCE.ARPA>
+%
+%In TeXHaX #10 you ask for a solution for the itemize
+%environment where long keys do not cause a line break, when
+%they would look nicer if they did.
+%
+%I met this problem in writing my TECO manual, and here is my
+%solution. First, I have two environments:
+%
+%% ======================================================================
+%% commandtable generates a list with the item entered into the index
+%% and the item label flush left in \tt font. It is intended for
+%% documenting TECO commands.
+%\newcommand{\tablelabel}[1]{\mbox{\tt#1}\hfil\INDEX{{\string\tt\space #1}}{#1}}
+%\newenvironment{commandtable}{
+% \begin{list}{}
+% {
+% \let\makelabel\tablelabel
+% \setlength{\labelwidth}{30pt}
+% \setlength{\leftmargin}{1.1\labelwidth}
+% }
+% }{\end{list}}
+%
+%% ======================================================================
+%% commandentry generates a list with the item label flush left in \sf
+%% font. It is intended for the TECO command descriptions.
+%
+%\newcommand{\entrylabel}[1]{\mbox{\sf#1:}\hfil}
+%\newenvironment{commandentry}{
+% \begin{list}{}
+% {
+% \let\makelabel\entrylabel
+% \setlength{\labelwidth}{40pt}
+% \setlength{\leftmargin}{1.1\labelwidth}
+% }
+% }{\end{list}}
+%
+%Then I have a newline macro:
+%\newcommand{\NEWLINE}{\mbox{}\\ \vspace*{-\baselineskip}}
+%
+%Here is how they are used:
+% \begin{commandtable}
+% \item[\protect\CTL{\BS{}}]\NEWLINE{}
+% \begin{commandentry}
+% \item[Action]
+% Returns from a function. If issued at top-level,
+% the interpreter simply terminates, just as if
+% end of input had been reached.
+% \item[Errors]
+% None.
+% \item[Return values]
+% Any arguments in effect are passed back to the
+% caller.
+% \end{commandentry}
+% ...etc...
+% \end{commandtable}
+%
+%The other two macros listed are unimportant, but here they are:
+%\newcommand{\BS}{{\tt\symbol{92}}} % ASCII backslash
+%\newcommand{\NEWLINE}{\mbox{}\\ \vspace*{-\baselineskip}}