diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-01 18:55:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-01 18:55:42 +0000 |
commit | 413d7f7e7a71e2fa7657b04c4807d5068b997120 (patch) | |
tree | c820e9ee2ef16be5b3b3150023a3661ad35fa6b3 /Master/texmf-dist/doc/latex/tabls | |
parent | 925e1de18edf4c888f69c026e246e1921ee27ba4 (diff) |
tabls doc update (27feb10)
git-svn-id: svn://tug.org/texlive/trunk@17255 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/tabls')
-rw-r--r-- | Master/texmf-dist/doc/latex/tabls/miscdoc.sty | 95 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tabls/tabls.pdf | bin | 0 -> 231978 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tabls/tabls.tex | 83 |
3 files changed, 178 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/tabls/miscdoc.sty b/Master/texmf-dist/doc/latex/tabls/miscdoc.sty new file mode 100644 index 00000000000..bd16122baba --- /dev/null +++ b/Master/texmf-dist/doc/latex/tabls/miscdoc.sty @@ -0,0 +1,95 @@ +\ProvidesPackage{miscdoc}[2010/01/20 v1.2 documentation macros misc latex pkgs] + +% miscdoc.sty +% Copyright 2010 Robin Fairbairns +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% 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.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Robin Fairbairns. +% +% This work consists of the file miscdoc.sty (only) + +\setcounter{errorcontextlines}{1274} + +% The package arose from a small exercise to document packages whose +% previous documentation consisted solely of comments in the package files. +% The macros here defined are lifted from the author's faq.sty +% (written for the UK TeX FAQ, CTAN:help/uk-tex-faq) or are inspired +% by others' work (credited where the author is known) ... except +% where they came as a flash of inspiration while actually writing the +% documentation. + +% this option suggested by Heiko Oberdiek, 2010-01-29 +\DeclareOption{hyper}{% + \AtEndOfPackage{% + \RequirePackage[pdfusetitle]{hyperref} + \RequirePackage{bookmark} + \bookmarksetup{numbered,open,openlevel=1} + } +} +\ProcessOptions\relax + +% note: T1 encoding assumed +\usepackage{lmodern} +\usepackage[T1]{fontenc} +\usepackage{booktabs} + +% from faq.sty +\newcommand\cs[1]{\texttt{\char`\\#1}} +\let\csx\cs +\def\bsbs{\cs{\char`\\}} + +% \cmdinvoke\cs<argument sequence> +% \cs typeset as above +% <argument sequence> may consist of optional or mandatory arguments; +% +% the `arguments' are simply typesett \texttt, as yet -- if something +% fancier is needed, there's a bunch of code needs rewriting here... +\DeclareRobustCommand\cmdinvoke{\@ifstar + {\let\@tempa\emph\@scmdinvoke}% + {\let\@tempa\relax\@scmdinvoke}% +} +\def\@scmdinvoke#1{\texttt{\symbol{92}#1}% + \futurelet\@let@token\@cmdinvoke +} +\def\@cmdinvoke{\ifx\@let@token\bgroup + \let\@tempb\@cmdinvoke@lbrace + \else + \ifx\@let@token[% ] + \let\@tempb\@cmdinvoke@lbrack + \else + \ifx\@let@token(% ) + \let\@tempb\@cmdinvoke@lparen + \else + \let\@tempb\@empty + \fi + \fi + \fi + \@tempb +} +\def\@cmdinvoke@lbrace#1{\penalty0\hskip0pt\relax + \texttt{\symbol{123}\@tempa{#1}\symbol{125}}% + \futurelet\@let@token\@cmdinvoke +} +\def\@cmdinvoke@lbrack[#1]{\penalty-150\hskip0pt\relax + \texttt{[\@tempa{#1}]}% + \futurelet\@let@token\@cmdinvoke +} +\def\@cmdinvoke@lparen(#1){\penalty-150\hskip0pt\relax + \texttt{(\@tempa{#1})}% + \futurelet\@let@token\@cmdinvoke +} + +% sui generis +\newcommand\newitem{\par\addvspace{1ex}\noindent} + +% inspired by doc.sty in latex distribution +\newcommand\meta[1]{\ensuremath{\langle}\emph{#1}\ensuremath{\rangle}} diff --git a/Master/texmf-dist/doc/latex/tabls/tabls.pdf b/Master/texmf-dist/doc/latex/tabls/tabls.pdf Binary files differnew file mode 100644 index 00000000000..b7b82345025 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tabls/tabls.pdf diff --git a/Master/texmf-dist/doc/latex/tabls/tabls.tex b/Master/texmf-dist/doc/latex/tabls/tabls.tex new file mode 100644 index 00000000000..cf5f82e5caf --- /dev/null +++ b/Master/texmf-dist/doc/latex/tabls/tabls.tex @@ -0,0 +1,83 @@ +\documentclass[a4paper]{article} +\usepackage[a4paper]{geometry} +\usepackage{miscdoc} +\usepackage[scaled=0.85]{luximono} +\begin{document} +\title{The \textsf{tabls} package} +\author{Donald Arseneau\thanks{Documentation derived from the package + file by Robin Fairbairns}} +\maketitle +\begin{quote} + The package modifies \LaTeX{}'s \texttt{array} and \texttt{tabular} + environments to keep text from touching other text or hlines above + or below. +\end{quote} +\section{New parameters, etc.} + +The behaviour of the package is controlled by a small set of +parameters, which are all \TeX{} \cs{dimen} registers (and so may be +adjusted using \LaTeX{} \cs{setlength} commands. + +\paragraph{\cs{tablinesep} (or \cs{tablelineskip}):} the minimum space +between text on successive lines in a tabular environment. Negative +distances are treated as zero. The default value is \texttt{1pt}. A +value of \texttt{0pt} turns off checking for touching text. Text +given in an \verb|@{ }| specification (cf. the \textsf{array} package) +is never checked for overlap. + +\paragraph{\cs{arraylinesep} (or \cs{arraylineskip})}: like +\cs{tablinesep}, but for arrays. + +\paragraph{\cs{extrarulesep}:} extra space to add above and below each +\cs{hline} and \cs{cline}. There will be at least +\texttt{\cs{extrarulesep} + 0.5\cs{tablinesep}} between an \cs{hline} +and a line of text. Negative values can be used, but only until some +text touches the line. The default value is \texttt{3pt}. + +\noindent To ensure interline separations in tables but not arrays, +declare +\begin{quote} + \cs{setlength}\cmdinvoke{arraylinesep}{0pt} +\end{quote} +\noindent The appearance of normal \LaTeX{} tables can be had with +\begin{quote} + \cs{setlength}\cmdinvoke{tablinesep}{0pt}\\ + \cs{setlength}\cmdinvoke{arraylinesep}{0pt}\\ + \cs{setlength}\cmdinvoke{extrarulesep}{0pt} +\end{quote} +\noindent but it would be better to not use \textsf{tabls} in this +situation. + +The command \cmdinvoke{hline}[extra] has gained an optional length +argument (just like \bsbs), which gives the space to insert below the +line. This space is in addition to the \cs{extrarulesep} and +linesep. A negative value will reduce the space until the line +touches some text below, and will then have no further effect. For +example, \cmdinvoke{hline}[-9cm] draws a horizontal line while +suppressing all the extra spacing. + +(This \cs{hline} also fixes the notches that used to appear at the +junction between horizontal and vertical lines.) + +\section{How it works} + +There are no struts in the preamble entries\footnote{The comments in + the package say this is a lie\dots}, rather, there are tests to +measure the maximum height and depth of all entries on a line. The +maximum values start at the size of LaTeX's \cs{@arstrut} minus the +appropriate linesep. At the \bsbs, a strut is inserted (in its own +column) which is that maximum size plus the linesep plus any +additional space for separation from \cs{hline}s. + +\section{The Downside} + +Building a table will be slower than before because the entries have +to be boxed twice (by the package's \cs{@seesize} and by \cs{halign} +itself) instead of just once. +\cs{setlength}\cmdinvoke{tablinesep}{0pt} will recover most of this +speed, with \cs{extrarulesep} still partially in effect\,---\,extra +space will still be added around \cs{hline}s, but it may be taken up +by very tall or very deep table entries; thus text may still touch the +lines. Because of the speed penalty, if your computer is slow, it is +probably best to omit \textsf{tabls} until producing a final copy. +\end{document} |