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/misc |
Initial commit
Diffstat (limited to 'macros/latex/contrib/misc')
-rw-r--r-- | macros/latex/contrib/misc/abstbook.cls | 266 | ||||
-rw-r--r-- | macros/latex/contrib/misc/beletter.cls | 58 | ||||
-rw-r--r-- | macros/latex/contrib/misc/bibcheck.sty | 87 | ||||
-rw-r--r-- | macros/latex/contrib/misc/concrete.sty | 24 | ||||
-rw-r--r-- | macros/latex/contrib/misc/flashcard.cls | 177 | ||||
-rw-r--r-- | macros/latex/contrib/misc/hexdump.sty | 117 | ||||
-rw-r--r-- | macros/latex/contrib/misc/iagproc.cls | 265 | ||||
-rw-r--r-- | macros/latex/contrib/misc/linsys.sty | 27 | ||||
-rw-r--r-- | macros/latex/contrib/misc/mitpress.sty | 33 | ||||
-rw-r--r-- | macros/latex/contrib/misc/nextpage.sty | 55 | ||||
-rw-r--r-- | macros/latex/contrib/misc/texilikechaps.sty | 137 | ||||
-rw-r--r-- | macros/latex/contrib/misc/texilikecover.sty | 43 | ||||
-rw-r--r-- | macros/latex/contrib/misc/thrmappendix.sty | 217 | ||||
-rw-r--r-- | macros/latex/contrib/misc/topcapt.sty | 61 | ||||
-rw-r--r-- | macros/latex/contrib/misc/ut-backref.sty | 163 | ||||
-rw-r--r-- | macros/latex/contrib/misc/verbasef.sty | 339 | ||||
-rw-r--r-- | macros/latex/contrib/misc/vrbexin.sty | 80 |
17 files changed, 2149 insertions, 0 deletions
diff --git a/macros/latex/contrib/misc/abstbook.cls b/macros/latex/contrib/misc/abstbook.cls new file mode 100644 index 0000000000..ff699c941c --- /dev/null +++ b/macros/latex/contrib/misc/abstbook.cls @@ -0,0 +1,266 @@ +% +% This is second version of the class. It redefines Chapters +% sections and subsections, in order to use the minitoc style! +% +% +% DESCRIPTION: +% +% -``Quick and dirty'' class file for ``book of abstracts'' +% (used for IWEPNM - Kirchberg 1997) +% +% - It's getting less Quick and dirty, but it's far from beeing +% what i want, should be much more flexible for that. +% +% -Written by Havlik Denis (havlik@pap.univie.ac.at) 02/1997. +% -Based on the report class. +% +% This .cls file has been written for the conference in Kirchberg. +% It has been designed to produce a4-size pages, +% which are later converted into a5. Output is double-sided. +% +% Abstracts are suposed to be in separate files, with simple +% formating (title, name, adress, text). +% +% As i have a feeling that many conferences need something +% like this booklet, i will try to document this file as good as +% i can. In the case anybody is interesting to use this class, +% but neads more flexibility or new features, i would be pleased +% to help. This is a first time ever that i write a Latex class, +% but i'm learning. +% +% Features: +% -Conferences consist of days and sessions. +% -In every day there can be one or more sessions, in every +% session there can be several abstracts. Abstracts appear +% two on a page, with short name of the session, the number +% of the abstract and an additional entry WRITTEN ON THE MARGIN. +% -In the headings, day appears on the even, and session on the odd +% pages. +% -For every day, a table of abstracts is printed +% -names of the authors are automatically added to index of authors +% (don't forget to run the ``makeindex''!!!) +% +% I would like to thank the ``\"Osterreichischen Fonds zur F\"orderung +% der wissenschaftlichen Forschung'' for financing my work +% under project Nr. +P10924-PHY. Furthermore, a Linux, and \TeX/\LaTeX +% comunity, for providing wonderfull free software, that i use for all my +% work. Special thanks to Jean-Pierre Drucbert +% Havlik Denis +% +% TODO: +% 1. redefine \titl, \name and \adr, so i can get automatic: +% indexing of authors and automatic referencing of authors to adress +% 2. automatic resizing of abstracts to fit other page-sizes, +% (not only a4) and other margines etc. +% 3. add formatting stuff like: +% \newcommand{\titlstyle}{\bf \Large \MakeUppercase} +% with some logical names and use it consequently for all the macros +% in the whole class +% 4. ?% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{abstbook}[1997/02/10 for typseting book of abstracts] +\DeclareOption{twocolumn}{\OptionNotUsed} % makes no sense to use it... +% All other options go to ``report'' class. +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} +\ProcessOptions +\LoadClass[a4,twoside]{report} +\RequirePackage{makeidx} % neaded to make index +\RequirePackage{graphicx} % neaded to input graphics into booklet. +%\RequirePackage{minitoc} +% page - size related stuff. Looks good on my printer... +\setlength{\unitlength}{1cm} +%\setlength{\topmargin}{1.5cm} +\setlength{\hoffset}{-0.8in} +%\setlength{\voffset}{-1in} +\setlength{\textwidth}{16.5cm} +\setlength{\textheight}{24.8cm} +\setlength{\topskip}{0cm} +\setlength{\footskip}{0cm} +\setlength{\oddsidemargin}{1.5cm} +\setlength{\evensidemargin}{1.5cm} +\setlength{\marginparsep}{0.3cm} +\setlength{\marginparwidth}{1.0 cm} +\setlength{\parindent}{0cm} +\pagestyle{myheadings} % to get the day - session in headings! + +% I had to redefine \chapter because i have to use it, if i want +% mini-tables-of-contents... +\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\def\@makechapterhead#1{\relax} %write nothing... +\RequirePackage{minitoc} + +\AtBeginDocument{% this comes after \begin{document} + \makeindex + \dominitoc + \faketableofcontents} + +\AtEndDocument{\printindex} % dont forget to run the ``makeindex'' program! +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% COMMANDS +% +\newcounter{Cabstract}[section] +\newsavebox{\ConferenceDay} % hier comes the name of the day +\newsavebox{\SessionName} % name of the session +\newsavebox{\ShortSessionName}% short name of the session +% Counters for days, sessions and abstracts. +% hope this will work.... + +\sbox{\ConferenceDay}{} +\sbox{\SessionName}{} +\markboth{\usebox{\ConferenceDay}}{\usebox{\SessionName}} + +\def\mtctitle{\relax}% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Command: \conferenceday +% Usage: \conferenceday{some day} +% Provides: advances day-counter, adds the day-name to TOC +% and clears the page +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\conferenceday}[1]{% + \chapter{#1} + {\Large \bf #1}\par + \minitoc + \sbox{\ConferenceDay}{#1} + \sbox{\SessionName}{#1} + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Command: \sessionname +% Usage: \sessionname{shortname}{longname} +% Provides: advances session-counter, adds the session-name to TOC +% and clears the page +% Important: I'm not using \section here. Instead, i try to emulate +% the part that i nead. It worked with my version +% of minitoc, but didn't work with an older version +% we had at the university. Bad. Redefining \section +% would be better, but i can't figure it out. +% Well, Jean-Pierre Drucbert <Jean-Pierre.Drucbert@onecert.fr> +% said it should be O.K., so be it. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\sessionname}[2]{% + \clearpage + \refstepcounter{section} + \sbox{\ShortSessionName}{#1} + \sbox{\SessionName}{#2} + \addcontentsline{toc}{section}{\MakeUppercase{#2}} + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Following definitions determine how to deal with the abstracts % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ABSTRACTS SHOULD BE IN SEPARATE FILES, FORMATED LIKE THIS: +% +% Abstract example: +% \index{Name1} \index{Name2}... - this is nessesary for authornames +% to appear in index!!! +% \titl{Title of the abstract} +% \name{A. First$^1$, A. Second$^1$, A. Third$^2$} +% \adr{1~First address\\ +% 2~Second addrass} +% +% \begin{abstr} +% Abstracts text (in Latex notation). Most of the Latex commands +% can be used here... +% \end{abstr} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +% TO DO: +% I would like to change \name and \adr in such a way that +% +% \name[mark1]{name1} +% \name[mark2]{name2} +% \name[mark1]{name3} +% \adr[adr1]{adress1} +% \adr[adr2]{adress2} +% +% produces the same result as one obtained in the previous example +% and automaticaly includes the names into index list... +% Unfortunately, i don't know how to do it. +% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% COMMANDS TO BE USED IN ABSTRACTS: +% +% Title of the abstract +\newcommand{\titl}[1]{\large \bf \MakeUppercase{#1}\par\medskip} +% author(s) name(s) +\newcommand{\name}[1]{\rm \normalsize #1\par\smallskip} +% author(s) addres(es) +\newcommand{\adr}[1]{\it \normalsize #1\par\smallskip} +% enviroment ``abstr'' +\newenvironment{abstr}{\par\medskip \normalsize \rm}{\par\bigskip} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% COMMANDS TO BE USED IN THE MAIN DOCUMENT +% +% Command: \loadabstr +% Usage: \loadabstr[additional]{TOC-entry}{filename.tex} +% Provides: reserves 1/2 page for the abstract, loads the abstract +% from the file ``filename.tex'', writes the ``TOC-entry'' +% to table of contents, advances the abstracts-counter +% and writes the short name of the session, abstract-number +% and an additional entry to the margin. +% (We have used the additional entry for the time..) +%usage: \loadabstr[additional]{toc-entry}{name.tex} +\newcommand{\loadabstr}[3][\relax]{% + \stepcounter{Cabstract} + \par + \rule[-6cm]{0cm}{12cm} % well, you might nead to change this + % if you change the size/format of the page + \marginpar{% + \large\centering + #1\par\smallskip + \usebox{\ShortSessionName}\par\smallskip + \arabic{Cabstract}} + \IfFileExists{#3}{% + \begin{minipage}{16.5cm} % this too... + \input{#3} + \end{minipage}} + {File #3 not found} + \addcontentsline{toc}{subsection}{#2} + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Command: \loadpsabstr +% Usage: \loadpsabstr[additional]{toc-entry}{name.ps}{formating} +% Provides: Some of our abstracts arrived as postscript or with s-mail +% This commands loads the postscript file, cuts part of it out +% and puts it on its place, just like \loadabstr does with +% an latex file. Additional parameter goes directly to +% ``includegraphics'' (see explanation of graphicx package) +% try something like: scale=1, bb=2.5cm 16cm 19cm 28cm +\newcommand{\loadpsabstr}[4][\relax]{% + \stepcounter{Cabstract} + \par + \rule[-6cm]{0cm}{12cm} % well, you might nead to change this + % if you change the size/format of the page + \marginpar{% + \large\centering + #1\par\smallskip + \usebox{\ShortSessionName}\par\smallskip + \arabic{Cabstract}} + \begin{minipage}{16.5cm} % this too... + \unitlength 1cm + \IfFileExists{#3}{% + \begin{picture}(16.5,12) % and this, too! + \put(0,0){% + \includegraphics[% + angle=0, clip=true, #4]{#3}} + \end{picture}} + {File #3 not found!} + \end{minipage} + \addcontentsline{toc}{subsection}{#2} + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% end of the Kirchberg.cls +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + diff --git a/macros/latex/contrib/misc/beletter.cls b/macros/latex/contrib/misc/beletter.cls new file mode 100644 index 0000000000..2158efddf9 --- /dev/null +++ b/macros/latex/contrib/misc/beletter.cls @@ -0,0 +1,58 @@ +%%%%%%%%%% beletter.cls %%%%%%%%%% +% This file is public domain +% This code is unsupported, and comes with no warranty. +% This class was written by James Kilfiger and Frank Lenaerts, to meet +% the specifications for formatting Belgium letters recommended by +% Frank's wife. +% It can be used in place of the standard LaTeX class +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{beletter}[1999/06/05 Belgium Letter Class] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{letter}} +\ProcessOptions\relax +\LoadClass{letter} +% changed the opening +\renewcommand*{\opening}[1]{% + \thispagestyle{firstpage}% + \ifx\@empty\fromaddress + \else %if there is a from address + \noindent\begin{tabular}[t]{@{}l@{}}% + \fromaddress + \end{tabular}\par% + \fi + \noindent\begin{tabular}[t]{@{}l@{}}% + \toname\\ \toaddress + \end{tabular}\par + {\raggedleft\@date\par}% Put the date on a line of it's own +% \@date\par% + \vspace{2\parskip}% + #1\par\nobreak + \vspace{2\parskip}% +} + +%%% Change these!!, or let babel change them for you. +\renewcommand*{\ccname}{cc} +\renewcommand*{\enclname}{} +\renewcommand*{\pagename}{} +\renewcommand*{\headtoname}{} + +% changed the closing +\renewcommand{\closing}[1]{\par\nobreak\vspace{\parskip}% + \stopbreaks + \vspace{2\parskip}% + \vspace{2\parskip}% + \noindent +% \ifx\@empty\fromaddress\else +% \hspace*{\longindentation}\fi + \parbox{\indentedwidth}{\raggedright + \ignorespaces #1\\[6\medskipamount]% + \ifx\@empty\fromsig + \fromname + \else \fromsig \fi\strut}% + \par} + +\renewcommand*{\cc}[1]{% + \par\noindent + \parbox[t]{\textwidth}{% + \@hangfrom{\normalfont\ccname}% + \ignorespaces #1\strut}\par} +\endinput diff --git a/macros/latex/contrib/misc/bibcheck.sty b/macros/latex/contrib/misc/bibcheck.sty new file mode 100644 index 0000000000..03c8c08455 --- /dev/null +++ b/macros/latex/contrib/misc/bibcheck.sty @@ -0,0 +1,87 @@ +%
+% bibcheck.sty
+%
+% Copyright (c) 2001, Radhakrishnan CV <cvr@river-valley.com>
+% Rajagopal CV <cvr3@river-valley.com>
+% http://www.river-valley.com
+%
+% River Valley Technologies, Cotton Hills
+% Trivandrum, India 695034
+%
+% Tel: +91 471 233 7501
+%
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program (gpl.txt); if not, write to the Free
+% Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+% MA 02111-1307, USA.
+%
+% $Id: gpl,v 1.1 2001/02/07 11:30:43 cvr Exp $
+%
+\NeedsTeXFormat{LaTeX2e}
+\def\Fileversion$#1: #2 ${\gdef\fileversion{#2}}
+\def\Filedate$#1: #2 #3 ${\gdef\filedate{#2}}
+\Fileversion$Revision: 1.1 $
+\Filedate$Date: 2001/02/07 11:30:43 $
+\ProvidesPackage{bibcheck}
+ [\filedate\space\fileversion\space check uncited bibitems (CVR)]
+\PackageWarningNoLine{bibcheck}
+ {****************************************\MessageBreak
+ Package bibcheck v,\fileversion\space loaded\MessageBreak
+ [check uncited bibitems (CVR)]\MessageBreak
+ ****************************************}
+
+\newwrite\uncitedwrite
+\immediate\openout\uncitedwrite=\jobname.uncited
+\def\definecitelabel#1{\expandafter\gdef\csname CVRBIB#1\endcsname{1}}
+\def\@checkbiblabel#1{%
+ \expandafter\ifx\csname CVRBIB#1\endcsname\relax
+ \typeout{*******************************************************}
+ \typeout{This bibitem [\Xbiblabel] with KEY [#1] is NOT CITED}
+ \typeout{*******************************************************}
+ \immediate\write\uncitedwrite{Bibitem [\Xbiblabel] with key [#1] not cited}
+ \immediate\write\uncitedwrite{}
+ \else \relax
+% \typeout{**********************************************************}
+% \typeout{This bibitem with LABEL [#1] is cited in the body text}
+% \typeout{**********************************************************}
+ \fi}
+
+\def\@citex[#1]#2{%
+ \let\@citea\@empty
+ \@cite{\@for\@citeb:=#2\do
+ {\@citea\def\@citea{,\penalty\@m\ }%
+ \definecitelabel{\@citeb}%
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
+ \G@refundefinedtrue
+ \@latex@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\hbox{\csname b@\@citeb\endcsname}}}}{#1}}
+
+\def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw
+ {\def\Xbiblabel{#1}\@checkbiblabel{#2}%
+ \let\protect\noexpand
+ \immediate
+ \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+\def\@bibitem#1{\item\if@filesw
+ \def\Xbiblabel{\the\value{\@listctr}}%
+ \@checkbiblabel{#1}%
+ \immediate\write\@auxout
+ {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}
+
+\endinput
+
+%%
+%% End of package bibcheck.sty
+%%
\ No newline at end of file diff --git a/macros/latex/contrib/misc/concrete.sty b/macros/latex/contrib/misc/concrete.sty new file mode 100644 index 0000000000..bd51443806 --- /dev/null +++ b/macros/latex/contrib/misc/concrete.sty @@ -0,0 +1,24 @@ +\ProvidesPackage{concrete}[1996/10/08] +\NeedsTeXFormat{LaTeX2e} +% CONCRETE.sty +% Provides fonts for an approximation of the style in _Concrete Mathematics_. +% History..................... +% 96-10-08 Jim Hefferon jhefferon@smcvt.edu +% It is an FAQ on comp.text.tex that people look on CTAN for a style +% with this name. Seems reasonable. They are always advised to +% \usepackage the two packages below. So here is a wrapper style +% to do that. +% Remarks..................... +% 96-10-08 jh +% There are other styles for Concrete Math (concmath and something +% from AMS-LaTeX 1.1 are the ones that I know of), but this one is +% modular in that if the packages it calls are updated then of +% course, this is updated also). In particular, there are no font +% parameters, etc. +% Bugs........................ +% *Unlike the AMS-LaTeX v. 1.1 style file, this makes no attempt to +% provide any grafitti, etc. macros. Just the fonts. (One could +% argue that those are document-style, not font, macros.) +\RequirePackage{beton} % for the text fonts +\RequirePackage{euler} % for the math fonts +\endinput
\ No newline at end of file diff --git a/macros/latex/contrib/misc/flashcard.cls b/macros/latex/contrib/misc/flashcard.cls new file mode 100644 index 0000000000..ed91ada914 --- /dev/null +++ b/macros/latex/contrib/misc/flashcard.cls @@ -0,0 +1,177 @@ +%an experimental documentclass for flashcards. +%Use only with the understanding it may not work at all. +%More documentation after \endinput +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{flashcard} + [2000/25/01 document class for flashcards] +\newcommand\@ptsize{} +\DeclareOption{a4paper} + {\setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{letterpaper} + {\setlength\paperheight {11in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{landscape} + {\setlength\@tempdima {\paperheight}% + \setlength\paperheight {\paperwidth}% + \setlength\paperwidth {\@tempdima}} +\DeclareOption{centering}{\def\flashcardformat{\centering}} +\DeclareOption{raggedright}{\def\flashcardformat{\raggedright}} +\DeclareOption{raggedleft}{\def\flashcardformat{\raggedleft}} +\DeclareOption{justify}{\def\flashcardformat{\relax}} +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\DeclareOption{final}{\setlength\overfullrule{0pt}} +\ExecuteOptions{10pt,oneside,justify,final} +\ProcessOptions\relax +\ifdim\paperwidth=0pt +\ClassError{Flashcard}{No papersize specified} + {Please specify one of `a4paper' or `letterpaper' \MessageBreak + as a option to the documentclass} +\fi +\RequirePackage{calc} +\input{size1\@ptsize.clo} +\setlength\lineskip{1\p@} +\setlength\normallineskip{1\p@} +\renewcommand\baselinestretch{} +\setlength\parskip{0pt} +\setlength\parindent{0pt} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} +\def\today{\ifcase\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\fi + \space\number\day, \number\year} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\interlinepenalty=10000 +\pagestyle{empty} +\newsavebox\flashcardi +\newsavebox\flashcardii +\newsavebox\flashcardiii +\newsavebox\flashcardiv +\newsavebox\flashcardv +\newsavebox\flashcardvi +\newsavebox\flashcardvii +\newsavebox\flashcardviii +\newcounter{flashcard} +\setcounter{flashcard}{1} +\newlength\flashcardwidth +\newlength{\flashcardheight} +\newlength{\halfflashcardwidth} +\setlength{\flashcardwidth}{0.5\textwidth-0.5\columnsep-2\fboxrule} +\setlength{\flashcardheight}{0.25\textheight-2\fboxrule-0.5\columnsep} +\setlength{\halfflashcardwidth}{0.5\flashcardwidth - 4pt} + + +\newcommand{\FC@pvbox}[1]{\fboxsep=2pt\fboxrule=0pt\fbox{\vbox{#1}}} +\newcommand\FC@nopadfbox{\fboxsep=0pt\fbox} +\newcommand{\flashcardtopic}[1]{\gdef\theflashcardtopic{#1}} +\flashcardtopic{} + +\providecommand{\flashcardfrontword}{Question} +\providecommand{\flashcardbackword}{Answer} + +\newcommand\flashcard{\@ifnextchar[{\@flashcardx}{\@flashcardx[]}} +\long\def\@flashcardx[#1]{\@ifnextchar[% + {\@flashcardy[#1]} + {\@flashcardy[#1][\theflashcardtopic]}} +\long\def\@flashcardy[#1][#2]#3#4{% +\noindent\FC@nopadfbox{% + \vbox to \flashcardheight{\@parboxrestore + \setlength{\hsize}{\flashcardwidth-4pt}% + \hbox to \flashcardwidth{\strut\FC@pvbox{% + \hsize=\halfflashcardwidth + \leavevmode\raggedright #1}% + \hss\vrule\hss + \FC@pvbox{ + \hsize=\halfflashcardwidth + \leavevmode\raggedleft #2}}% + \hrule + \vss + \FC@pvbox{\advance\hsize by -4pt\flashcardformat #3}% + \vss + \hrule + \hbox to \flashcardwidth{\strut\hfill\FC@pvbox{\flashcardfrontword}}}}% +\ifodd\c@flashcard + \hskip\columnsep +\else + \hfill + \par +\fi +\expandafter\setbox\csname flashcard\romannumeral\c@flashcard\endcsname +\hbox{% +\FC@nopadfbox{% + \vbox to \flashcardheight{\@parboxrestore + \setlength{\hsize}{\flashcardwidth-4pt}% + \hbox to \flashcardwidth{\strut\FC@pvbox{% + \hsize=\halfflashcardwidth + \leavevmode\raggedright #1}% + \hss\vrule\hss + \FC@pvbox{% + \hsize=\halfflashcardwidth + \leavevmode\raggedleft #2}}% + \hrule + \vss + \FC@pvbox{\advance\hsize by -4pt\flashcardformat #4}% + \vss + \hrule + \hbox to \flashcardwidth{\strut\hfill\FC@pvbox{\flashcardbackword}}}}}% + \ifnum\value{flashcard}=8\relax + \vfill + \pagebreak + \noindent\hfill\unhbox\flashcardii\hskip\columnsep\unhbox\flashcardi\par + \noindent\hfill\unhbox\flashcardiv\hskip\columnsep\unhbox\flashcardiii\par + \noindent\hfill\unhbox\flashcardvi\hskip\columnsep\unhbox\flashcardv\par + \noindent\hfill\unhbox\flashcardviii\hskip\columnsep\unhbox\flashcardvii\par\par\vfill\pagebreak + \setcounter{flashcard}{1}% + \else + \stepcounter{flashcard}% + \fi\ignorespaces} + +\AtEndDocument{\flushflashcards} +\newcommand\flushflashcards{% + \loop\ifnum\value{flashcard}>1\@flashcardy[][]{}{}\repeat} + +%\newcount\@@endlinechar +%\@@endlinechar=\endlinechar +\endlinechar=32 %pars must be explicit. + +\endinput + +The use of this class is as follows: + +\documentclass[a4paper]{flashcard} +\renewcommand{\flashcardformat}{\centering\LARGE} +\renewcommand{\flashcardbackword}{Solution} +\flashcardtopic{The Holy Grail} + +\begin{document} +\flashcard{Who rescues Sir Galahad from the Castle Anthrax?}{Sir +Lancelot} +\flashcard[Ni!]{What is the one word the Knights of Ni can't hear?}{It} +\flashcard[][Credits]{What once bit the narrator's sister?}{A Moose} +\flashcard{How does King Arthur defeat the killer rabbit?}{Uses the Holy +Hand Grenade of Antioch} +\flashcard{What majority is required by the peasants council for +external matters?}{2/3} +\flashcard{What initial punishment is to be given to Zut for her setting +off the beacon?}{A spanking} +\flashcard{How much does it cost to `bring out your dead'}{Nine pence} +\flashcard{Who's last words are recorded in the cave?}{Joseph of +Arimathea} +\flashcard{What is the name of the enchanter}{There are some that call +him Tim} +\flashcard{What shape has the earth been proven to be?}{Banana shaped} +\end{document} diff --git a/macros/latex/contrib/misc/hexdump.sty b/macros/latex/contrib/misc/hexdump.sty new file mode 100644 index 0000000000..7246ef87f9 --- /dev/null +++ b/macros/latex/contrib/misc/hexdump.sty @@ -0,0 +1,117 @@ +%%% File Hexdump.sty +%%% Reads an ASCII hexdump file and puts it formated into +%%% the document +%%% +%%% Author : Thomas Hillebrand (thillebrand@my-deja.com) +%%% Date : 04/17/2000 +%%% Version: 0.1 +%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{hexdump}[2000/21/06 v0.1 format hexdumps] +% +% Test weather the package 'moreverb.sty' is loaded +% +\RequirePackage{moreverb} +% +% +% Dump title, defaults to 'Dump' +% The command \dumpname{} sets the title of the dump +% +\newcommand{\dump@head}{Dump} % Default title is 'Dump' +\newcommand{\dumpname}[1]{\renewcommand{\dump@head}{#1}} +% +% Set the fontsize, default is \scriptsize, +% use \dumpfontsize{<size>} to change it +% +\newcommand{\dump@font@size}{\scriptsize} +\newcommand{\dumpfontsize}[1]{\renewcommand{\dump@font@size}{#1}} +% +% Calculate the width +% +\newlength{\dumpwidth} % Variable for textwidth +\settowidth{\dumpwidth}% + {\dump@font@size\texttt{00000000\space\space{}FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFFFFFFFFFFFFFF}} +% The double \space puts two spaces between address and values +% +% Define new counter, arabic numbers +% reset counter, if chapter changes +% +\newcounter{dumpcount}[chapter] +\renewcommand{\thedumpcount}{\thechapter.\arabic{dumpcount}\space} +% +% Now to the page 'list of dumps' +% Set titleword with \dumptocname, this is used for the lod page. +% +\newcommand{\dump@word}{directory} +\newcommand{\dumptocname}[1]{\renewcommand{\dump@word}{#1}} +% +% Define own list of dumps, use \listofdumps +% First let's define the top line of the list of dumps +% then define an entry in the lod file +\newcommand{\listofdumps}{\chapter*{\dump@head\dump@word}\@starttoc{lod}} +\newcommand{\dcaption}[1]{\addcontentsline{lod}{table}% + {\protect\numberline{\thedumpcount}#1}#1} +% +% Now to the main thing: the dump itself. +% Define \inputdump{<file>}{<caption>} +% command to read hex-dump file and put it formatted into document +% Parameter #1 : Floatposition - this is optional +% Parameter #2 : Filename +% Parameter #3 : Caption +% +% A label is also defined: use \ref{dumpname:filename} (see example). +% +\newcommand{\inputdump}[3][htbp]{% + \begin{table}[#1] + \begin{center} + \begin{minipage}{\dumpwidth} + \refstepcounter{dumpcount} + \rule[0.1\baselineskip]{\dumpwidth}{.8pt} + \dump@head \space \thedumpcount{}:\space\dcaption{#3} + \label{\dump@head:#2} % Label contains title and filename + \newline + \rule[0.33\baselineskip]{\dumpwidth}{.8pt} + \ttfamily\dump@font@size + \verbatimtabinput{#2} + \rule[0.75\baselineskip]{\dumpwidth}{.8pt} + \end{minipage} + \end{center} + + \end{table} +} % end newcommand +% +% End of file hexdump.sty +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Here's a sample tex file +% +%\documentclass{book} +%\usepackage{hexdump} +% +%\dumpsize{\tiny} % will give _very_ small dumps, better use default setting +%\dumptocname{directoy} +%\dumpname{Dump} +% +%\begin{document} +%\listofdumps % the title will be 'Dumpdirectory', see above +% +%\capter{Bar} +% +%\inputdump{test.hex} % assumed that file test.hex contains the dump +% +%The dump is shown in dump \ref{Dump:test.hex}. +%\end{document} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Now to the legal stuff: +% +% Copyright (c) Thomas Hillebrand 2000 +% +% Usage of this file is unlimited, but I guarantee for nothing - except +% that it uses space on your harddisk. As usual, use this file at your +% own risk. +% +% You are encouraged to modify this file, but please be so kind to e-mail +% me your modifications. Maybe they are included in the next release... +% diff --git a/macros/latex/contrib/misc/iagproc.cls b/macros/latex/contrib/misc/iagproc.cls new file mode 100644 index 0000000000..4848959b1d --- /dev/null +++ b/macros/latex/contrib/misc/iagproc.cls @@ -0,0 +1,265 @@ +%% +%% This is the file `iagproc.cls' intended for formatting submissions to +%% IAG (International Association of Geodesy) Proceedings. +%% +%% Originally written as 'banff.cls', for the Banff GGG2000 symposium. +%% An adaptation from 'article.cls', (c) The LaTeX3 Project and +%% individual authors: +%% +%% Leslie Lamport +%% Johannes Braams +%% David Carlisle +%% Alan Jeffrey +%% Frank Mittelbach +%% Chris Rowley +%% Rainer Schoepf +%% +%% License +%% +%% 'iagproc.cls' is free software that can be redistributed and/or +%% modified under the terms of the LaTeX Project Public License as +%% specified in the LaTeX Project Public License: +%% +%% http://www.latex-project.org/lppl.html +%% +%% Adapted from 'article.cls' (c) Martin Vermeer 2000 +%% Small adaptations (c) Hussein Abd-Elmotaal 2000 +%% Small adaptations (c) Martin Vermeer 2003 +%% +%% Your class definition should be +%% +%% \documentclass{iagproc} +%% +\NeedsTeXFormat{LaTeX2e} + +\ProvidesClass{iagproc} + [2003/01/22 v0.3 IAG Conference Proceedings] +% Options: +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax +% +\LoadClass[10pt,twocolumn]{article} +%%\RequirePackage{mathptm} +%%\RequirePackage{times} +\RequirePackage{natbib} +%%\RequirePackage{apalike} +% Redefine \maketitle: +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \twocolumn[\@maketitle]% + \global\@topnum\z@ % Prevents figures from going at top of page. + \thispagestyle{empty}% + \@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +% +\def\@maketitle{% + \newpage + \vbox to 4.8cm { + \let \footnote \thanks + {\par\normalfont\huge\bfseries\sffamily% + \raggedright% + \@title\par}% + \vskip 0.6cm + \normalfont\normalsize\@author% + }% +}% +% +\newcommand\keywordsname{Keywords} + +\newcommand*\abstractlabel[1]{\normalfont\bfseries\abstractname.\quad}% +\newcommand*\keywordslabel[1]{\normalfont\bfseries\keywordsname.\quad}% +\renewenvironment{abstract}{% + \list{}{\topsep\z@% + \labelsep\z@% + \labelwidth\z@% + \itemindent\z@% + \rightmargin\z@% + \leftmargin\z@% + \let\makelabel\abstractlabel}% + \item\relax + }% + {\endlist}% +% +\newenvironment{keywords}{% + \list{}{\topsep\z@% + \labelsep\z@% + \labelwidth\z@% + \itemindent\z@% + \rightmargin\z@% + \leftmargin\z@% + \let\makelabel\keywordslabel}% + \item\relax + }% + {\endlist\par\vskip4mm\hrule}% +% +% Redefine \section and \subsection: +%\renewcommand\chapter{\@startsection {chapter}{0}{\z@}% +% {-3.25ex \@plus -0.6ex \@minus -.2ex}% +% {4mm \@plus0.1ex}% +% {\normalfont\raggedright\Large\bfseries\sffamily}} +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-4mm \@plus -0.6ex \@minus -.2ex}% + {4mm \@plus0.1ex}% + {\normalfont\raggedright\large\bfseries\sffamily}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-4mm \@plus -0.3ex \@minus -.2ex}% + {4mm \@plus0ex}% + {\normalfont\raggedright\bfseries\sffamily}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-4mm \@plus -0.2ex \@minus -.2ex}% + {4mm \@plus0ex}% + {\normalfont\raggedright\sffamily\bfseries\itshape}} +% Redefine section, subsection numbering: +\renewcommand \thesection {\@arabic\c@section} +\renewcommand\thesubsection{\thesection.\@arabic\c@subsection} +\renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection} + +% +\newcommand{\journal}[1]{\def\@journal{#1\ }} + +\setlength\intextsep{8mm} +\setlength\floatsep{8mm} +\setlength\abovecaptionskip{2mm} +\setlength\belowcaptionskip{2mm} + +% Redefine default font etc.: +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \small + \sbox\@tempboxa{\textbf{#1.} #2}% +%% \ifdim \wd\@tempboxa >\hsize +%% \@hangfrom{\textbf{#1.} }#2\par + \textbf{#1.} #2\par +%% \else +%% \global \@minipagefalse +%% \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% +%% \fi + \vskip\belowcaptionskip +}% +\renewenvironment{table} + {\@float{table}\small} + {\end@float} +\renewenvironment{table*} + {\@dblfloat{table}\small} + {\end@dblfloat} +\newenvironment{acknowledgements}{% + \list{}{\labelsep\z@% + \labelwidth\z@% + \itemindent\z@% + \leftmargin\z@% + \let\makelabel\acknowslabel}% + \item\relax + \small\itshape}% + {\endlist}% + +\def\refname{References} + +\def\@cite#1#2{(#1\if@tempswa , #2\fi)} +\def\@biblabel#1{} + +\def\thebibliography#1{\section*{\refname\@mkboth + {\sl\uppercase{\refname}}{\sl\uppercase{\refname}}}\list + {\relax}{\setlength{\labelsep}{0em} + \setlength{\itemindent}{-4mm} + \setlength{\leftmargin}{4mm}} + \setlength{\parsep}{0pt} + \setlength{\itemsep}{0pt plus 2pt} +% \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}% + +\renewcommand\labelitemi[0]{\(\circ\)} +\renewcommand\labelitemii[0]{\(\triangleright\)} +\renewcommand\labelitemiii[0]{\normalfont\bfseries{--}} +\renewcommand\labelitemiv[0]{\(\cdot\)} +% +\renewcommand{\topfraction}{.9} +\renewcommand{\bottomfraction}{.9} +\renewcommand{\textfraction}{.1} +\pagestyle{plain} +%\input{fleqn.clo} %%% deactived by Hussein +\setlength{\columnsep}{8mm} +\setlength{\textheight}{224mm} +\setlength{\textwidth}{156mm} +% +\setlength\parindent{4mm} +\flushbottom +%\setlength\mathindent{4mm} %%% deactivated Hussein +% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This is a new section added by Hussein +%% to allow the balance of the two columns +%% of the last page of the manuscript +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\@BAlancecol}{\if@twocolumn + \setbox0=\vbox{\unvbox\@outputbox} \@tempdima=\ht0 + \advance\@tempdima by \topskip \advance\@tempdima + by -\baselineskip \divide\@tempdima by 2 + \splittopskip=\topskip + {\vbadness=\@M \loop \global\setbox3=\copy0 + \global\setbox1=\vsplit3 to \@tempdima + \ifdim\ht3>\@tempdima \global\advance\@tempdima by 1pt \repeat} + \setbox\@leftcolumn=\vbox to \@tempdima{\unvbox1\vfil} + \setbox\@outputbox=\vbox to \@tempdima + {\dimen2=\dp3\unvbox3\kern-\dimen2 + \vfil} + \fi} +\newif\if@BAlanceone +\global\@BAlanceonefalse +\newdimen\oldvsize +\newcommand{\@BAdblcol}{\if@firstcolumn + \unvbox\@outputbox \penalty\outputpenalty + \global\oldvsize=\@colht \global\multiply \@colht by 2 + \global\@BAlanceonetrue + \global\@firstcolumnfalse + \else \global\@firstcolumntrue + \if@BAlanceone + \global\@BAlanceonefalse\@BAlancecol + \global\@colht=\oldvsize \else + \PackageWarningNoLine{balance} + {You have called \protect\balance\space + in second column\MessageBreak + Columns might not be balanced}\fi + \setbox\@outputbox\vbox to \@colht{\hbox to\textwidth + {\hbox to\columnwidth {\box\@leftcolumn \hss}\hfil + \vrule width\columnseprule\hfil \hbox to\columnwidth + {\box\@outputbox \hss}}\vfil}\@combinedblfloats + \@outputpage \begingroup \@dblfloatplacement + \@startdblcolumn \@whilesw\if@fcolmade \fi + {\@outputpage\@startdblcolumn}\endgroup + \fi} +\newcommand{\@BAcleardblpage}{\clearpage\if@twoside \ifodd\c@page\else + \hbox{}\newpage\fi\fi} +\newcommand{\balance}{\global\let\@outputdblcol=\@BAdblcol + \global\let\cleardoublepage=\@BAcleardblpage} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This is a new section added by Hussein +%% for float seperation +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\dblfloatsep 10pt plus 2pt minus 4pt \dbltextfloatsep 10pt plus 2pt minus 4pt +\@fptop 0pt plus 1fil \@fpsep 10pt plus 2fil \@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil \@dblfpsep 10pt plus 2fil \@dblfpbot 0pt plus 1fil + +\endinput +%% +%% End of file `iagproc.cls'. + diff --git a/macros/latex/contrib/misc/linsys.sty b/macros/latex/contrib/misc/linsys.sty new file mode 100644 index 0000000000..e8582db9d6 --- /dev/null +++ b/macros/latex/contrib/misc/linsys.sty @@ -0,0 +1,27 @@ +%%%%%%%%%%%%%%%%%%%%%%%
+%% Copyleft
+%% Walter A. Kehowski
+%% Department of Mathematics
+%% Glendale Community College
+%% walter.kehowski@gcmail.maricopa.edu
+%% \begin{linsys}{2}
+%% -x & + & 4y & = & 8\\
+%% -3x & - & 2y & = & 6
+%% \end{linsys}
+%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{array} % TLC p465
+\RequirePackage{pifont}
+\makeatletter
+%% math-mode column types ------------------
+\newcolumntype{\@R}{>{$}r<{$}}
+\newcolumntype{\@L}{>{$}l<{$}}
+\newcolumntype{\@C}{>{$}c<{$}}
+\newcounter{@dingctr}
+\newcommand{\@wding}{\ding{\value{@dingctr}}\stepcounter{@dingctr}}
+\newcommand{\@dinglabel}{\@wding}
+\newenvironment{linsys}[1]{%
+\setcounter{@dingctr}{192}%
+\begin{tabular}{!{\@dinglabel}*{#1}{\@R\@C}\@R}}%
+{\end{tabular}\setcounter{@dingctr}{192}}
+\makeatother
+\endinput
diff --git a/macros/latex/contrib/misc/mitpress.sty b/macros/latex/contrib/misc/mitpress.sty new file mode 100644 index 0000000000..ec6307d24f --- /dev/null +++ b/macros/latex/contrib/misc/mitpress.sty @@ -0,0 +1,33 @@ +% mitpress.sty +\typeout{LaTeX style for MIT Press format.} +% Use it as \documentstyle[mitpress,...]{article} +\textheight 21.6cm +\textwidth 12.9cm +% latex.ltx defines arraycolsep as a dimension, so use \setlength (gp 09/18/1998) +%\renewcommand{\arraycolsep}{1pt} +\setlength{\arraycolsep}{1pt} +\def\@maketitle{\vbox to 2.5in{\hsize\textwidth \linewidth\hsize \vfil + \raggedright + {\LARGE\bf \@title \par} % Title set in \LARGE size. + \vskip 2em % Vertical space after title. + {\large \@author} +% {\large \begin{tabular}[t]{l}\@author \end{tabular}\par} + \vfil}} +\def\section{\@startsection {section}{1}{\z@}{-1.5ex}{1.5ex}{\large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-1.2ex}{1.2ex}{\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-1ex}{1ex}{ + \normalsize\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{1ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{1ex}{-1em}{\normalsize\bf}} +\def\thebibliography#1{\section*{References\@mkboth + {REFERENCES}{REFERENCES}}\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \itemsep 0pt \parsep 0pt + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\endinput diff --git a/macros/latex/contrib/misc/nextpage.sty b/macros/latex/contrib/misc/nextpage.sty new file mode 100644 index 0000000000..67f716cad0 --- /dev/null +++ b/macros/latex/contrib/misc/nextpage.sty @@ -0,0 +1,55 @@ +% nextpage.sty +% +% Provides additional \clear...page commands +% +% Author: Peter Wilson, Herries Press +% Maintainer: Will Robertson (will dot robertson at latex-project dot org) +% Copyright 1996--2000 Peter Wilson +% Released under the LaTeX Project Public License +% +% Changes in v1.1a - New maintainer (Will Robertson) +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{nextpage}[2009/09/03 v1.1a additional page commands] + +% clear to next page is: +% \clearpage + +% clear to next even numbered page, +% putting optional arg on skipped page, if any +\newcommand{\cleartoevenpage}[1][\@empty]{% + \clearpage% + \ifodd\c@page\hbox{}#1\clearpage\fi} + +% move to next page without flushing floats is: +% \newpage + +% move to next even numbered page without flushing floats, +% putting optional arg on skipped page, if any +\newcommand{\movetoevenpage}[1][\@empty]{% + \newpage% + \ifodd\c@page\hbox{}#1\newpage\fi} + +% clear to next odd numbered page, +% putting optional arg on skipped page, if any +\newcommand{\cleartooddpage}[1][\@empty]{% + \clearpage% + \ifodd\c@page\else\hbox{}#1\clearpage\fi} + +% move to next odd numbered page without flushing floats, +% putting optional arg on skipped page, if any +\newcommand{\movetooddpage}[1][\@empty]{% + \newpage% + \ifodd\c@page\else\hbox{}#1\newpage\fi} + +\endinput + +% NOTE: If used with the epigraph package, +% then nextpage.sty must be loaded first. +% Example uses: +% \cleartooddpage % same as \cleardouble page +% \cleartooddpage[\thispagestyle{empty}] % No headings on the skipped page +% \cleartoevenpage % go to next even numbered page +% Next example puts text on a skipped page +% \cleartoevenpage[\vspace*{\hfill}THIS PAGE LEFT BLANK\vspace*{\hfill}] +% diff --git a/macros/latex/contrib/misc/texilikechaps.sty b/macros/latex/contrib/misc/texilikechaps.sty new file mode 100644 index 0000000000..d4c479d8f0 --- /dev/null +++ b/macros/latex/contrib/misc/texilikechaps.sty @@ -0,0 +1,137 @@ +%%%%%%%%%%%%%%%%%%%
+% texilikechaps.sty
+%%%%%%%%%%%%%%%%%%%
+% texilikechaps.sty, June 13, 2008
+%
+% Released under LaTeX Project Public License v3.1 or above.
+%
+% http://www.latex-project.org/lppl.txt
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is
+% Jose-Luis Rivera N.
+% jlrn77 at gmail punto com
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+% based on
+% jeep.sty, April 29, 1991
+% G. W. Stewart
+% Department of Computer Science
+% University of Maryland
+% College Park, MD 20784
+%
+% stewart at thales.umd.edu
+%
+% with ideas borrowed from secdot.sty, by Robin Fairbairns.
+%
+% Define the command \txichapter{<format>}. <format>
+% is the format to put in the chapter head.
+%
+% The command \txisection{<seclevel>}{<format>}
+% defines the <format> for the <seclevel>.
+%
+% The command \txichapterdelim{<code>} sets the
+% <code> as the delimiter between chapter number and
+% chapter/section name.
+% You may change the default \squad for .\space saying
+% \txichapterdelim{.\space}
+%
+% The rest should be self explanatory.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This is experimental code. Bypass it.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%\def\@chapapp{Chapter}
+%\def\chapapp{\@chapapp}
+
+%\def\txichapter#1#2{
+% \def\@chaphead##1{#1}
+% \def\@schaphead##1{#2}
+%}
+
+%\def\@makechapterhead#1{ \vspace*{\chaptopsep} { \parindent 0pt \raggedright
+% \ifnum \c@secnumdepth >\m@ne \@chaphead{#1} \else \@schaphead{#1} \fi
+% \par \nobreak \vskip \chapaftersep } }
+
+%\def\@makeschapterhead#1{ \vspace*{\chaptopsep} { \parindent 0pt \raggedright
+% \@schaphead{#1}\par
+% \nobreak \vskip \chapaftersep } }
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Here comes the real stuff.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \change{1.0}{20080614}{First release.}
+% \change{1.0a}{20121214}{Reduced chapter style from LARGE to Large.}
+%
+\ProvidesPackage{texilikechaps}[2012/12/14 v1.0a Texinfo-like chapters and sections]
+
+\newcommand{\txisct@chapapp}{}
+
+\@ifundefined{@makechapterhead}{}{
+ \let\txisct@old@makechapterhead\@makechapterhead
+ \renewcommand{\@makechapterhead}[1]{%
+ \vspace*{\txisct@chaptopsep}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \txichapter \txisct@chapapp\space\thechapter\txichapterdelim\space #1
+ \par\nobreak
+ \vskip\txisct@chapaftersep
+ }}
+}
+\@ifundefined{@makeschapterhead}{}{
+ \let\txisct@old@makeschapterhead\@makeschapterhead
+ \renewcommand{\@makeschapterhead}[1]{%
+ \vspace*{\txisct@chaptopsep}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \txichapter #1
+ \par\nobreak
+ \vskip\txisct@chapaftersep
+ }}
+}
+\newcommand{\txichapter}[1][\normalfont\Large\bfseries]{#1}
+\newcommand{\txichapterdelim}[1][\quad]{#1}
+\newcommand{\restorechapapp}{\let\txisct@chapapp\@chapapp}
+
+% \chaptopsep is the space between the top of the text page and the
+% chapter head. \chapaftersep is the space between the chapter
+% head and the text.
+
+\newlength{\txisct@chaptopsep}
+\setlength{\txisct@chaptopsep}{.5in}
+\newlength{\txisct@chapaftersep}
+\setlength{\txisct@chapaftersep}{.3in}
+
+% Default chapter format.
+
+\newcommand{\chapterheadfmt}[1][\Large\bfseries]{#1}
+
+% The following code has been rendered obsolete by the sectsty package
+% Here it goes, anyway.
+% As \section and \subsection commands typeset the titles rather large
+% in standard classes, we make them smaller.
+% We reduce the above and under spaces as well.
+
+\newcommand{\txisection}[2]{%
+ \expandafter\renewcommand\csname #1\endcsname{\@startsection{#1}{1}{\z@}%
+ {-1.5ex\@plus -.2ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {#2}}
+}
+
+\txisection{section}{\normalfont\large\bfseries}
+\txisection{subsection}{\normalfont\normalsize\bfseries}
+\txisection{subsubsection}{\normalfont\normalsize\bfseries}
+
+% And that's all, folks!
+
+\endinput
diff --git a/macros/latex/contrib/misc/texilikecover.sty b/macros/latex/contrib/misc/texilikecover.sty new file mode 100644 index 0000000000..cdd6deb804 --- /dev/null +++ b/macros/latex/contrib/misc/texilikecover.sty @@ -0,0 +1,43 @@ +% texilikecover.sty v 0.1 5-Apr-2007 +% Copyright (C) 2007 by Alberto Simões +% +% These macros may be freely transmitted, reproduced, or modified +% provided that this notice is left intact. +% +% Quick recipe: +% \usepackage{texilikecover} +% \title{My Title} +% \subtitle{My Subtitle} +% \date{Date or version info} +% \author{Name \and Name \and Name} +% +% \begin{document} +% \maketitle +% +% Contact me using ambs -at- cpan -dot- org +% +\ProvidesPackage{texilikecover}[2007/04/05 v 0.1: Texi-like cover for LaTeX2e.] + +\newcommand{\subtitle}[1]{\def\@subtitle{#1}} + +\renewcommand{\and}{\\} + +\renewcommand{\maketitle}{ + \thispagestyle{empty} + \mbox{} + \vfill + \noindent{\huge\bf \@title}\\ + \rule{\textwidth}{3pt} + \begin{flushright} + \vskip -3mm + \@subtitle\\ + \@date + \end{flushright} + \vfill\vfill + \begin{flushleft} + \bf\Large + \@author + \end{flushleft} + \vskip -5mm\rule{\textwidth}{2pt} + \cleardoublepage +}
\ No newline at end of file diff --git a/macros/latex/contrib/misc/thrmappendix.sty b/macros/latex/contrib/misc/thrmappendix.sty new file mode 100644 index 0000000000..97044a6e2e --- /dev/null +++ b/macros/latex/contrib/misc/thrmappendix.sty @@ -0,0 +1,217 @@ + \long\def\comment#1{} + \comment{ +This is my implementation of theorems, lemmas, &c. The main goal is +to let you reprint theorems in the appendix with their proofs, so the +text isn't cluttered with long proofs, but the reader doesn't have to +keep flipping back to the text to find out what you're talking about in +the appendix. + +It also has the side benefits that the syntax here involves less typing +and fewer redundancies than the default, so I use it even for things +that won't ever be proven. Compare the standard: + + \begin{definition} \label{xdef} + Let $x$ be a number. + \end{definition} + +versus the alternative here: + + \stmt{defn}{xdef}{ + Let $x$ be a number. + } + + + __________________________________________ + +Here is a quick summary of the macros defined in this file: +\stmt{statement_type}{label}{This is what I want to say} + The definition of a theorem, assumption, &c. +\stmtproof{label}{This is the proof.} + Where you should write your proof, for use with: +\rptstmtwithproof{label} + This states the theorem and proof together. +\rptstmt{label} + This restates just the theorem. +\refstmt{label} + Prints, e.g., `Theorem 7'---like \ref{label} but you don't have + to remember if it's a theorem, corollary, or lemma. +\comment{blather} + Delineates comments without all those darn percent signs. + + __________________________________________ +Here is a sample document using most all of the above. You can cut and +paste it to another file and compile it to see what it does. + +\documentclass{article} +\usepackage{thrmappendix} +\begin{document} + +\section{A theorem} + +\stmt{thrm}{sample}{Socrates is mortal.} + +\refstmt{sample} can either be proven using data (the fact that +Socrates is dead), or by the proof which is provided in the appendix. + + + +\section{Appendix} +In this appendix, the reader will find proofs of theorems not given in the text. + +\stmtproof{sample}{Socrates is a man. All men are mortal.} + +\rptstmtwithproof{sample} + +\comment{Notice that you can put the \stmtproof{sample}{...} anywhere +you want, including right after your statement, just before using +\rptstmtwithproof, or a separate file (then use \input{proofs.tex}). That +way, neither your finished paper nor your source will be cluttered with +proofs.} +\end{document} + __________________________________________ + + + +Here are the definitions of the types of theorems you can use +with these commands, and the proof markers: + } + +\long\def\theproofmarkersforthrmappendix{ + +%Format: +%\newtype{nickname}{numbered like}{title} + +%inputs +\newtype{ass}{ass}{Assumption} +\newtype{defnition}{ass}{Definition} +\newtype{defn}{ass}{Definition} + +%outputs +\newtype{statement}{statement}{Proposition} +\newtype{prop}{statement}{Proposition} +\newtype{thrm}{statement}{Theorem} +\newtype{corr}{statement}{Corollary} +\newtype{lma}{statement}{Lemma} +\newtype{guess}{statement}{Conjecture} + + +\def\pf{{\bf Proof: }} +\def\endpf{\hfill $\diamondsuit$} +} + + \comment{ +These are my preferred environments (and numbering scheme); +add your own or modify to suit. The format here is: +\newtype{nickname}{numbered like}{title} + +E.g., the second line lets me put + \stmt{thrm}{mortalityresult}{Socrates is mortal.} +in the tex file, since it defined the nickname `thrm'. If the statement +counter is up to #7, then the output will be: + Theorem 7: Socrates is mortal. +since thrms use the statement counter and print `Theorem'. To refer to +this theorem in the text, you have two choices: + \refstmt{mortalityresult} ===> Theorem 7 + Theorem \ref{mortalityresult} ===> Theorem 7 +The first form is nice because after you prove your result, you can +change it from a theorem to a conjecture without hunting through the +text to fix every reference. + +You can see that all of the results use the `statement' counter and +all of the inputs use the `ass' counter. Proposition 1 may be followed +by Theorem 2, followed by Corollary 3. This is my preferred numbering +scheme, suggested by Paolo Ghirardato. After all, the intent of numbering +these things is not to keep score as to how many theorems you've got, +but to make it easy for the reader to find what you're referring to; +a consistent numbering system facilitates this (especially in a long proof +appendix). + +[On the other hand, a referee of one of my papers complained that +17 theorems and 18 corollaries was too many, and I could cut that in +half. Of course, there were only 18 results total, and s/he was only +glancing at the two results on the last page.] + +To use independent numbering for each type, simply change the second field +in the definitions above to match the first field in each case. E.g.: + \newthrm{thrm}{thrm}{Theorem} +will allow you to count theorems separately from other results. + + +The \rptstmtwithproof macro here will include a marker at the beginning +and end of the proof, so you don't have to include them yourself. +The macros \pf and \endpf are defined above and can be redefined to +suit. Popular endproof markers include: + + \def\endpf{$blackbox$} + \def\endpf{$blacklozenge$} + \def\endpf{{\sc QED}} + + + --Ben Klemens, 2 Jan 2003 + b@avocado.caltech.edu + + + +PS: thrmappendix.sty (c)2003, Ben Klemens +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + __________________________________________} + +\usepackage{ifthen} +\def\newtype#1#2#3{ +\ifthenelse{\equal{#1}{#2}}{ +\long\expandafter\gdef\csname #1txt\endcsname{#3} +\long\expandafter\gdef\csname #1ctr\endcsname{#2} +\newtheorem{#1}{\csname #1txt\endcsname} +}{ +\long\expandafter\gdef\csname #1txt\endcsname{#3} +\long\expandafter\gdef\csname #1ctr\endcsname{#2} +\newtheorem{#1}[\csname #1ctr\endcsname]{\csname #1txt\endcsname} +}} + +\theproofmarkersforthrmappendix %from the user-readable section above. + +\def\cs#1{\csname #1\endcsname} +\newcounter{dummycounter} + +\long\def\defstmt#1#2#3{ +} + +\long\def\stmt#1#2#3{ + \long\expandafter\gdef\csname #2\endcsname{#3} + \expandafter\gdef\csname #2type\endcsname{#1} + \begin{#1} \label{#2} + {#3} + \end{#1} +\immediate\write\@mainaux{\string +\newlabel{#2type}{{\cs{#1txt}}} + } +} + +\long\def\stmtproof#1#2{ +\long\expandafter\gdef\csname #1proof\endcsname{#2} +} + +\long\def\rptstmt#1{ + \def\ctr{\cs{\cs{#1type}ctr}} +% \setcounter{paragraph}{\value{\ctr}} + \setcounter{dummycounter}{\value{\ctr}} +\batchmode + \setcounter{\ctr}{\ref{#1}} +\errorstopmode + \addtocounter{\ctr}{-1} + \begin{\cs{#1type}} + \cs{#1} + \end{\cs{#1type}} + \setcounter{\ctr}{\value{dummycounter}} +} + +\long\def\rptstmtwithproof#1{ + \rptstmt{#1} + + \pf \cs{#1proof} \endpf +} + +\def\refstmt#1{\ref{#1type} \ref{#1}} diff --git a/macros/latex/contrib/misc/topcapt.sty b/macros/latex/contrib/misc/topcapt.sty new file mode 100644 index 0000000000..c5b7d8ddcb --- /dev/null +++ b/macros/latex/contrib/misc/topcapt.sty @@ -0,0 +1,61 @@ +\@ifundefined{ProvidesPackage}{\def\ProvidesPackage#1[#2]{}}{} +\ProvidesPackage{topcapt}[2004/12/11 v1.2 Caption at top of float] + +% Copyright 1994, 1998, 1999, 2004 Robin Fairbairns +% +% This program can 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 (at your option) any later version. +% +% This is a jiffy LaTeX package that enables coherent setting +% of the caption _above_ a figure or table +% +% Author: Robin Fairbairns 1994/11/18 +% Bugfix from Bernd Schandl incorporated 1998/12/31 +% First stab at hyperref interworking 2004/12/11 +% Copyright statement incorporated 1999/03/03 +% +% Works under 2e or 2.09 +% +% Usage: \usepackage{...,topcapt,...} (2e) +% \documentstyle[...,topcapt,...]{whateverclass} (2.09) +% +% defines a \topcaption command that sets a caption as if above the +% table (i.e., with the abovecaptionskip and the belowcaptionskip +% exchanged) + +\@ifundefined{abovecaptionskip}{% in 2.09 + \newlength\abovecaptionskip + \newlength\belowcaptionskip + \setlength\abovecaptionskip{10pt} + \setlength\belowcaptionskip{0pt} + \long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{#1: #2}% + \ifdim \wd\@tempboxa >\hsize + #1: #2\par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} + }{% in 2e; everything's already set up as above +} + +% \topcaption simply advances the caption count, sorts out the +% arguments and passes on to \@topcaption +\newcommand\topcaption{% + \@ifundefined{H@refstepcounter}% + {\refstepcounter}{\H@refstepcounter}\@captype + \@dblarg{\@topcaption\@captype}% +} + +% \@topcaption swaps above and below caption skips and the relays its +% arguments to \@caption +\def\@topcaption#1[#2]#3{\@tempskipa\abovecaptionskip + \abovecaptionskip\belowcaptionskip + \belowcaptionskip\@tempskipa + \@caption{#1}[{#2}]{#3}% + \@tempskipa\abovecaptionskip + \abovecaptionskip\belowcaptionskip + \belowcaptionskip\@tempskipa} diff --git a/macros/latex/contrib/misc/ut-backref.sty b/macros/latex/contrib/misc/ut-backref.sty new file mode 100644 index 0000000000..89358c5db6 --- /dev/null +++ b/macros/latex/contrib/misc/ut-backref.sty @@ -0,0 +1,163 @@ +%% +%% This is file `ut-backref.sty', +%% +%% Most of the code in here is taken from: +%% +%% File: backref.dtx Copyright (C) 1995, 1996, 1997 David Carlisle, +%% Sebastian Rahtz +%% +%% +\def\fileversion{1.2} +\def\filedate{1998/11/03} +\ProvidesPackage{ut-backref}[\filedate: + bibliographical back referencing, \fileversion] + +%%% User-Interface + +\long\def\page@backref#1#2#3{#1} +\long\def\section@backref#1#2#3{#2} +\long\def\hyper@section@backref#1#2#3{\hyperlink{#3}{#2}} +\long\def\hyper@page@backref#1#2#3{\hyperlink{page.#1}{#1}} +\DeclareOption{pageref}{% + \def\backref{\small(cited on p\thinspace}% + \def\backrefs{\small(cited on pp\thinspace}% + \def\backrefclose{)}% + \def\backrefsclose{)}% + \let\backrefxxx\page@backref +} +\DeclareOption{ref}{% + \def\backref{\small(cited in section\thinspace}% + \def\backrefs{\small(cited in sections\thinspace}% + \def\backrefclose{)}% + \def\backrefsclose{)}% + \let\backrefxxx\section@backref +} +\DeclareOption{hyperref}{% + \def\backref{}% + \def\backrefs{}% + \def\backrefclose{}% + \def\backrefsclose{}% + \let\backrefxxx\hyper@section@backref +} +\DeclareOption{hyperpageref}{% + \def\backref{}% + \def\backrefs{}% + \def\backrefclose{}% + \def\backrefsclose{}% + \let\backrefxxx\hyper@page@backref +} +\ExecuteOptions{pageref} +\ProcessOptions + +%%% + +\newcommand\loopcmd{} +\newcommand\br@last{} + +%%% a standard loop with `delimited arguments'. \end is used +%%% only as an end marker here. The argument will be +%%% expanded, so you'll get the meaning of e.g. \backrefxxx as +%%% last element. +\def\@getlast#1,#2\end{% +% \typeout{ checking elem #1}% + \if!#2! % test if ! equals !, i.e. if #2 is empty + \edef\br@last{#1} +% \typeout{Last elem is: \br@last}% + \let\loopcmd\relax + \else + \def\loopcmd{\@getlast#2\end}% + \fi + \loopcmd +}% + +%%% A wrapper adding `,' and `\end' so that we can check these +%%% in \@getlast +\newcommand\getlast[1]{\expandafter\@getlast#1,\end} + +\newcounter{br@el@mcnt} + +%%% this uses LaTeX's \@for ... \do loop. See ltcntrl.dtx for details. +\newcommand\lengthof[1]{% + \setcounter{br@el@mcnt}{0}% + \@for\testitem:=#1\do + {\stepcounter{br@el@mcnt}} +% \typeout{length of #1 is: \arabic{br@el@mcnt}} + } + +%%% + +\@ifundefined{newblock}{\def\newblock{\par}}{} + +\def\xcitedOn#1{% +\@ifundefined{br@#1}{% +\typeout{Warning: No page list for reference `#1'.}% +}{% At least one citation, find out how many +\newblock% newline if "open" format used +\edef\x{\csname br@#1\endcsname}% These are the citations +\lengthof{\x}% number of citations will be in br@el@mcnt +\ifnum\arabic{br@el@mcnt}>1% More than one citation? +\backrefs% +\x% +\backrefsclose% +\else% exactly one citation +\backref% +\x% +\backrefclose% +\fi% +}% end of if defined +}% end of \def\xcitedOn + +\def\xbibitem{\@ifnextchar[{\@xlbibitem}{\@xbibitem}} +\def\@xlbibitem[#1]#2#3\par{% + \oldb[#1]{#2}#3\xcitedOn{#2} + \par +}% +\def\@xbibitem#1#2\par{% + \oldb{#1}#2\xcitedOn{#1} + \par +} +\def\backcite#1#2{% #1 = list of labels, #2 = page, section, text + \@for\x:=#1\do{% for each label in list + \edef\br@label{\thinspace\protect\backrefxxx#2}% + \edef\br@list{\csname br@\x\endcsname}% + \getlast{\br@list}% +% \typeout{label \meaning\br@label, last \meaning\br@last} + \ifx\br@label\br@last + \relax\else% + \edef\x{\expandafter\@firstofone\x\@empty}% + \expandafter\protected@xdef\csname br@\x\endcsname{% + \expandafter\ifx\csname br@\x\endcsname\relax\else + \csname br@\x\endcsname,\fi\thinspace\protect\backrefxxx#2}% + \fi + }} +\def\@currentHref{} +\AtBeginDocument{% + \let\oldb\bibitem + \let\bibitem\xbibitem + \let\oldbibl\thebibliography + \def\thebibliography{\@starttoc{brf}{}\oldbibl} + \@ifundefined{NAT@parse}{% + \global\let\old@citex\@citex + \global\let\@citex\x@citex + }{\typeout{** backref set up for natbib ***}} +} +\def\x@citex[#1]#2{% + \old@citex[#1]{#2}% + \hy@backout{#2}% +} +\def\hy@backout#1{% + \@bsphack + \ifx\@empty\@currentlabel + \protected@write\@auxout{}% + {\string\@writefile{brf}% + {\string\backcite{#1}{{\thepage}{(document)}{Doc-Start}}}}% + \else + \protected@write\@auxout{}% + {\string\@writefile{brf}% + {\string\backcite{#1}{{\thepage}{\@currentlabel}{\@currentHref}}}}% + \fi + \@esphack +} +\endinput +%% +%% End of file `backref.sty'. diff --git a/macros/latex/contrib/misc/verbasef.sty b/macros/latex/contrib/misc/verbasef.sty new file mode 100644 index 0000000000..48687d99c4 --- /dev/null +++ b/macros/latex/contrib/misc/verbasef.sty @@ -0,0 +1,339 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% verbasef.sty
+%
+% This stands for VERBatim Automatic Splitting of External Files.
+%
+% Copyright (c) 1994 by Paul A. Thompson, All Rights Reserved.
+% Copy freely as per the GNU Copyleft.
+%
+% Requires:
+% The New Font Selection Scheme (NFSS) as implemented in LaTeX2e
+% VERBATIM.STY ::: Rainer Schoepf
+% VRBEXIN.STY ::: You
+% However, it is based on vrbinput.sty, a style by
+% Bernd Raichle which must be revised as discussed below
+% in the section labeled IMPORTANT
+% HERE.STY ::: David Carlisle
+%
+% verbasef allows you to input (subsections of a) file, print them in
+% verbatim mode, while automatically breaking up the inputted lines into
+% pieces of a given length, which are output as figures. These figures are
+% posted using the [H] specification, which forces LaTeX to place the figure
+% at the spot of invocation, rather than floating the figures to the top of
+% the next page.
+%
+% Options for the verbasef specification include:
+% o numbering of input lines
+% o differential number of lines for the first page
+% o specification of the font for the verbatim output
+% o specification of the font for the optional line numbering
+% o specification of line numbers as labels
+% To use the labelling feature, non-standard approaches must be used.
+% A line number will be inserted into the main .aux file with label foo,
+% if the specification
+%
+% Vzzlabel|foo|
+%
+% is inserted AFTER the line which is to be indicated. Thus, if we have
+% a file with the following
+%
+% a line
+% b line
+% Vzzlabel|fooa|
+% c line
+% Vzzlabel|foob|
+% d line
+% Vzzlabel|fooc|
+% e line
+% f line
+% Vzzlabel|food|
+%
+% these lines will be found in the .aux file.
+% \newlabel{fooa}{{2}{1}}
+% \newlabel{foob}{{3}{1}}
+% \newlabel{fooc}{{4}{1}}
+% \newlabel{food}{{6}{1}}
+%
+% They can be used as any other label, for instance
+%
+% Using the labeling feature, pay attention to Line \ref{food} (found on
+% Page \pageref{food}) to understand this radically new method.
+%
+% Any lines with the Vzzlabel specification will be ignored in the
+% line counts.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% USING THE styLE
+%
+% verbasef is an adaptation of VRBSUBFILE, from Norman Walsh.
+% I fully acknowledge Mr./Dr. Walsh as the imprimature of the code ensconced
+% herein, but have included other features as indicated above.
+%
+% Comments and suggestions always welcome.
+% Paul A. Thompson
+% Department of Psychiatry, Data Analysis and Statistics Section
+% Case Western Reserve University
+% Cleveland, OH 44106
+%
+% AudioNet: (216) 844-8946
+% InterNet: pat@po.cwru.edu
+%
+% User interface:
+% VautoSubF[#1]#2#3#4#5#6
+% Input lines #2 to #3 of file #4. If present, #1 indicates which lines
+% should be numbered. For example, if #1 is 5, lines 5, 10, 15, etc.
+% will be numbered. By default, lines are not numbered at all.
+% #5 is figure caption, and #6 is figure label.
+%
+% VautoSfFont[#1]#2
+% Use font #2 for verbatim input lines and, if present, use font #1 for
+% line numbers. By default, #2 is \tt and #1 is \rm\tiny.
+%
+% VautoPl#1
+% Placement of the figure (either H or some other placement character)
+% By default, placement is H (immediate here, here.sty)
+% (This currently does not function. All placement is done using the
+% H specification.)
+%
+% VautoLines[#1]{#2}
+% #2 is number of lines per page. If #1 is included, it is the number of
+% lines for the first page. If not, #1=#2
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
+% IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
+% IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% In order to use the verbasef.sty file, VRBINPUT.STY must be MODIFIED
+% and given a NEW NAME. Here are instructions for modification:
+%
+% You must do EITHER 1-4 below OR 5 below to get verbasef to run properly.
+%
+% 1. Obtain vrbinput.sty from the standard distribution channels. The file
+% should have the following characteristics:
+%
+% \fileversion{v1.0b}
+% \filedate{91/06/30}
+% \docdate{91/08/05}
+%
+% 2. Copy vrbinput.sty to a file vrbexin.sty. THIS MUST BE DONE PRIOR TO
+% EDITING ANY FILE.
+%
+% 3. Edit the file vrbexin.sty. Please don't edit the file vrbinput.sty.
+% Change Line 90 from
+% \verbatim@startline
+% to
+% \verbatim@start
+% as shown in the fragment of code from Lines 89-92 below.
+%
+% \def\verbatim@readfile#1{%
+% \verbatim@start
+% \openin\verbatim@in@stream #1\relax
+% \ifeof\verbatim@in@stream
+%
+%
+% 4. VERY IMPORTANT. CHANGE ALL OCCURRANCES of vrbinput, in titles, typeout
+% sections and credits to vrbexin. Remove all references to the original
+% author, Bernd Raichle, as he is not the author of the style file vrbexin.
+% You may substitute my name for Mr. Raichle if you wish.
+%
+% 5. Obtain vrbexin.sty directly from the same subdirectory that verbasef was
+% found in.
+%
+% 6. Place this .sty file in a place searched by TeX, on the TEXINPUT path.
+%
+% After I can figure out the docstrip utility, I will do this stuff myself.
+%
+% Note: As is standard practice in the TeX community, any modifications in
+% .sty files must be given new names. Thus, it is certainly vitally important
+% that the modifications in vrbinput.sty be done in the file named
+% vrbexin.sty, not in the original which I did not write.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
+% IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
+% IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}%
+\RequirePackage{vrbexin}%
+\RequirePackage{verbatim}%
+\RequirePackage{here}%
+\def\fileversion{v1.1}%
+\def\filedate{95/01/20}%
+\typeout{Style-Option: `verbasef' \fileversion \space <\filedate> (ndw)}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\newcounter{g@nu}
+\newcommand{\incr@macv}[2]{
+\setcounter{g@nu}{#1}\addtocounter{g@nu}{#2}%
+\global\edef#1{\theg@nu}%
+}
+\gdef\Vauto@LinePage{0}% % lines/page counter
+\gdef\Vauto@NP{0}% % Number of pages
+\gdef\Vauto@Fignum{0}% % Figure number - retain over figures
+\gdef\Vauto@Pagea{0}% % # lines page 1
+\gdef\Vauto@LineNo{0}% % current line number
+\gdef\Vauto@LineMod{0}% % modulo to print on
+\gdef\Vauto@LineLoop{0}% % loop count in line number (1..Mod)
+\gdef\Vauto@LineStart{0}% % first line to print
+\gdef\Vauto@LineCount{0}% % number of lines to print
+\gdef\Vauto@NotLabel{0}% % Printable - not a label
+\gdef\Vauto@PFlag{0}% % print this line?
+%
+%%%% Default table placement, and macros to change table placement
+\def\Vauto@Plx{H}\def\Vauto@Pl#1{\def\Vauto@Plx{#1}}\def\VautoPl{\Vauto@Pl}%
+%%%% Default verbatim font and verbatim line number font
+\def\Vauto@sfFont{\tt}\def\Vauto@sfLNF{\rm\tiny}%
+%
+%%%% Macros to change fonts
+\def\Vauto@sbf[#1]#2{\def\Vauto@sfFont{#2}\def\Vauto@sfLNF{#1}}%
+\def\Vauto@svf#1{\def\Vauto@sfFont{#1}}%
+\def\VautoSfFont{%
+ \@ifnextchar[{\Vauto@sbf}{\Vauto@svf}%] % This is for bracket match
+}% % ] has no effect on code
+%%%% Macros to set number of lines per figure
+\def\Vauto@LPP{46}\def\Vauto@LPPa{46}%
+\def\Vauto@TwoLPP[#1]#2{\def\Vauto@LPP{#2}\def\Vauto@LPPa{#1}}%
+\def\Vauto@OneLPP#1{\def\Vauto@LPP{#1}\def\Vauto@LPPa{#1}}%
+\def\VautoLines{%
+ \@ifnextchar[{\Vauto@TwoLPP}{\Vauto@OneLPP}%] % Bracket match
+}%
+\def\VautoSubFF{\@ifnextchar[{\Vauto@sbf}{\Vauto@svf}%]
+}%
+\def\xxparse Vzzlabel|#1|{%
+\immediate\write\@mainaux{\string\newlabel{#1}{{\Vauto@LineNo}{\thepage}}}%
+}%
+\def\ifsubstr#1#2#3#4%% #1=string #2=substring, #3=yes, #4=no
+{%
+ \def\tempa##1#2##2\over_##3\end{%
+ \ifx##3% % can't parse
+ \gdef\Vauto@NotLabel{1}%
+ \else% can parse
+ \gdef\Vauto@NotLabel{0}%
+ \xxparse #1%
+ \fi%
+}%
+\tempa#1\over_\over#2\over___\end%
+}%
+%
+%%Macro which sets beginfigure and endfigure constructions
+%
+\def\Vauto@etab#1#2#3{% {caption}{label}{prtype}%
+ \ifnum#3<3% 1 or 2 qualifies here
+ \begingroup \normalsize\rm\selectfont%
+ \ifnum\Vauto@NP=1 \caption{#1}\label{#2}%
+ \global\edef\Vauto@Fignum{\thefigure}%
+ \else \vspace{2em}%
+ \centerline{Figure \Vauto@Fignum: #1 (cont.)}%
+ \fi%
+ \endgroup%
+ \end{figure}%
+ \def\Vauto@PrCnt{\Vauto@LPP}%
+ \ifnum#3=2 \setcounter{figure}{\Vauto@Fignum}\fi%
+ \fi%
+ \ifnum#3>1% 2 or 3 qualifies here
+ \begin{figure}[H]%
+% \begin{figure}[\theVauto@Plx]%
+ \incr@macv{\Vauto@NP}{1}%
+ \gdef\Vauto@LinePage{0}%
+ \gdef\Vauto@PFlag{1}%
+ \fi%
+ \catcode`\^^M9%
+}%
+%
+%%%% Internal macro that does the work...
+\def\Vauto@sf#1#2#3{\begingroup%
+ \def\verbatim@start{\Vauto@etab{#2}{#3}{3}}%
+ \def\verbatim@finish{\Vauto@etab{#2}{#3}{1}}%
+ \def\verbatim@font{\Vauto@sfFont\selectfont}%
+ \gdef\Vauto@LineNo{0}%
+ \gdef\Vauto@LineLoop{0}%
+ \parskip=0pt%
+ \def\verbatim@processline{%
+ \edef\subz{\noexpand\ifsubstr{\the\verbatim@line}{Vzzlabel}{1}{0}}\subz%
+ \ifnum\Vauto@NotLabel=1%
+ \incr@macv{\Vauto@LineNo}{1}%
+ \incr@macv{\Vauto@LineLoop}{1}%
+ \gdef\Vauto@PFlag{1}%
+ \ifnum\Vauto@LineStart>0% we haven't reached the first line yet...
+ \gdef\Vauto@PFlag{0}%
+ \incr@macv{\Vauto@LineStart}{-1}%
+ \else%
+ \ifnum\Vauto@LineCount=0% we're out of the "printable" region
+ \gdef\Vauto@PFlag{0}%
+ \else%
+ \incr@macv{\Vauto@LineCount}{-1}% decrease the line count
+ \fi%
+ \fi%
+ % debugging...
+ %\typeout{Start: \theVauto@LineStart, Count: \theVauto@LineCount,
+ % Print: \theVauto@PrintFlag, Loop: \theVauto@LineLoop,
+ % Mod: \theVauto@LineMod}%
+ \ifnum\Vauto@PFlag=1%
+ \leavevmode%
+ \ifnum\Vauto@LineLoop=\Vauto@LineMod%
+ \llap{{\Vauto@sfLNF\selectfont \Vauto@LineNo}%
+ \ \hskip\@totalleftmargin}%
+ \gdef\Vauto@LineLoop{0}%
+ \else%
+ \llap{\phantom{\Vauto@sfLNF\selectfont 0}\ %
+ \hskip\@totalleftmargin}%
+ \fi%
+ \the\verbatim@line\par%
+ \incr@macv{\Vauto@LinePage}{1}%
+ \else%
+ \ifnum\Vauto@LineLoop=\Vauto@LineMod%
+ \gdef\Vauto@LineLoop{0}%
+ \fi%
+ \fi%
+ \ifnum\Vauto@LinePage=\Vauto@PrCnt \Vauto@etab{#2}{#3}{2}\fi%
+ \fi% End of the loop printing non-labels
+ }%
+ \verbatiminput{#1} \endgroup}%
+%
+\def\Vauto@sfP#1#2#3#4#5{%
+\begingroup%
+ \gdef\Vauto@PrCnt{\Vauto@LPPa}%
+ \gdef\Vauto@NP{0}% % Number of pages
+ \gdef\Vauto@LineMod{-1}%
+ \gdef\Vauto@LineStart{#1}%
+ \gdef\Vauto@LineCount{#2}%
+ \incr@macv{\Vauto@LineCount}{-\Vauto@LineStart}%
+ \incr@macv{\Vauto@LineCount}{1}%
+ \incr@macv{\Vauto@LineStart}{-1}%
+ \Vauto@sf{#3}{#4}{#5}%
+ \catcode`\^^M`\^^M%
+\endgroup%
+}%
+\def\Vauto@sfN[#1]#2#3#4#5#6{%
+\begingroup%
+ \gdef\Vauto@PrCnt{\Vauto@LPPa}%
+ \gdef\Vauto@NP{0}% % Number of pages
+ \gdef\Vauto@LineMod{#1}%
+ \gdef\Vauto@LineStart{#2}%
+ \gdef\Vauto@LineCount{#3}%
+ \incr@macv{\Vauto@LineCount}{-\Vauto@LineStart}%
+ \incr@macv{\Vauto@LineCount}{1}%
+ \incr@macv{\Vauto@LineStart}{-1}%
+ \Vauto@sf{#4}{#5}{#6}%
+ \catcode`\^^M`\^^M%
+\endgroup%
+}%
+\def\VautoSubF{%
+ \@ifnextchar[{\Vauto@sfN}{\Vauto@sfP}%]
+}%
+\endinput%
+%%%% EOF
diff --git a/macros/latex/contrib/misc/vrbexin.sty b/macros/latex/contrib/misc/vrbexin.sty new file mode 100644 index 0000000000..f9a15fdc5a --- /dev/null +++ b/macros/latex/contrib/misc/vrbexin.sty @@ -0,0 +1,80 @@ +%% +%% This is file `vrbexin.sty', modified from vrbinput.sty +%% +%% The original source files were: +%% +%% vrbinput.doc +%% +%% Copyright (C) 1994 by Paul Thompson +%% +%% IMPORTANT NOTICE: +%% +%% You are not allowed to change this file. You may however copy this file +%% to a different name and then change this copy. +%% +%% You are NOT ALLOWED to take money for the distribution or use of this +%% file (or a changed version) except for some nominal charge for copying etc. +%% +%% +\def\fileversion{v1.0b} +\def\filedate{94/06/30} +\def\docdate{94/06/30} +%% \CheckSum{82} +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%% Style-option `vrbexin' to use with LaTeX-2e +%% and style-option `verbatim' (by Rainer Sch\"opf) +%% Copyright (C) 1994 by Paul Thompson, all rights reserved. +\@ifundefined{verbatim@readfile}{}{\endinput} +\typeout{Style-Option: `vrbexin' \fileversion \space <\filedate> (br)} +\typeout{English Documentation \@spaces\@spaces\space\space <\docdate> (br)} +\@ifundefined{verbatim@@@}{\input{verbatim.sty}}{} +\newread\verbatim@in@stream +\ifnum\verbatim@in@stream=\@ne + \csname newread\endcsname\verbatim@in@stream +\fi +\def\verbatim@readfile#1{% + \verbatim@start + \openin\verbatim@in@stream #1\relax + \ifeof\verbatim@in@stream + \typeout{No file #1.}% + \else + \expandafter\endlinechar\expandafter\m@ne + \expandafter\verbatim@read@file + \expandafter\endlinechar\the\endlinechar\relax + \closein\verbatim@in@stream + \fi + \verbatim@finish +} +\def\verbatim@read@file{% + \read\verbatim@in@stream to\next + \ifeof\verbatim@in@stream + \else + \expandafter\verbatim@addtoline\expandafter{\next}% + \verbatim@processline + \verbatim@startline + \expandafter\verbatim@read@file + \fi +} +\def\verbatiminput{\begingroup + \@ifstar{\verbatim@input\relax}% + {\verbatim@input{\frenchspacing\@vobeyspaces}}} +\def\verbatim@input#1#2{\@verbatim #1\relax + \verbatim@readfile{#2}\item[]\endtrivlist\endgroup\@doendpe} +\endinput +%% +%% End of file `vrbexin.sty'. |