From f8b2509b17bd7177dc511cbaa7ecd21edea407b1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 12 Jun 2010 23:30:04 +0000 Subject: truncate own pkg (12jun10) git-svn-id: svn://tug.org/texlive/trunk@18921 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/ltxmisc/truncate.sty | 158 ----------------------- 1 file changed, 158 deletions(-) delete mode 100644 Master/texmf-dist/tex/latex/ltxmisc/truncate.sty (limited to 'Master/texmf-dist/tex/latex/ltxmisc') diff --git a/Master/texmf-dist/tex/latex/ltxmisc/truncate.sty b/Master/texmf-dist/tex/latex/ltxmisc/truncate.sty deleted file mode 100644 index a4f0ed840cb..00000000000 --- a/Master/texmf-dist/tex/latex/ltxmisc/truncate.sty +++ /dev/null @@ -1,158 +0,0 @@ -% truncate.sty ver 3.6 20-Aug-2001 Donald Arseneau -% This LaTeX program is released to the public domain. -% -% Truncate text to a specified width: \truncate [marker]{width}{text} -% -% If the text is too wide to fit in the specified width, then it is -% truncated, and a continuation marker is shown at the end. The default -% marker, used when the optional "[marker]" parameter is omitted, is -% "\,\dots". You can change this default by redefining "\TruncateMarker" -% ("\renewcommand{\TruncateMarker}{}"). -% -% Normally, the text (whether truncated or not) is printed flush-left -% in a box with exactly the width specified. The package option "[fit]" -% ("\usepackage[fit]{truncate}") causes the output text to have its -% natural width, up to a maximum of the specified width. -% -% The text will not normally be truncated in the middle of a word, -% nor at a space specified by the tie "~". For example: -% -% "\truncate{122pt}{This text has been~truncated}" -% gives -% "This text has... " -% -% You can give one of the package options "[hyphenate]", "[breakwords]", -% or "[breakall]" to allow breaking in the middle of words. The first -% two only truncate at hyphenation points; with the difference being that -% "breakwords" suppresses the hyphen character. On the other hand, -% "breakall" allows truncation at any character. For example: -% -% "\truncate{122pt}{This text has been~truncated}" -% gives -% "This text has been trun-..." (hyphenate) -% "This text has been trun... " (breakwords) -% "This text has been trunc..." (breakall) -% -% (All of these options work through TeX's hyphenation mechanism.) -% -\ProvidesPackage{truncate}[2001/08/20 \space ver 3.6] -% -% [breakwords] allows hyphenation but with invisible hyphen characters -\DeclareOption{breakwords}{% - \let\@Trunc@DoSelect\relax - \expandafter\chardef\csname \string\@TruncHyph T1\endcsname 23 - \expandafter\chardef\csname \string\@TruncHyph OT1\endcsname 223 - \expandafter\chardef\csname \string\@TruncHyph LY1\endcsname 0 - \def\@Trunc@Post{\hyphenpenalty\tw@ \exhyphenpenalty\tw@ - \doublehyphendemerits\z@ \finalhyphendemerits\z@ - \the\@Trunc@RestHyph % set invisible hyphenchars for all fonts used - }} -% -% [breakall] is like breakwords, but all characters are treated like -% the letter "c"; the default language 0 patterns allow hyphenation -% c-c-c-c-c-c-c-c-c. This means we don't need special patterns! -\DeclareOption{breakall}{\ExecuteOptions{breakwords}% - \expandafter\def\expandafter\@Trunc@Post\expandafter{\@Trunc@Post - \@tempcnta\z@ \chardef\c`\c % in knuth patterns, c allows hyphens - \loop \lccode\@tempcnta\c \advance\@tempcnta\@ne - \ifnum\@tempcnta<\@cclvi \repeat}% - \def\@Trunc@Pre{% force US english - \lefthyphenmin\@ne \righthyphenmin\@ne - \doublehyphendemerits\language - \language\z@ % default English language - \let\language\doublehyphendemerits - \uchyph\@ne - }} -% -% [hyphenate] ordinary hyphenation for breakpoints -\DeclareOption{hyphenate}{% takes precedence over breakwords - \def\@Trunc@Post{\hyphenpenalty\sixt@@n}\let\@Trunc@Pre\relax} -% -% [fit] use true size of truncated text, not requested size. -\DeclareOption{fit}{\def\@Trunc@Rebox{% - \setbox\z@\hbox{\unhbox\z@\unskip\unskip\@tempa}% - \ifdim\wd\z@>\hsize \hbox to\hsize{\unhbox\z@}\else \box\z@ \fi}} -% -% Defaults: -\let\@Trunc@Pre\@empty -\def\@Trunc@Post{\hyphenpenalty\@M} -\def\@Trunc@Rebox{\hbox to\hsize{\unhbox\z@\unskip\unskip\@tempa\hfil}} -\let\@Trunc@DoSelect\@empty - -\ProcessOptions\relax - -\providecommand{\TruncateMarker}{\,\dots} - -\newcommand{\truncate}[3][\TruncateMarker]{% #1=marker #2=width #3=text - \parbox[b]{#2}{\tolerance9999 \emergencystretch .216\hsize - \vbadness\maxdimen \vfuzz\vsize % no overfull warnings - \hbadness\maxdimen \hfuzz\vsize - % set up hyphenchar switching for all fonts used. - \edef\@tempb{\the\@Trunc@RestHyph}% save whole stack - \global\@Trunc@RestHyph{}% - \ifx\@Trunc@DoSelect\relax - \let\@Trunc@DoSelect\selectfont - \def\selectfont{\@Trunc@DoSelect\@Trunc@SaveHChar}% - \fi - \@Trunc@SaveHChar % do it for current font - \setbox\z@\vbox\bgroup - % First set text in a hbox to see if it fits. - \setbox\z@\@@line{\ignorespaces #3\unskip\hfil}% - \ifnum\badness>\@M % text does not fit - \settowidth\rightskip{#1}% - \advance\rightskip \z@\@plus\p@ - \parfillskip-\@ne\rightskip \@plus\@ne fil - \parshape \tw@ \z@\hsize \z@\maxdimen \linepenalty60 - \tracinglostchars\z@ - %% \let\par\relax -- don't do this because \vskip causes infinite loop - \@Trunc@Pre % must set language before paragraph - \noindent \vadjust{\penalty-\@MM}% for splitting off first line - \nobreak\hskip\z@skip % allow first word hyphenation - \ignorespaces #3% the text - \pretolerance\hyphenpenalty \@Trunc@Post % set up `hyphenation' - \@@par - \ifnum\prevgraf>\@ne - \egroup \def\@tempa{#1}% use truncation marker - \else - \egroup \let\@tempa\@empty% no linebreak, so all text fits; no marker - \fi - \else - \box\z@ \egroup \let\@tempa\@empty - \fi - \setbox\@tempboxa\vsplit\z@ to\z@ \unvbox\@tempboxa - \unskip\unpenalty\unpenalty - \setbox\z@\lastbox - \nointerlineskip - \hfuzz\p@ - \@Trunc@Rebox - \let\@Trunc@HC\@firstofone \the\@Trunc@RestHyph % restore hyphenchars - \global\@Trunc@RestHyph\expandafter{\@tempb}% restore the stack itself - }} -% (Note that the text may be proessed twice. I could avoid that -% if there are problems with global counters etc.) - -% we save (implicit global) hyphenchar settings for each font on a -% manual stack -- the token register \@Trunc@RestHyph -- before changing -% them. We execute \@Trunc@RestHyph to set them to the invisible -% characters and then again to restore them. (I can't imagine this -% will ever be required.) -\newtoks\@Trunc@RestHyph -\global\@Trunc@RestHyph{} -% -\def\@Trunc@SaveHChar{\begingroup - \edef\@tempa{% - \hyphenchar\the\font=\noexpand\@Trunc@HC{\the\hyphenchar\font}\relax - \the\@Trunc@RestHyph}% - \global\@Trunc@RestHyph\expandafter{\@tempa}% -% \hyphenchar\font\z@ - \endgroup} -% -% select an invisible character for hyphenation. Use \textcompwordmark, if -% any; use selected numbers for certain encodings (OT1 uses a *missing* -% character); use a space otherwise. -\def\@Trunc@HC#1{% - \@ifundefined{\f@encoding\string\textcompwordmark}{% - \@ifundefined{\string\@TruncHyph\f@encoding}% - {32}% If no appropriate character, guess space character may be blank - {\csname \string\@TruncHyph\f@encoding\endcsname}% - }{\csname\f@encoding\string\textcompwordmark\endcsname}}% -- cgit v1.2.3