From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- support/tiny_c2l/position.sty | 271 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 271 insertions(+) create mode 100644 support/tiny_c2l/position.sty (limited to 'support/tiny_c2l/position.sty') diff --git a/support/tiny_c2l/position.sty b/support/tiny_c2l/position.sty new file mode 100644 index 0000000000..ab2bee9621 --- /dev/null +++ b/support/tiny_c2l/position.sty @@ -0,0 +1,271 @@ +%% +%% This is file `position.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% position.dtx (with options: `package') +%% +%% +%% File `position.dtx'. +%% +%% Copyright (C) 1997 - 2000 Michael Plugge +%% All rights reserved. +%% +%% Please send error reports and suggestions for improvements to: +%% +%% Michael Plugge +%% Neustadter Str. 132 +%% D-67360 Lingenfeld +%% Germany +%% Internet: +%% + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\ifx\documentclass\undefined %this package may be used also with LaTeX 2.09 ;-))) + \message{position.sty 1.4.0\space <2000/02/25>} +\else + \NeedsTeXFormat{LaTeX2e} + \ProvidesPackage{position}[2000/02/25\space 1.4.0] + \typeout{Package: position 1.4.0\space <2000/02/25>} +\fi +\ifx\getformat\undefined\newcount\getformat\getformat0\fi +\newif\ifmfiles\mfilesfalse +\newif\ifoldlatex\oldlatextrue +\gdef\pstd{\gdef\mm{\kern0.05em{--}\kern0.05em{}}\gdef\brl{\{}\gdef\brr{\}}} +\gdef\ptt{\gdef\mm{-}\gdef\brl{\symbol{`\{}}\gdef\brr{\symbol{`\}}}} +\ifoldlatex + \gdef\basefont{\rm\pstd} + \gdef\blockfont{\rm\pstd} + \gdef\keywordfont{\bf\pstd} + \gdef\stringfont{\tt\ptt} + \gdef\commentfont{\it\pstd} + \gdef\headfont{\sl\pstd} + \gdef\footfont{\sl\pstd} +\else + \gdef\basefont{\normalfont\pstd} + \gdef\blockfont{\normalfont\pstd} + \gdef\keywordfont{\bfseries\pstd} + \gdef\stringfont{\ttfamily\ptt} + \gdef\commentfont{\itshape\pstd} + \gdef\headfont{\slshape\pstd} + \gdef\footfont{\slshape\pstd} +\fi +\basefont +\gdef\spy{{\tt \symbol{'040}}} +\gdef\sq{{\tt\symbol{13}}} +\gdef\qql{``} +\gdef\qqr{''} +\gdef\ul{{\_\kern.1em}} + +\gdef\bs#1{$\count255=1\loop\ifnum\count255<#1\advance\count255 by 1 + \backslash\hspace*{-.2em}\repeat\backslash$} +\gdef\mlt#1{$\count255=1 \loop\ifnum\count255<#1\advance\count255 by 1 + <\hspace*{-.4em}\repeat<$} +\gdef\mgt#1{$\count255=1 \loop\ifnum\count255<#1\advance\count255 by 1 + >\hspace*{-.4em}\repeat>$} +\gdef\mast#1{$\count255=0 \loop\ifnum\count255<#1\advance\count255 by 1 + \ast\repeat$} +\gdef\mblank#1{\count255=0 \loop\ifnum\count255<#1\advance\count255 by 1 + ~\repeat} +\gdef\n{\mbox{}\\} +\newbox\poutbox +\newbox\pstartbox +\newbox\pendbox +\newif\ifpend +\newif\ifpbrk +\newlength\pcur +\newlength\pcurbr +\newlength\pcmtstart +\newlength\plena +\newlength\plinenowidth +\newlength\ind +\newcount\pdecr +\newcount\pstarta +\newcount\pstart +\gdef\pst{$\ast$} +\pbrktrue +\ind.5em +\setbox\pstartbox=\hbox{} +\setbox\pendbox=\hbox{} +\gdef\init#1#2{% + \par\noindent\hbox to \plinenowidth{\hss {\rm\scriptsize #2}\hspace{1em}}% + \plena\textwidth \advance\plena -\plinenowidth + \pdecr0 + \pcurbr0pt + \setbox\pstartbox=\hbox{}% + \pstart#1\advance\pstart 1 \pstarta\pstart + \skip0\ind\multiply\skip0 by #1 \pcur\skip0 + \ifnum #1>0 \hspace*{\skip0}\fi% + \ifpend\advance\plena -\wd\pendbox\fi% +} +\gdef\initc#1#2#3#4{% + \par\noindent\pdecr0% + \hbox to \plinenowidth{\hss {\rm\scriptsize #4}\hspace{1em}}% + \ifcase#2 + \pcurbr\ind\multiply\pcurbr #1 \pcur\pcurbr \gdef\pst{}% 0 + \or% + \pcurbr\ind\multiply\pcurbr #1 \gdef\pst{$\ast$}% 1 + \or% + \pcurbr\ind\multiply\pcurbr #1 + \advance\pcurbr\pcmtstart \gdef\pst{}% 2 + \or% + \pcurbr\ind\multiply\pcurbr #1 + \advance\pcurbr\pcmtstart \gdef\pst{$\ast$}% 3 + \or% + \pcurbr\pcmtstart \setbox\poutbox=\hbox{/}% + \advance\pcurbr\wd\poutbox \gdef\pst{}% 4 + \or% + \pcurbr\pcmtstart \setbox\poutbox=\hbox{/}% + \advance\pcurbr\wd\poutbox \gdef\pst{$\ast$}% 5 + \or% + \pcurbr\pcmtstart \setbox\poutbox=\hbox{/$\ast$}% + \advance\pcurbr\wd\poutbox \gdef\pst{}% 6 + \or% + \pcurbr\pcmtstart \setbox\poutbox=\hbox{/$\ast$}% + \advance\pcurbr\wd\poutbox \gdef\pst{$\ast$}% 7 + \or% + \pcurbr\ind\multiply\pcurbr #1 \gdef\pst{}% 8 + \else% + \pcurbr0pt \gdef\pst{}% + \fi% + \setbox\pstartbox=\hbox{\pst\mblank{#3}}% + \hspace*{\pcurbr}\copy\pstartbox% + \pcur\pcurbr \advance\pcur\wd\pstartbox + \ifpend\advance\plena -\wd\pendbox \fi% + \ifnum#2=8 \pcurbr0pt\fi% +} +\gdef\plcntmargin#1{% + \setbox\poutbox=\hbox{#1\hspace{1em}}\global\plinenowidth\wd\poutbox +} +\gdef\pee{\advance\plena -\wd\pendbox\pendtrue} +\gdef\ped{\advance\plena \wd\pendbox\pendfalse} +\gdef\pes#1#2{% + \setbox\pendbox=\hbox{#1}% + \advance\plena -\wd\pendbox + \ifnum#2 > -1 \pstart#2\fi% + \pendtrue% +} +\gdef\psinit#1#2{% + \ifnum#1>-1 \pstart#1\fi% + \ifnum#1=-2 \pstart\pstarta\fi% + \setbox\pstartbox=\hbox{#2}% +} +\gdef\cmtinit{\pcurbr\pcur \pcmtstart\pcur} +\gdef\eol{\ifpend\copy\pendbox\else\mbox{}\fi\\\hspace*{\plinenowidth}} +\gdef\calcindent{% + \ifdim\pcurbr>0pt\skip0\pcurbr +\else% + \skip0\ind \multiply\skip0\pstart +\fi +} +\gdef\brkln{% + \ifpbrk% + \eol %insert line break + \calcindent% calculate the indentation for the new line + \pdecr\count255 \advance\pdecr-\pstart + \pcur\wd\poutbox \advance\pcur\skip0 + \hspace*{\skip0}\copy\pstartbox% + \advance\pcur\wd\pstartbox + \else% + \hspace*{\skip0}% + \fi% +} +\gdef\jmpo#1#2{% + \ifnum#1>0 + \count255 #1\advance\count255 -\pdecr + \skip0\ind \multiply\skip0\count255 %calculate the output position + \advance\skip0-\pcur %calculate the width of the needed space + \count255 #1 %current start position (needed for line break) + \fi% + \ifdim\skip0<0.25em %(current position > target position) + \skip0 0.25em% insert a small space + \fi% + \ifnum #1<1 \skip0 0pt \count255 -#1\fi% + %copy #2 to \poutbox and add the width of the box to \pcur + \setbox\poutbox=\hbox{#2}% +%%%% probieren: \advance\pcur\wd\poutbox \advance\pcur\skip0 +%%%% dann ohne \relax + \advance\pcur\skip0 \advance\pcur\wd\poutbox %calculate the new position + \relax% TeX seems to be tired at this point; give it some rest ;-))) + \ifdim\pcur>\plena %requested position > right margin; break line + \brkln% + \else% + \hspace*{\skip0}% + \fi% + \box\poutbox% +} +\gdef\xnjo#1#2#3{% + \count255 #2 \advance\count255 -\pdecr + \skip0\ind \multiply\skip0\count255 + \advance\skip0-\pcur \divide\skip0 #1 + \count255 #2 %current start position (for line break) + \ifdim\skip0<0.3em \skip0 0.3em \multiply\skip0 #1\fi% + \ifdim\skip0>0.45em \skip0 0.45em \multiply\skip0 #1\fi% + %copy #3 to \poutbox and add the width of the box to \pcur + \setbox\poutbox=\hbox{#3}% + \advance\pcur\wd\poutbox \advance\pcur\skip0 + \ifdim\pcur>\plena %requested position > right margin + \brkln% insert a line break + \else% + \hspace*{\skip0}% + \fi% + \box\poutbox% +} +\gdef\njo#1#2{% + \ifnum#1<0 \count255 -#1 \skip0 0pt\fi% + \ifnum#1=0 \count255 0 \skip0 0pt\fi% + \ifnum#1>0% + \count255 #1 \advance\count255 -\pdecr + \skip0\ind \multiply\skip0\count255 + \advance\skip0-\pcur + \count255 #1 %current start position (for line break) + \fi% + \ifdim\skip0<0.25em \skip0 0.25em\fi% + \ifdim\skip0>0.55em \skip0 0.55em\fi% + \ifnum#1<1 \skip0 0pt\fi% + %copy #2 to \poutbox and add the width of the box to \pcur + \setbox\poutbox=\hbox{#2}% + \advance\pcur\wd\poutbox \advance\pcur\skip0 + \ifdim\pcur>\plena %requested position > right margin + \brkln% insert a line break + \else% + \hspace*{\skip0}% + \fi% + \box\poutbox% +} +\gdef\mpout#1#2#3#4{% + \ifnum#1>0 \skip0\ind\multiply\skip0 by #1\advance\skip0-\pcur \fi% + \ifdim\skip0<0pt \skip0 0pt\fi% don't move back! + \ifnum#1>0 \hspace*{\skip0}\advance\pcur\skip0\fi% + \setbox\poutbox=\hbox{#3}\skip0\wd\poutbox %width of one output character (#3) + \skip1\ind\multiply\skip1 by #2 \skip2\skip1 \advance\skip1-\pcur + \pcur\skip2 \advance\pcur\skip0 \skip2\skip1 %total width of line + \advance\skip0 #4 %add kern + \divide\skip1\skip0 \count255\skip1 \advance\count255 by 1% number of characters + \skip1\wd\poutbox \multiply\skip1 by \count255 \advance\skip2 -\skip1 + \ifdim\skip2<0pt \advance\count255 -1 \advance\skip2 \wd\poutbox \fi% + \divide\skip2\count255 + \copy\poutbox% + \loop% + \ifnum\count255>0\advance\count255 by -1 \hspace*{\skip2}\copy\poutbox% + \repeat% +} + +\endinput +%% +%% End of file `position.sty'. -- cgit v1.2.3