diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:46:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:46:03 +0000 |
commit | 873660d1a83ece926fe7206288dda9c36b349c1b (patch) | |
tree | a48f77125c309a355b5d0eb58d6b24446abe9d62 /Master/texmf-dist/tex/generic/genmisc/tabto.tex | |
parent | 2939242967231097459df0fc3150fabc2f639111 (diff) |
generic 1
git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/genmisc/tabto.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/genmisc/tabto.tex | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/genmisc/tabto.tex b/Master/texmf-dist/tex/generic/genmisc/tabto.tex new file mode 100644 index 00000000000..df10685747e --- /dev/null +++ b/Master/texmf-dist/tex/generic/genmisc/tabto.tex @@ -0,0 +1,35 @@ +%-------------- 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} + |