summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-09-13 00:07:46 +0000
committerKarl Berry <karl@freefriends.org>2009-09-13 00:07:46 +0000
commit53c7b97a4701f774db0a63612aa5c6cba958205d (patch)
tree1545906b95ebe61e8529ece3e9d604b2721e92a5
parent17a7c98461feb7993c91e4c65f2225c7d9a44f32 (diff)
tabto.txt license update (12sep09)
git-svn-id: svn://tug.org/texlive/trunk@15248 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/tabto/tabto.txt49
-rw-r--r--Master/texmf-dist/tex/generic/genmisc/tabto.tex35
-rw-r--r--Master/texmf-dist/tex/generic/tabto/tabto.sty160
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds46
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/tabto.tlpsrc0
7 files changed, 236 insertions, 57 deletions
diff --git a/Master/texmf-dist/doc/generic/tabto/tabto.txt b/Master/texmf-dist/doc/generic/tabto/tabto.txt
new file mode 100644
index 00000000000..fdce2375802
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tabto/tabto.txt
@@ -0,0 +1,49 @@
+tabto.sty
+
+version 1.0 (May 2006)
+
+Donald Arseneau, Vancouver, Canada (asnd@triumf.ca)
+
+Tabbing to fixed positions in a paragraph.
+
+Two new text positioning commands are defined: \tabto and \tab.
+
+\tabto{<length>}
+
+Tab to a position relative to the left margin in a paragraph
+(any indentation due to a list is part of the `margin' in this
+context). If the text on the line already goes past the desired
+position, the tab starts a new line and moves to the requested
+horizontal position.
+
+\tabto*{<length>}
+
+Similar to \tabto, except it will perform backspacing, and over-
+print previous text on the line whenever that text is already
+longer than the specified length (i.e., no linebreak is produced).
+Line-breaks are suppressed immediately after \tabto or \tabto*.
+
+\tab
+
+Tab to the next tab-stop chosen from a list of tab positions, in
+the traditional style of typewriters. A \tab will always move
+to the next tab stop (or the next line), even if it is already
+exactly at a tab stop. Thus, "\tab\tab" skips a position. A
+linebreak is permitted immediately following a \tab, in case the
+ensuing text does not fit well in the remaining space.
+
+The tab-stop positions are declared using either \TabPositions
+or \NumTabs:
+
+\TabPositions{<length>, <length>,...<length>}
+
+Declares the tab stops as a comma-separated list of positions
+relative to the left margin. A tab-stop at 0pt is implicit, and
+need not be listed.
+
+\NumTabs{<number>}
+
+Declares a list of <number> equally-spaced tabs, starting at the
+left margin and spanning \linewidth. For example \NumTabs{2}
+declares tab-stops at 0pt and 0.5\linewidth, the same as
+\TabPositions{0pt, 0.5\linewidth} or \TabPositions{0.5\linewidth}
diff --git a/Master/texmf-dist/tex/generic/genmisc/tabto.tex b/Master/texmf-dist/tex/generic/genmisc/tabto.tex
deleted file mode 100644
index df10685747e..00000000000
--- a/Master/texmf-dist/tex/generic/genmisc/tabto.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-%-------------- tabto.tex ------------
-% Tab to a position relative to the left margin in a paragraph:
-% some text \tabto{1in} more text, and \tabto 3in final text.
-% If the text on the line already goes past the desired position,
-% the tab starts a new line.
-% Note that braces are allowed, but not required.
-%
-% Donald Arseneau (asnd@reg.triumf.ca, asnd@triumfcl (bitnet))
-
-\newdimen \scratchdim % or use \@tempdima in LaTeX
-\newdimen \scratchDIM % or use \@tempdimb in LaTeX
-
-% this preliminary mess is just TeX's awful way of reading a parameter
-% with or without braces.
-
-\def\tabto{\futurelet\nExt\tabtO}
-\def\tabtO{\ifx\nExt\bgroup\let\nExt\TabTo\else\let\nExt\tabtOO\fi\nExt}
-\def\tabtOO{\afterassignment\tabTOO\scratchDIM }
-\def\tabTOO{\TabTo\scratchDIM}
-
-\def\TabTo#1{\begingroup\leavevmode
-\ifinner\scratchdim=0pt\relax % in a \hbox, so ignore
-\else % unrestricted horizontal mode
- \parfillskip=0pt plus 1fill % must swamp the -1fil glue
- \hfil\null\penalty20 \hskip0ptplus-1fil
- \hbox{\mathstrut\kern\hsize\kern-#1}\vadjust{\nobreak}\par
- \scratchdim=\prevdepth
- \prevdepth=-999pt % make sure I get an exact \baselineskip
- \parskip=-999pt % but cancel the extra space
- \advance\parskip-\baselineskip % cancel the \baselineskip
- \advance\parskip-\scratchdim
- \noindent
-\fi \hbox to#1{\vrule depth\scratchdim width0pt\hss}\endgroup
-\ignorespaces}
-
diff --git a/Master/texmf-dist/tex/generic/tabto/tabto.sty b/Master/texmf-dist/tex/generic/tabto/tabto.sty
new file mode 100644
index 00000000000..1bc952fadd0
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tabto/tabto.sty
@@ -0,0 +1,160 @@
+% tabto.sty
+%
+% version 1.0 (May 2006)
+%
+% Tabbing to fixed positions in a paragraph.
+%
+% Copyright 2006 by Donald Arseneau,
+% Vancouver, Canada (asnd@triumf.ca)
+% Permission to use, distribute and modify this software is granted
+% under the conditions of the LaTeX Project Public License, either
+% version 1.3 or (at your option) any later version. The license is
+% found at http://www.latex-project.org/lppl.txt, and is part of all
+% recent distributions of LaTeX.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% Two new text positioning commands are defined: \tabto and \tab.
+%
+% \tabto{<length>}
+% Tab to a position relative to the left margin in a paragraph
+% (any indentation due to a list is part of the `margin' in this
+% context). If the text on the line already goes past the desired
+% position, the tab starts a new line and moves to the requested
+% horizontal position.
+%
+% \tabto*{<length>}
+% Similar to \tabto, except it will perform backspacing, and over-
+% print previous text on the line whenever that text is already
+% longer than the specified length (i.e., no linebreak is produced).
+% Line-breaks are suppressed immediately after \tabto or \tabto*.
+%
+% \tab
+% Tab to the next tab-stop chosen from a list of tab positions, in
+% the traditional style of typewriters. A \tab will always move
+% to the next tab stop (or the next line), even if it is already
+% exactly at a tab stop. Thus, "\tab\tab" skips a position. A
+% linebreak is permitted immediately following a \tab, in case the
+% ensuing text does not fit well in the remaining space.
+%
+% The tab-stop positions are declared using either \TabPositions
+% or \NumTabs:
+%
+% \TabPositions{<length>, <length>,...<length>}
+% Declares the tab stops as a comma-separated list of positions
+% relative to the left margin. A tab-stop at 0pt is implicit, and
+% need not be listed.
+%
+% \NumTabs{<number>}
+% Declares a list of <number> equally-spaced tabs, starting at the
+% left margin and spanning \linewidth. For example \NumTabs{2}
+% declares tab-stops at 0pt and 0.5\linewidth, the same as
+% \TabPositions{0pt, 0.5\linewidth} or \TabPositions{0.5\linewidth}
+%
+
+\newdimen\CurrentLineWidth
+
+\newcommand\tabto[1]{%
+ \leavevmode
+ \begingroup
+ \def\@tempa{*}\def\@tempb{#1}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \TTo@overlaptrue
+ \expandafter\tabto
+ \else
+ \ifinner % in a \hbox, so ignore
+ \else % unrestricted horizontal mode
+ \null% \predisplaysize will tell the position of this box (must be box)
+ \parfillskip\fill
+ \everydisplay{}\everymath{}%
+ \predisplaypenalty\@M \postdisplaypenalty\@M
+ $$% math display so we can test \predisplaysize
+ \lineskiplimit=-999pt % so we get pure \baselineskip
+ \abovedisplayskip=-\baselineskip \abovedisplayshortskip=-\baselineskip
+ \belowdisplayskip\z@skip \belowdisplayshortskip\z@skip
+ \halign{##\cr\noalign{%
+ % get the width of the line above
+ \ifdim\predisplaysize<\z@
+ \CurrentLineWidth\z@
+ \else
+ \CurrentLineWidth\predisplaysize
+ % Correct the 2em offset, but avoid error when -\maxdimen
+ \advance\CurrentLineWidth -2em
+ \advance\CurrentLineWidth -\displayindent
+ \advance\CurrentLineWidth -\leftskip
+ \fi
+ % Enshrine the tab-to position; #1 might reference \CurrentLineWidth
+ \@tempdimb=#1\relax
+ %\message{*** Tab to \the\@tempdimb, previous width
+ % is \the\CurrentLineWidth. ***}%
+ % Build the action to perform
+ \protected@xdef\TTo@action{%
+ \vrule\@width\z@\@depth\the\prevdepth
+ \ifdim\CurrentLineWidth>\@tempdimb
+ \ifTTo@overlap\else
+ \protect\newline \protect\null
+ \fi\fi
+ \protect\nobreak
+ \protect\hskip\the\@tempdimb\relax
+ }%
+ % get back to the baseline, regardless of its depth.
+ \vskip-\prevdepth
+ \prevdepth-99\p@
+ \vskip\prevdepth
+ }}%
+ $$
+ % Don't count the display as lines in the paragraph
+ \count@\prevgraf \advance\count@-4 \prevgraf\count@
+ \TTo@action
+%% \penalty\@m % to allow a penalized line break
+ \fi
+ \endgroup
+ \TTo@overlapfalse
+ \ignorespaces
+ \fi
+}
+
+% \tab -- to the next position
+% \hskip so \tab\tab moves two positions
+% Allow a (penalized but flexible) line-break right after the tab.
+%
+\newcommand\tab{\leavevmode\hskip2sp\tabto{\NextTabStop}%
+ \nobreak\hskip\z@\@plus 30\p@\penalty4000\hskip\z@\@plus-30\p@\relax}
+
+
+% Expandable macro to select the next tab position from the list
+
+\newcommand\NextTabStop{%
+ \expandafter \TTo@nexttabstop \TabStopList,\maxdimen,>%
+}
+
+\def\TTo@nexttabstop #1,{%
+ \ifdim#1<\CurrentLineWidth
+ \expandafter\TTo@nexttabstop
+ \else
+ \ifdim#1<0.9999\linewidth#1\else\z@\fi
+ \expandafter\strip@prefix
+ \fi
+}
+\def\TTo@foundtabstop#1>{}
+
+\newcommand\TabPositions[1]{\def\TabStopList{\z@,#1}}
+
+\newcommand\NumTabs[1]{%
+ \def\TabStopList{}%
+ \@tempdimb\linewidth
+ \divide\@tempdimb by#1\relax
+ \advance\@tempdimb 1sp % counteract rounding-down by \divide
+ \CurrentLineWidth\z@
+ \@whiledim\CurrentLineWidth<\linewidth\do {%
+ \edef\TabStopList{\TabStopList\the\CurrentLineWidth,}%
+ \advance\CurrentLineWidth\@tempdimb
+ }%
+ \edef\TabStopList{\TabStopList\linewidth}%
+}
+
+% default setting of tab positions:
+\TabPositions{\parindent,.5\linewidth}
+
+\newif\ifTTo@overlap \TTo@overlapfalse
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 80565230994..ec64e4cd358 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -237,7 +237,7 @@ my @WorkingTLP = qw(
supertabular susy svgcolor svn svn-multi svn-prov svninfo
swebib syllogism syntax synproof syntrace synttree
t-angles t2 Tabbing
- tableaux tablenotes tablists tablor tabularcalc tabularew
+ tableaux tablenotes tablists tablor tabto tabularcalc tabularew
tabulary tabvar talk
tamethebeast tdclock tdsfrmath
ted templates-fenn templates-sommer tengwarscript
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index eadcb9af57c..9d5d8e8d994 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -196,6 +196,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw
'ednotes', "&MAKEnosymlinks",
'eiad', "&MAKEflatten",
'elhyphen', "die 'incorporated in hyph-utf8'",
+ 'enctex', "die 'engine requiring compilation'",
'encxvlna', "&MAKEcopy",
'enpassant', "die 'skipping, license unknown'",
'epic', "die 'skipping, license unknown and replaced by eepic'",
@@ -792,6 +793,7 @@ $standardsourcefmt='latex';
'rsfs', 'plain',
'ruhyphen', 'generic',
'shapepar', 'generic',
+ 'tabto', 'generic',
'texsis', 'texsis',
'tugboat-plain','plain',
'variations', 'generic',
@@ -1014,26 +1016,27 @@ $standardtex='\.(cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$';
'context-top-ten', 'context/third',
'cursolatex', 'portuguese',
'dehyph-exptl', 'generic',
- 'devanagr', 'fonts',
- 'dictsym', 'fonts',
- 'dingbat', 'fonts',
- 'dinat', 'bibtex',
- 'doublestroke','fonts',
- 'dozenal', 'fonts',
- 'dratex', 'generic',
- 'economic', 'bibtex',
- 'edmac', 'generic',
- 'eiad', 'fonts',
- 'elhyphen', 'generic',
- 'elsevier-bib','bibtex',
- 'elvish', 'fonts',
- 'encxvlna', 'generic',
- 'eplain', 'eplain',
- 'epsf', 'generic',
- 'epspdf', 'support',
- 'eurosym', 'fonts',
- 'expressg', 'metapost',
- 'exteps', 'metapost',
+ 'devanagr', 'fonts',
+ 'dictsym', 'fonts',
+ 'dingbat', 'fonts',
+ 'dinat', 'bibtex',
+ 'doublestroke', 'fonts',
+ 'dozenal', 'fonts',
+ 'dratex', 'generic',
+ 'economic', 'bibtex',
+ 'edmac', 'generic',
+ 'eiad', 'fonts',
+ 'elhyphen', 'generic',
+ 'elsevier-bib', 'bibtex',
+ 'elvish', 'fonts',
+ 'enctex', 'generic',
+ 'encxvlna', 'generic',
+ 'eplain', 'eplain',
+ 'epsf', 'generic',
+ 'epspdf', 'support',
+ 'eurosym', 'fonts',
+ 'expressg', 'metapost',
+ 'exteps', 'metapost',
'fc', 'fonts',
'featpost', 'metapost',
'fenixpar', 'generic',
@@ -1111,7 +1114,8 @@ $standardtex='\.(cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$';
'skaknew', 'fonts',
'splines', 'metapost',
'staves', 'fonts',
- 'tamil-omega', 'omega',
+ 'tabto', 'generic',
+ 'tamil-omega', 'omega',
'texcount', 'support',
'texdirflatten', 'support',
'texloganalyser', 'support',
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index eb382d179ef..353a6bcb6dc 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -530,6 +530,7 @@ depend synttree
depend tableaux
depend tablenotes
depend tablists
+depend tabto
depend tabto-ltx
depend tabularcalc
depend tabularew
diff --git a/Master/tlpkg/tlpsrc/tabto.tlpsrc b/Master/tlpkg/tlpsrc/tabto.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/tabto.tlpsrc