summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/Tabbing/Tabbing.dtx
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/latex/contrib/Tabbing/Tabbing.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/Tabbing/Tabbing.dtx')
-rw-r--r--macros/latex/contrib/Tabbing/Tabbing.dtx195
1 files changed, 195 insertions, 0 deletions
diff --git a/macros/latex/contrib/Tabbing/Tabbing.dtx b/macros/latex/contrib/Tabbing/Tabbing.dtx
new file mode 100644
index 0000000000..e34bd832d0
--- /dev/null
+++ b/macros/latex/contrib/Tabbing/Tabbing.dtx
@@ -0,0 +1,195 @@
+% \iffalse
+%% Package `Tabbing' to use with LaTeX 2e
+%% Copyright (C) 1996, 1997, 1998, 1999 Jean-Pierre F. Drucbert, all rights reserved
+%%
+%% You may use and distribute this file freely, provided that
+%% you don't pretend that you wrote it.
+%%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.1
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.1 or later is part of all distributions of LaTeX
+% version 1999/06/01 or later.
+%
+%<package>\NeedsTeXFormat{LaTeX2e}[1997/06/01]
+%<package>\ProvidesPackage{Tabbing}[1997/12/18 v1.0 Tabbing environment (JPFD)]
+%
+%<*driver>
+\documentclass{ltxdoc}
+\GetFileInfo{Tabbong.sty}
+\def\filedate{1999/08/03}
+\def\fileversion{v1.1}
+\EnableCrossrefs
+%\DisableCrossrefs % Say \DisableCrossrefs if index is ready
+\RecordChanges % Gather update information
+\CodelineIndex % Index code by line number
+\title{The \pkg{Tabbing} package}
+\author{Jean-Pierre F. Drucbert\\\texttt{drucbert@onecert.fr}}%
+\date{\filedate}
+\def\bs{\texttt{\char'134}}
+\let\pkg\textsf
+\usepackage{Tabbing}
+\begin{document}
+\maketitle
+\DocInput{Tabbing.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{106}
+%
+% \changes{v1.0}{18 Dec 97}{First officially released version.}
+% \changes{v1.1}{03 Aug 99}{Added LPPL License.}
+%
+% \DoNotIndex{\@Mii,\@Miv,\@cons,\@currlist,\@dblarg,\@dbldeferlist}
+% \DoNotIndex{\@dblfloat,\@dottedtocline,\@eha,\@Esphack,\@float}
+% \DoNotIndex{\@floatpenalty,\@ifnextchar,\@ifundefined,\@latexerr}
+% \DoNotIndex{\@mkboth,\@namedef,\@nameuse,\@parboxrestore,\@spaces}
+% \DoNotIndex{\@starttoc,\@tempa,\@tempboxa,\@tempdima,\@warning}
+% \DoNotIndex{\addcontentsline,\addtocounter,\advance,\arabic,\bfseries}
+% \DoNotIndex{\bgroup,\box,\chapter,\columnwidth,\csname,\def,\dimen,\docdate}
+% \DoNotIndex{\edef,\egroup,\else,\endcsname,\endinput,\expandafter,\fi}
+% \DoNotIndex{\filedate,\fileversion,\global,\hbadness,\hbox,\hfil,\hrule}
+% \DoNotIndex{\hsize,\ht,\if@twocolumn,\ifdim,\iffalse,\ifnum,\iftrue,\ifvbox}
+% \DoNotIndex{\ifx,\ignorespaces,\intextsep,\kern,\let,\long,\moveleft,\newbox}
+% \DoNotIndex{\newcommand,\newcounter,\newif,\newsavebox,\noexpand,\normalsize}
+% \DoNotIndex{\numberline,\PackageError,\PackageWarning,\par,\parindent}
+% \DoNotIndex{\penalty,\prevdepth,\protect,\refstepcounter,\relax}
+% \DoNotIndex{\renewcommand,\rmfamily,\section,\setbox,\setcounter,\space}
+% \DoNotIndex{\textheight,\the,\typeout,\unvbox,\uppercase,\vadjust,\value}
+% \DoNotIndex{\vbox,\vrule,\vskip,\vspace,\wd,\z@}
+%
+% \begin{abstract}
+% This package\footnote{%
+% \begin{tabular}[t]{l}
+% Copyright \copyright\ 1996, 1997, 1998 by\\
+% Jean-Pierre F. Drucbert\vphantom{bp}\\
+% ONERA/Centre de Toulouse SRI\vphantom{bp}\\
+% Office National d'\'Etudes et de Recherches A\'erospatiales\vphantom{bp}\\
+% Centre de Toulouse\vphantom{bp}\\
+% Service R\'eseaux et Informatique\vphantom{bp}\\
+% Complexe Scientifique de Rangueil\vphantom{bp}\\
+% \\
+% 2, Avenue \'Edouard Belin\vphantom{bp}\\
+% BP 4025 F-31055 TOULOUSE CEDEX\vphantom{bp}\\
+% FRANCE\vphantom{bp}\\
+% \vphantom{bp}\\
+% Email: \texttt{drucbert@onecert.fr}\vphantom{bp}\\
+% \end{tabular}}
+% provides a `Tabbing' environment, analog to the \LaTeX\ standard
+% `tabbing' environment, but allowing accented letters. No more
+% |\a'|, |\a`| and |\a=| needed.
+% \end{abstract}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \section{The \pkg{Tabbing} package}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \newcommand{\tabrule}[1]{\makebox[0pt]{\raisebox
+% {0pt}[0pt]{\rule{\fboxrule}{#1\baselineskip}}}}
+% \LaTeX\ provides the \texttt{tabbing} environment. But it is not
+% user-friendly when you must use accented letters, whith the grave,
+% acute and macron accents, |\'a|~\'a, |\`a|~\`a and |\=a|~\=a. Even
+% when you use a good input encoding on 8~bits. So the \pkg{Tabbing}
+% package offers a \texttt{Tabbing} environment, which is a slightly
+% modified copy of the standard \texttt{tabbing} environment. In the
+% \texttt{Tabbing} environment, the local commands |\>|, |\<|, |\=|,
+% |\+|, |\-|, |\`| and |\'| are replaced by |\TAB>|, |\TAB<|, |\TAB=|,
+% |\TAB+|, |\TAB-|, |\TAB`| and |\TAB'| respectively. Hence the conversion
+% is rather easy. Acute and grave accents are very often used in french,
+% this environment should be useful. In the example of
+% Figure~\ref{f+Tabbing}, the vertical rules mark the tab stops (with
+% the macro |\tabrule|, which is not part of the package)
+%
+% \begin{figure}
+% \begin{footnotesize}
+% \begin{verbatim}
+% \newcommand{\tabrule}[1]{\makebox[0pt]{\raisebox
+% {0pt}[0pt]{\rule{\fboxrule}{#1\baselineskip}}}}
+%
+% \begin{Tabbing}
+% gnomon \TAB= agn\=ostic \TAB= arma\TAB= dillo \TAB= gnash \TAB= \kill
+% \TAB> \TAB> gnu \TAB> gneisses \TAB> \TAB> gnarl
+% \\*
+% \TAB> \TAB> \'ecole \TAB> \'el\`eve \TAB> \TAB> examen
+% \\*
+% \TAB> \TAB> école \TAB> élève \TAB> \TAB> examen
+% \\*
+% \TAB> \TAB> u \TAB> e \TAB> g \TAB>
+% \TAB`
+% \end{Tabbing}
+% \end{verbatim}
+% \end{footnotesize}
+%
+% \begin{minipage}{\textwidth}
+% \begin{Tabbing}
+% gnomon \TAB= agn\=ostic \TAB= arma\TAB= dillo \TAB= gnash \TAB= \kill
+% \TAB> \TAB> gnu \TAB> gneisses \TAB> \TAB> gnarl \\*
+% \TAB> \TAB> \'ecole \TAB> \'el\`eve \TAB> \TAB> examen \\*
+% \TAB> \TAB> école \TAB> élève \TAB> \TAB> examen \\*
+% \tabrule{2} \TAB>\tabrule{2} \TAB> \tabrule{2}u \TAB>
+% \tabrule{2}e
+% \TAB> \tabrule{2}g \TAB>\tabrule{2} \TAB`\tabrule{2}
+% \end{Tabbing}
+% \end{minipage}
+%
+% \caption{A simple \texttt{Tabbing} environment}\label{f+Tabbing}
+% \end{figure}
+%
+% Note that the markup is more visible than in the \texttt{tabbing}
+% environment, and the syntax of accented letters is \emph{the same}
+% outside and inside of the new \texttt{Tabbing} environment.
+%
+% \StopEventually{\setcounter{IndexColumns}{2}\PrintIndex\PrintChanges}
+%
+% \clearpage
+% \section{Implementation}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \begin{environment}{Tabbing}
+% We just copy the standard \texttt{tabbing} environment, and
+% add the local macro |\TAB| who tests its argument.
+% An error message has been added.
+% \DescribeMacro{\TAB}
+% \begin{macrocode}
+\gdef\Tabbing{\lineskip \z@skip
+% % \let\>\@rtab
+% % \let\<\@ltab
+% % \let\=\@settab
+% % \let\+\@tabplus
+% % \let\-\@tabminus
+% % \let\`\@tabrj
+% % \let\'\@tablab
+\def\TAB##1{\ifx ##1>\@rtab\else
+ \ifx ##1<\@ltab\else
+ \ifx ##1=\@settab\else
+ \ifx ##1+\@tabplus\else
+ \ifx ##1-\@tabminus\else
+ \ifx ##1`\@tabrj\else
+ \ifx ##1'\@tablab\else
+ \PackageError{Tabbing}%
+ {Bad argument ##1 for Tabbing specification}
+ \fi\fi\fi\fi\fi\fi\fi}
+ \let\\=\@tabcr
+ \global\@hightab\@firsttab
+ \global\@nxttabmar\@firsttab
+ \dimen\@firsttab\@totalleftmargin
+ \global\@tabpush\z@ \global\@rjfieldfalse
+ \trivlist \item\relax
+ \if@minipage\else\vskip\parskip\fi
+ \setbox\@tabfbox\hbox{\rlap{\indent\hskip\@totalleftmargin
+ \the\everypar}}\def\@itemfudge{\box\@tabfbox}%
+ \@startline\ignorespaces}
+\gdef\endTabbing{%
+ \@stopline\ifnum\@tabpush >\z@ \@badpoptabs \fi\endtrivlist}
+% \end{macrocode}
+% \end{environment}
+%
+% \Finale
+% \end{document}
+\endinput