texlive[54251] Master: ruler own package, from genmisc

commits+karl at tug.org commits+karl at tug.org
Thu Mar 12 17:57:45 CET 2020


Revision: 54251
          http://tug.org/svn/texlive?view=revision&revision=54251
Author:   karl
Date:     2020-03-12 17:57:44 +0100 (Thu, 12 Mar 2020)
Log Message:
-----------
ruler own package, from genmisc

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-plaingeneric.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/ruler/
    trunk/Master/texmf-dist/doc/latex/ruler/ruler.tex
    trunk/Master/tlpkg/tlpsrc/ruler.tlpsrc

Removed Paths:
-------------
    trunk/Master/texmf-dist/tex/generic/genmisc/ruler.tex

Added: trunk/Master/texmf-dist/doc/latex/ruler/ruler.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ruler/ruler.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/ruler/ruler.tex	2020-03-12 16:57:44 UTC (rev 54251)
@@ -0,0 +1,656 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Typographic ruler for TeX, version 1.1
+% Copyright Victor Eijkhout 1999
+% file name: ruler.tex
+%
+% Author:
+% Victor Eijkhout
+% Department of Computer Science
+% University of Tennessee, Knoxville TN 37996
+%
+% victor at eijkhout.net
+%
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+% 
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% For a copy of the GNU General Public License, write to the 
+% Free Software Foundation, Inc.,
+% 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA,
+% or find it on the net, for instance at
+% http://www.gnu.org/copyleft/gpl.html
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This file is identical to an earlier version which was on ctan and
+% other archive sites; only the license and copyright information
+% has changed.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\hsize=14.5cm \vsize=32cm \voffset=-1.5cm 
+\nopagenumbers \raggedbottom
+\overfullrule=0pt
+%\tracingoutput=1 
+\showboxbreadth=20 \showboxdepth=7
+
+\font\tiny=cmr5 \font\ss=cmr8 
+\font\big=cmss10 scaled \magstep3
+\font\manual=cmr10
+
+%\font\tiny=helv at 5pt \font\ss=helv at 8pt 
+%\font\big=helv at 16pt
+%\font\manual=times at 10pt 
+
+\let\tt=\ss \let\rm=\ss
+\parindent=0cm \offinterlineskip
+\def\\{\hfill\break}
+
+\newdimen\margin \margin=.5cm
+\newdimen\linewidth \linewidth=0.05mm
+\newdimen\scalewidth \scalewidth=6mm \newdimen\magboxwidth
+\newdimen\gridheight \gridheight=8cm
+\newdimen\rulewidth \rulewidth=\scalewidth
+\newdimen\ruleboxheight \ruleboxheight=6mm
+
+\newbox\magscalenames \newbox\scale \newbox\grid 
+\newbox\stairs \newbox\ruler
+\newcount\ncol \newcount\nrow
+\newcount\tempcount \newcount\tempcountb \newcount\tempcounth
+\newbox\tempboxa \newbox\tempboxb
+\newskip\tempskip \newskip\tempskipb
+\newdimen\tempdimen \newdimen\tempdimenb \newdimen\tempdimenc
+
+\newbox\storea \newbox\storeb \newbox\storec 
+\newbox\stored \newbox\storee \newbox\storef
+\newbox\storeg \newbox\storeh \newbox\storei
+\newbox\storej
+
+\def\gobble#1{}
+\def\gobbletwo#1#2{}
+\def\gobblethree#1#2#3{}
+\def\gobblefive#1#2#3#4#5{}
+
+\def\hfilll{\hskip 0cm plus 1filll\relax}
+
+%%%%%%%%%%%%%%%% trace
+%\tracingonline=1 
+%\tracingmacros=1
+
+%%%%%%%%%%%%%%%% auxiliaries
+\def\decimala     %% #1=getal; a-> 1 plaats achter de komma
+    #1{{\tempcounth=#1\relax
+        \tempcountb=\tempcounth
+        \divide\tempcountb by 10\relax
+        \number\tempcountb.%
+        \multiply\tempcountb by 10\relax
+        \advance\tempcounth by -\tempcountb
+        \number\tempcounth}}
+        
+\def\decimalb     %% #1=getal; b-> 2 plaatsen achter de komma
+    #1{{\tempcounth=#1\relax
+        \tempcountb=\tempcounth
+        \divide\tempcountb by 100\relax
+        \number\tempcountb.%
+        \multiply\tempcountb by 100\relax
+        \advance\tempcounth by -\tempcountb
+        \ifnum\tempcounth<10 0\fi
+        \number\tempcounth}}
+        
+\def\hundred#1{{\tempcounth=#1 
+                \tempcountb=\tempcounth
+                \divide\tempcounth by 100\relax
+                \ifnum\tempcounth>0 
+                            \number\tempcounth.\fi
+                \multiply\tempcounth by 100
+                \advance\tempcountb by -\tempcounth
+                \ifnum\tempcountb<10 0\fi
+                \number\tempcountb}}
+
+\def\thousand#1{{\tempcount=#1 \tempcountb=\tempcount
+                 \divide\tempcount by 1000
+                 \ifnum\tempcount>0 \number\tempcount.\fi
+                 \multiply\tempcount by 1000
+                 \advance\tempcountb by -\tempcount
+                 \ifnum\tempcountb<100 0\fi
+                 \ifnum\tempcountb<10 0\fi
+                 \number\tempcountb}}
+
+\def\headedbox        %% #1=heading text #2=vbox
+    #1#2{\vtop{\vbox to 0cm{\vss\setbox0=\hbox to 0cm{\tt #1\hss} \dp0=0cm 
+                            \box0 \vskip2pt}
+               #2}}
+\def\boxit#1{\vbox{\hrule
+                   \hbox{\vrule #1\vrule}
+                   \hrule}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%% baseline measurement %%%%%%%%%%%%%%%%%%%%%%%%
+\newskip\liftskip
+%% what baselineskips are needed?
+\def\baselinedist#1{\ifcase#1\or 5\or 6\or 7\or 8\or 9\or 10\or
+           11\or 12\or 13\or 14\or 15\or 16\or 17\or
+           18\or 20\or 22\or 25\or 30\fi}
+
+%% first one step in a ladder of baselineskips
+\def\baselinebox      %% #1=size #2=number label
+    #1#2{\vbox to #1pt{\vfil
+                 \moveright .5\hsize\vbox{\hrule height \linewidth 
+                                          width .5\hsize}
+                 \vfil\vbox to 0cm{\vss\hskip2pt\tiny\number#2\vskip\liftskip}
+                 \hrule height \linewidth}}
+
+%% next a whole ladder of baselineskips
+\def\baselinescale    %% #1=number of steps #2=point size
+    #1#2{\ifnum#2<7 \liftskip=0pt \else \liftskip=2pt \fi
+         \setbox\scale=\vbox{}%
+         \baselinescalei 1{#1}{#2}%
+         \edef\tcs{{#2}{\box\scale}}\expandafter\headedbox\tcs}
+\def\baselinescalei   %% #1=label #2=number of steps #3=point size
+    #1#2#3{\ifnum#1>#2 \def\tcs{0}\let\next=\gobblethree
+           \else\tempcount=#1 \advance\tempcount by 1
+                \setbox\scale=\vtop{\hsize=\scalewidth
+                                    \advance\hsize by -\linewidth
+                                    \unvbox\scale
+                                    \baselinebox{#3}{#1}}%
+                \let\next\baselinescalei \edef\tcs{{\number\tempcount}}\fi
+           \expandafter\next\tcs{#2}{#3}}
+
+%% finally a grid of ladders of baselineskips
+\def\baselinegrid     %% #1=number of baseline scales #2=storage box
+    #1#2{\setbox\grid=\hbox{}%
+         \setbox#2=\vtop{\hrule height 0pt depth \linewidth
+             \baselinegridi 1{#1}
+             \hrule height \linewidth}}
+\def\baselinegridi    %% #1=current number #2=total number of baseline scales
+    #1#2{\ifnum#1>#2 \hbox{\vsize=\gridheight \unhbox\grid
+                           \vrule width \linewidth}
+         \else\tempcount=\gridheight \tempskip=\baselinedist{#1}pt
+              \divide\tempcount by \tempskip \edef\tcs{{\number\tempcount}}
+              \setbox\grid=
+                  \hbox{\vsize=\gridheight \unhbox\grid
+                        \vrule width \linewidth
+                        \expandafter\baselinescale\tcs{\baselinedist{#1}}}
+              \tempcount=#1 \advance\tempcount by 1 \edef\tcs{{\number\tempcount}}
+              \expandafter\baselinegridi\tcs{#2}\fi}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%% magnified font sizes %%%%%%%%%%%%%%%%%%%%%%%%%
+\newcount\honcor
+\long\def\bungeltext#1#2{
+    \hrule height \linewidth
+    \kern1mm
+    \vbox{\hsize=#1\relax \rightskip=0cm plus 1fil
+          \lineskiplimit=0pt \lineskip=0pt \baselineskip=6pt
+          \tiny #2\par}}
+
+\def\magstep#1{\ifcase#1 1000\or 1095\or 1200\or 1440\or 1728\or 
+                         2074\or 2488\fi}
+\def\tienstep#1{\ifcase#1 10\or 10.95\or 12\or 14.4\or 17.28\or
+                         20.74\or 24.88\fi}
+\def\zevenstep#1{\ifcase#1 7\or 7.67\or 8.4\or 10.08\or 12.10\or
+                         14.52\or 17.42\fi}
+\def\vijfstep#1{\ifcase#1 5\or 5.48\or 6\or 7.2\or 8.64\or
+                         10.37\or 12.44\fi}
+
+\def\magname#1{\ifcase#1 0\or half\or 1\or 2\or 3\or 4\or 5\fi}
+\def\cmmagbox#1{{\divide\tempdimen by 1000
+                 \multiply\tempdimen by \magstep#1%
+                 \tempdimenb=.01mm \tempdimenc=\tempdimen 
+                 \divide\tempdimenc by \tempdimenb
+                 \tempcount=\tempdimenc
+                 \edef\next{\the\tempcount}%
+                 \divide\honcor by 1000
+                 \multiply \honcor by \magstep#1\relax
+                 \tempdimenc=.01pt \divide\honcor by \tempdimenc
+                 \edef\mixt{\the\honcor}%
+                 \edef\next{\noexpand\magbox{\the\tempdimen}{\magname#1}%
+                             {\noexpand\hundred{\next}}
+                             {\noexpand\corrout#1}}\next}}
+\def\magbox  %% #1=height #2=first text #3=second #4=third
+    #1#2#3#4{\vtop{\hbox{\vrule width\linewidth
+                       \vbox{\hrule width \magboxwidth height \linewidth 
+                             \kern #1}}
+                   \bungeltext\magboxwidth
+                        {#2\par #3\par #4\par}
+                  }}
+
+\def\magsteps{\vtop{\hbox{\cmmagbox0\cmmagbox1\cmmagbox2%
+                          \cmmagbox3\cmmagbox4\cmmagbox5\cmmagbox6%
+                          \vrule width \linewidth depth 0cm}}}
+
+\def\magrow           %% #1=name #2=unit numerator #3=unit denominator
+                      %% #4=unit size #5=design size #6=store box
+  #1#2#3#4#5#6{\tempdimen=#4 \divide\tempdimen by #3
+               \multiply\tempdimen by #2
+               \tempdimenb=#5pt \honcor=\tempdimenb
+               \ifnum#5=10 \let\corrout\tienstep
+                     \else\ifnum#5=7 \let\corrout\zevenstep
+                     \else \let\corrout\vijfstep \fi\fi
+               \magboxwidth=\scalewidth \setbox\tempboxa=\magsteps
+               \setbox\tempboxb=
+                       \vtop{\vbox{\hsize=1.2cm 
+                                   \lineskiplimit=0pt \lineskip=0pt
+                                   \baselineskip=6pt
+                                   \def\\{\hfil\break} \tiny #1
+                                   \par \kern1mm}
+                             \setbox0=\hbox{\tiny point size }
+                             \bungeltext{\wd0}{magstep\par 
+                                               mm \par point size\par}}
+               \tempdimen=\wd\tempboxa \advance\tempdimen by \wd\tempboxb
+               \advance\tempdimen by 2mm
+               \setbox#6=
+                 \hbox to \tempdimen{\box\tempboxa \kern2mm \box\tempboxb}}
+   
+\def\magsizebox      %% #1=text
+    #1{\hbox to 1.5\scalewidth{\hfil \tiny #1\hfil}}
+
+%%%%%%%%%%%%%%%%%%%%%%%% general magrows %%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\gmagsteps        %% #1=from #2=by #3=to
+    #1#2#3{\tempcount=#1\relax
+           {\multiply\tempdimen by \tempcount \tempcountb=\tempdimen
+            \tempdimenc=.01mm \divide\tempcountb by \tempdimenc
+            \edef\next{\the\tempcountb}%
+            \edef\next{\noexpand\magbox{\the\tempdimen}{\the\tempcount}%
+                                       {\noexpand\hundred{\next}}{}}%
+            \next}%
+           \advance\tempcount by #2%
+           \ifnum\tempcount=#3\relax\vrule width \linewidth depth 0cm
+           \else\edef\next{\noexpand\gmagsteps
+                             {\number\tempcount}{#2}{#3}}\next\fi}
+
+\def\gmagrow          %% #1=name #2=unit numerator #3=unit denominator
+                      %% #4=unit size #5=from #6=by #7=to #8=store box
+    #1#2#3#4#5#6#7#8{\tempdimen=#4 \divide\tempdimen by #3
+       \multiply\tempdimen by #2 
+       \setbox#8=\hbox{\magboxwidth\scalewidth \gmagsteps{#5}{#6}{#7}
+                       \ {}
+                       \vtop{\kern0cm
+                             \setbox0=\hbox{\tiny point size }
+                             \bungeltext{\wd0}{point size\\mm}}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% rulers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifleftruler \newdimen\stapje \newdimen\Stap \newdimen\hstapje
+\newcount\halfway \newcount\alltheway
+\newbox\onerulerbox
+\newdimen\vollebreedte \newdimen\vollebreedteplus
+\newdimen\overschot \overschot=.75mm
+
+\def\doalltheway
+    #1#2#3{#3{#1}\relax
+           \ifnum#1=#2\relax\else
+           \tempcount=#1 \advance\tempcount by 1
+           \expandafter\doalltheway\expandafter
+                {\number\tempcount}{#2}{#3}\fi}
+
+\def\centimeterruler{\Stap=1cm \leftrulerfalse
+                     \vollebreedte=1cm\relax
+                     \def\rulename{centimeter}%
+                     \let\ruledigitfont=\rm
+                     \alltheway=10 \doruler{cm}}
+\def\inchruler{\Stap=1in \leftrulertrue 
+               \vollebreedte=1cm\relax
+               \def\rulename{inch}%
+               \let\ruledigitfont=\rm
+               \alltheway=8 \doruler{inch}}
+\def\picaruler{\Stap=12pt \leftrulerfalse 
+               \vollebreedte=1cm\relax
+               \def\rulename{pica}%
+               \let\ruledigitfont=\tiny
+               \alltheway=6 \doruler{pica}}
+\def\rulerpiece
+    #1{\vbox to \stapje{\vfil \rulerhalfline \vfil \rulerline{#1}}}
+\def\rulerline %% streepje over aantal mm; halfweg volle breedte
+    #1{\ifnum#1=\halfway \tempskipb=\vollebreedteplus
+       \else \tempskipb=#1\hstapje
+             \advance\tempskipb by \overschot \fi
+       \hbox to \vollebreedteplus
+            {\maybeleft \vrule width\tempskipb height\linewidth
+             \mayberight }}
+\def\rulerhalfline
+    {\tempskipb=.5\hstapje \advance\tempskipb by \overschot
+     \hbox to \vollebreedteplus
+          {\maybeleft\vrule width\tempskipb height\linewidth
+           \mayberight}}
+\def\rulerbox         %% #1=label
+    #1{\vbox to 0cm{\kern.75mm\relax %was .5\stapje
+                    \hbox to \vollebreedteplus
+                                {\mayberight
+                                 \kern.75mm\ruledigitfont 
+                                 #1\kern.75mm
+                                 \maybeleft}
+                    \vss}
+       \copy\onerulerbox}
+\def\makerulerbox{\global\setbox\onerulerbox=
+       \vbox to \Stap{\vbox to 0cm
+                {\hbox{\ifleftruler\kern\overschot\fi
+                       \kern.5\vollebreedte
+                       \vrule depth \Stap width\linewidth}
+                 \vss}
+                       \doalltheway1{\alltheway}{\rulerpiece}
+                       \vss}}
+\def\doruler  %% #1=unit name #2=length #3=storage box 
+    #1#2#3{\ifleftruler \let\maybeleft\relax \let\mayberight\hfil
+           \else        \let\maybeleft\hfil  \let\mayberight\relax
+           \fi
+       \bgroup \halfway=\alltheway \divide\halfway by 2\relax
+               \stapje=\Stap \divide\stapje by \alltheway
+               \hstapje=\vollebreedte \divide\hstapje by \alltheway
+       \vollebreedteplus=\vollebreedte
+       \advance\vollebreedteplus by \overschot
+       \makerulerbox
+       \setbox\ruler=\vbox{\hrule width \vollebreedteplus height\linewidth}%
+       \doruleri 0{#2}\relax
+       \global\setbox\ruler=
+           \hbox{\ifleftruler\else\vrule width\linewidth\fi
+                 \box\ruler
+                 \ifleftruler \vrule width\linewidth \fi}%
+       \xdef\tcs{{#1}{\box\ruler}}\egroup
+       \setbox#3\expandafter\headedbox\tcs}
+ \def\doruleri
+    #1#2{\ifnum#1>#2 \let\next=\gobbletwo \def\tcs{0}%
+         \else \setbox\ruler=
+                   \vtop{\unvbox\ruler\rulerbox{#1}}%
+               \let\next=\doruleri
+               \tempcount=#1\relax \advance\tempcount by 1 
+               \edef\tcs{{\number\tempcount}}\fi
+         \expandafter\next\tcs{#2}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% paper size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\papersize#1#2{\vtop
+    {\kern0cm\vbox to #2{
+     \vbox to #1{\vfil\hrule width 2mm height 0cm depth \linewidth}
+                 \vfil\hrule width 2mm height 0cm depth \linewidth}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%% rule thickness %%%%%%%%%%%%%%%%%%%%%%%%%%
+\newdimen\rulelength \rulelength=.75\scalewidth
+\newdimen\interruleskip \interruleskip=.5\scalewidth
+
+\def\ruleboxh         %% #1=rule thickness #2=label
+    #1#2{\setbox\tempbox=
+                  \vbox{\hsize=\rulewidth 
+                        \vfill \vskip10pt \hbox{\tiny \rulenum{#2}}
+                        \vskip1pt \hrule height #1 width \rulewidth}%
+         \ifdim\ht\tempbox<\ruleboxheight
+               \vbox to \ruleboxheight{\unvbox\tempbox}%
+         \else\box\tempbox\fi}
+\def\ruleboxv         %% #1=rule thickness #2=label
+    #1#2{\vtop{\kern0cm
+               \hbox{\hbox to 5mm{\tiny \hfil \rulenum{#2}\kern1mm}%
+                     \vrule height \rulelength width #1}
+               \kern \interruleskip}}
+\let\rulebox=\ruleboxv
+\def\rulestackhead    %% #1=minimal label #2=label step
+                      %% #3=minimal dimen #4=dimen step
+                      %% #5=maximal label #6=storage box #7=header
+    #1#2#3#4#5#6#7{\setbox\scale=\vbox{}%
+             \rulestacki{#1}{#2}{#3}{#4}{#5}%
+             \setbox#6=\headedbox{#7}{\box\scale}}
+\def\rulestack        %% #1=minimal label #2=label step
+                      %% #3=minimal dimen #4=dimen step
+                      %% #5=maximal label #6=storage box
+    #1#2#3#4#5#6{\setbox\scale=\vbox{}%
+             \rulestacki{#1}{#2}{#3}{#4}{#5}%
+             \setbox#6=\box\scale}
+\def\rulestacki       %% #1=curr label #2=label step 
+                      %% #3=curr dimen #4=dimen step #5=total dimen
+    #1#2#3#4#5{\ifnum#1>#5%
+                     \setbox\scale=
+                        \vtop{\unvbox\scale \setbox0=\lastbox}%
+                     \let\next=\gobblefive \def\tcs{0}%
+               \else \setbox\scale=
+                        \vtop{\unvbox\scale
+                              \rulebox{#3}{#1}}%
+                     \tempskip=#3\relax \advance\tempskip by #4\relax
+                     \tempcount=#1\relax \advance\tempcount by #2\relax
+                     \let\next=\rulestacki
+                     \edef\tcs{{\number\tempcount}}\fi
+               \expandafter\next\tcs{#2}{\tempskip}{#4}{#5}}
+                     
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% conversion table %%%%%%%%%%%%%%%%%%%%%%%%
+\def\num{\ss\enspace\hfill}
+\def\me#1{\ifcase#1\relax\or pt\or pc\or dd\or cc\or bp\or mm\or in\fi}
+\def\table{\halign{\strut\hbox to 1cm{\tt##\hfil}\vrule\enspace
+                   &\num##&\num##&\num##&\num##&\num##&\num##&\num##\cr
+    \hfill&\tt \me1&\tt \me2&\tt \me3&\tt \me4&\tt \me5&\tt \me6&\tt \me7\cr
+   \noalign{\hrule}
+    \me1&1&.0833&&&&.351&.0138\cr
+    \me2&12&1&&&&4.218&.166\cr
+    \me3&&&1&.0833&&.376&.0148\cr
+    \me4&&&12&1&&4.513&.1777\cr
+    \me5&&&&&1&.383&.0139\cr
+    \me6&2.845&.237&2.659&.222&2.835&1&.0394\cr
+    \me7&72.27&6.0225&67.54&5.628&72&25.4&1\cr
+          }}
+%%%%%%%%%%%%%%%%%%%%%%%%%% the whole sheet %%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\opskip{\vskip.5mm\relax}
+\let\neerskip\opskip
+
+\output{}
+
+\begingroup\hsize=12cm \vsize=8in
+\parindent=0pt \parskip=6pt
+\rightskip=0cm plus 5cm \normalbaselines
+
+\hbox{}\vskip3cm
+\big The \TeX\ ruler
+
+\manual
+This is the \TeX\ ruler, a measuring device for
+typographical designers working with \TeX. It includes ordinary
+rulers in inches, centimeters, and picas.
+It can be used to measure font sizes, baseline distances,
+and rule weights. The design is based on a ruler
+by Inge~Eijkhout, implementation in \TeX\ is by 
+Victor~Eijkhout.
+
+The \TeX\ ruler is shareware, distributed under the GNU Public License.
+If you want to show your appreciation, send a contribution
+to the address below.
+
+How to format and print this file
+
+This file will give you three pages. Most likely the second one
+cannot be handled by your printer, but I've included it for
+completeness. At the top of the source file, 3 fonts are
+declared. Please change the CM fonts to something more pretty,
+eg Helvetica.
+
+How to use the \TeX\ ruler
+
+Rulers. Use them like ordinary rulers. It is suggested
+that you print the \TeX\ ruler on transparent plastic and
+cut the edges along the rulers.
+
+Baseline distances. Put the top line along the baseline
+of some line of text. Then see in what column the other
+lines of text line up.
+
+Font sizes: cap height. Take an uppercase letter
+such as `K' or `H'. Find the line with its font name,
+or use the first line. See what box on that line
+it fits in best, with the character completely between
+the lines. Read out the magnification and size of the
+font. Alternately check on all lines which box fits
+best, then read out the size.
+
+General remark: all lines have a width of .05 millimeter. 
+This is less than the dot width of a 300dpi
+laser printer, so beware of some inaccuracies.
+Also your printer driver may introduce 
+inaccuracies.
+
+\leavevmode
+{\obeylines \parskip=0pt %
+Victor Eijkhout
+Department of Computer Science
+University of Tennessee
+Knoxville, TN 37996
+USA\par {\tt victor at eijkhout.net}}
+
+\vfil
+Copyright 1990-99 by Victor Eijkhout
+\eject
+\endgroup
+
+\endlinechar-1
+
+\def\BigSheet{\leavevmode
+\leftrulertrue \inchruler{11}{\storea}
+\box\storea
+\papersize{8.5in}{11in}
+%
+\vtop{
+  \baselinegrid{18}\storea \box\storea
+  \kern1mm
+  \moveright2mm
+  \vbox{\hbox{\ss Baseline distances}
+        \neerskip \hrule}
+  \kern5mm
+  %
+ \moveright2mm
+ \hbox{
+ \vtop{\vbox{\hrule \opskip \hbox{\ss Cap heights}}
+       \kern-3mm
+  \def\a{\kern2mm}
+  \magrow{cmr10\\cmbx10\\cmss10\\cmmi10}{250}{36}{1pt}{10}\storec
+  \magrow{cmtt10\\cmff10}{220}{36}{1pt}{10}\stored
+  \magrow{cmr7\\cmbx7\\cmmi7}{175}{36}{1pt}7\storee
+  \magrow{cmr5\\cmbx5\\cmmi5}{125}{36}{1pt}5\storef
+  \vbox{\a\box\storec \a\box\stored
+        \a\box\storee \a\box\storef}
+  %
+  \gmagrow{cmr10}{25}{36}{1pt}51{14}\storec
+  \gmagrow{cmr10}{25}{36}{1pt}{15}1{24}\stored
+  \gmagrow{cmr10}{25}{36}{1pt}{26}2{44}\storee
+  \gmagrow{cmr10}{25}{36}{1pt}{46}2{64}\storef
+  \vbox{\a\box\storec \a\box\stored
+        \a\box\storee \a\box\storef}
+  %
+  \leftrulertrue \picaruler{19}{\storea}
+  \setbox\storeb=\vtop{\kern0cm 
+                       \def\a{}%{\moveright1cm}
+                       \a\vbox{\hrule \opskip
+                               \hbox{\strut\ss Conversion of units}}
+                       \kern2mm
+                       \halign{\vrule height8pt depth3pt width0pt
+                               \ss##\ &${}={}$\hfil\ \ss##&$\,$##\cr
+                               1{\tt in}& 72.27&{\tt pt}\cr
+                               1{\tt in}& 72&{\tt bp}\cr
+                               1{\tt in}& 25.4&{\tt mm}\cr
+                               1157{\tt dd}& 1238&{\tt pt}\cr
+                               1{\tt pt}& 65536&{\tt sp}\cr}
+                       \kern2mm \table
+                       \kern8mm
+                       \hbox{\hskip1cm \big The \TeX\ Ruler}
+                       \kern2pt
+                       \hbox{\hskip1cm \tiny Design:\ {}
+                             Inge and Victor Eijkhout 1990--96}}
+  \kern4mm
+  \hbox{\box\storea \kern2mm \box\storeb}
+  }%end of \vtop
+ \kern-1cm
+ \vtop{\vbox{\hrule \opskip \hbox{\ss Rule weights}}
+       \kern5mm
+   \let\rulenum=\decimalb
+   \rulestackhead{5}{5}{0.05mm}{0.05mm}{100}\storeg{mm}
+   \rulestack    {100}{25}{1mm}{0.25mm}{525}\storeh
+   \let\rulenum=\decimala
+   \rulestackhead{5}{5}{.5pt}{.5pt}{151}\storei{pt}
+   \hbox{\box\storeg \kern3mm \box\storeh \kern3mm \box\storei}
+  }%end of second \vtop
+ }%end of \hbox
+  }
+%
+\kern2mm\relax
+\leftrulerfalse \centimeterruler {29}{\storea}
+\papersize{21cm}{29.7cm}
+\box\storea
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\smallsheet{\leavevmode
+\leftrulertrue \inchruler{9}{\storea}
+\box\storea \kern2mm
+%
+\vtop{
+  \baselinegrid{18}\storea \box\storea
+  \kern1mm
+  \moveright2mm
+  \vbox{\hbox{\ss Baseline distances}
+        \neerskip \hrule}
+  \kern5mm
+  %
+ \moveright2mm
+ \hbox{
+ \vtop{\vbox{\hrule \opskip \hbox{\ss Cap heights}}
+       \kern-3mm
+  \def\a{\kern2mm}
+  \magrow{cmr10\\cmbx10\\cmss10\\cmmi10}{250}{36}{1pt}{10}\storec
+  \magrow{cmtt10\\cmff10}{220}{36}{1pt}{10}\stored
+  \magrow{cmr7\\cmbx7\\cmmi7}{175}{36}{1pt}7\storee
+  \magrow{cmr5\\cmbx5\\cmmi5}{125}{36}{1pt}5\storef
+  \vbox{\a\box\storec \a\box\stored
+        \a\box\storee \a\box\storef}
+%
+  \leftrulertrue \picaruler{19}{\storea}%\showbox\storea
+  \setbox\storeb=\vtop{\kern0cm 
+                       \def\a{}%{\moveright1cm}
+                       \a\vbox{\hrule \opskip
+                               \hbox{\strut\ss Conversion of units}}
+                       \kern2mm
+                       \halign{\vrule height8pt depth3pt width0pt
+                               \ss##\ &${}={}$\hfil\ \ss##&$\,$##\cr
+                               1{\tt in}& 72.27&{\tt pt}\cr
+                               1{\tt in}& 72&{\tt bp}\cr
+                               1{\tt in}& 25.4&{\tt mm}\cr
+                               1157{\tt dd}& 1238&{\tt pt}\cr
+                               1{\tt pt}& 65536&{\tt sp}\cr}
+                       \kern2mm \table
+                       \kern8mm
+                       \hbox{\hskip1cm \big The \TeX\ Ruler}
+                       \kern2pt
+                       \hbox{\hskip1cm \tiny Design:\ {}
+                             Inge and Victor Eijkhout 1990--96}}
+  \kern4mm
+  \hbox{\box\storea \kern2mm \box\storeb}
+  }%end of \vtop
+ \kern-1cm
+ \vtop{\vbox{\hrule \opskip \hbox{\ss Rule weights}}
+       \kern5mm
+   \let\rulenum=\decimalb
+   \rulestackhead{5}{5}{0.05mm}{0.05mm}{50}\storeg{mm}
+   \rulestack    {50}{10}{.5mm}{0.1mm}{160}\storeh
+   \let\rulenum=\decimala
+   \rulestackhead{5}{5}{.5pt}{.5pt}{101}\storei{pt}
+   \hbox{\box\storeg \kern3mm \box\storeh \kern3mm \box\storei}
+  }%end of second \vtop
+ }%end of \hbox
+  }
+%
+\kern2mm\relax
+\leftrulerfalse \centimeterruler {23}{\storea}
+\box\storea
+}
+
+
+\count0=2
+\BigSheet
+\vfill\eject
+\count0=3
+\smallsheet
+
+\end
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


Property changes on: trunk/Master/texmf-dist/doc/latex/ruler/ruler.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/tex/generic/genmisc/ruler.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/genmisc/ruler.tex	2020-03-12 03:07:03 UTC (rev 54250)
+++ trunk/Master/texmf-dist/tex/generic/genmisc/ruler.tex	2020-03-12 16:57:44 UTC (rev 54251)
@@ -1,656 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Typographic ruler for TeX, version 1.1
-% Copyright Victor Eijkhout 1999
-% file name: ruler.tex
-%
-% Author:
-% Victor Eijkhout
-% Department of Computer Science
-% University of Tennessee, Knoxville TN 37996
-%
-% victor at eijkhout.net
-%
-% This program is free software; you can redistribute it and/or
-% modify it under the terms of the GNU General Public License
-% as published by the Free Software Foundation; either version 2
-% of the License, or (at your option) any later version.
-% 
-% This program is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-% GNU General Public License for more details.
-%
-% For a copy of the GNU General Public License, write to the 
-% Free Software Foundation, Inc.,
-% 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA,
-% or find it on the net, for instance at
-% http://www.gnu.org/copyleft/gpl.html
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% This file is identical to an earlier version which was on ctan and
-% other archive sites; only the license and copyright information
-% has changed.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-\hsize=14.5cm \vsize=32cm \voffset=-1.5cm 
-\nopagenumbers \raggedbottom
-\overfullrule=0pt
-%\tracingoutput=1 
-\showboxbreadth=20 \showboxdepth=7
-
-\font\tiny=cmr5 \font\ss=cmr8 
-\font\big=cmss10 scaled \magstep3
-\font\manual=cmr10
-
-%\font\tiny=helv at 5pt \font\ss=helv at 8pt 
-%\font\big=helv at 16pt
-%\font\manual=times at 10pt 
-
-\let\tt=\ss \let\rm=\ss
-\parindent=0cm \offinterlineskip
-\def\\{\hfill\break}
-
-\newdimen\margin \margin=.5cm
-\newdimen\linewidth \linewidth=0.05mm
-\newdimen\scalewidth \scalewidth=6mm \newdimen\magboxwidth
-\newdimen\gridheight \gridheight=8cm
-\newdimen\rulewidth \rulewidth=\scalewidth
-\newdimen\ruleboxheight \ruleboxheight=6mm
-
-\newbox\magscalenames \newbox\scale \newbox\grid 
-\newbox\stairs \newbox\ruler
-\newcount\ncol \newcount\nrow
-\newcount\tempcount \newcount\tempcountb \newcount\tempcounth
-\newbox\tempboxa \newbox\tempboxb
-\newskip\tempskip \newskip\tempskipb
-\newdimen\tempdimen \newdimen\tempdimenb \newdimen\tempdimenc
-
-\newbox\storea \newbox\storeb \newbox\storec 
-\newbox\stored \newbox\storee \newbox\storef
-\newbox\storeg \newbox\storeh \newbox\storei
-\newbox\storej
-
-\def\gobble#1{}
-\def\gobbletwo#1#2{}
-\def\gobblethree#1#2#3{}
-\def\gobblefive#1#2#3#4#5{}
-
-\def\hfilll{\hskip 0cm plus 1filll\relax}
-
-%%%%%%%%%%%%%%%% trace
-%\tracingonline=1 
-%\tracingmacros=1
-
-%%%%%%%%%%%%%%%% auxiliaries
-\def\decimala     %% #1=getal; a-> 1 plaats achter de komma
-    #1{{\tempcounth=#1\relax
-        \tempcountb=\tempcounth
-        \divide\tempcountb by 10\relax
-        \number\tempcountb.%
-        \multiply\tempcountb by 10\relax
-        \advance\tempcounth by -\tempcountb
-        \number\tempcounth}}
-        
-\def\decimalb     %% #1=getal; b-> 2 plaatsen achter de komma
-    #1{{\tempcounth=#1\relax
-        \tempcountb=\tempcounth
-        \divide\tempcountb by 100\relax
-        \number\tempcountb.%
-        \multiply\tempcountb by 100\relax
-        \advance\tempcounth by -\tempcountb
-        \ifnum\tempcounth<10 0\fi
-        \number\tempcounth}}
-        
-\def\hundred#1{{\tempcounth=#1 
-                \tempcountb=\tempcounth
-                \divide\tempcounth by 100\relax
-                \ifnum\tempcounth>0 
-                            \number\tempcounth.\fi
-                \multiply\tempcounth by 100
-                \advance\tempcountb by -\tempcounth
-                \ifnum\tempcountb<10 0\fi
-                \number\tempcountb}}
-
-\def\thousand#1{{\tempcount=#1 \tempcountb=\tempcount
-                 \divide\tempcount by 1000
-                 \ifnum\tempcount>0 \number\tempcount.\fi
-                 \multiply\tempcount by 1000
-                 \advance\tempcountb by -\tempcount
-                 \ifnum\tempcountb<100 0\fi
-                 \ifnum\tempcountb<10 0\fi
-                 \number\tempcountb}}
-
-\def\headedbox        %% #1=heading text #2=vbox
-    #1#2{\vtop{\vbox to 0cm{\vss\setbox0=\hbox to 0cm{\tt #1\hss} \dp0=0cm 
-                            \box0 \vskip2pt}
-               #2}}
-\def\boxit#1{\vbox{\hrule
-                   \hbox{\vrule #1\vrule}
-                   \hrule}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%% baseline measurement %%%%%%%%%%%%%%%%%%%%%%%%
-\newskip\liftskip
-%% what baselineskips are needed?
-\def\baselinedist#1{\ifcase#1\or 5\or 6\or 7\or 8\or 9\or 10\or
-           11\or 12\or 13\or 14\or 15\or 16\or 17\or
-           18\or 20\or 22\or 25\or 30\fi}
-
-%% first one step in a ladder of baselineskips
-\def\baselinebox      %% #1=size #2=number label
-    #1#2{\vbox to #1pt{\vfil
-                 \moveright .5\hsize\vbox{\hrule height \linewidth 
-                                          width .5\hsize}
-                 \vfil\vbox to 0cm{\vss\hskip2pt\tiny\number#2\vskip\liftskip}
-                 \hrule height \linewidth}}
-
-%% next a whole ladder of baselineskips
-\def\baselinescale    %% #1=number of steps #2=point size
-    #1#2{\ifnum#2<7 \liftskip=0pt \else \liftskip=2pt \fi
-         \setbox\scale=\vbox{}%
-         \baselinescalei 1{#1}{#2}%
-         \edef\tcs{{#2}{\box\scale}}\expandafter\headedbox\tcs}
-\def\baselinescalei   %% #1=label #2=number of steps #3=point size
-    #1#2#3{\ifnum#1>#2 \def\tcs{0}\let\next=\gobblethree
-           \else\tempcount=#1 \advance\tempcount by 1
-                \setbox\scale=\vtop{\hsize=\scalewidth
-                                    \advance\hsize by -\linewidth
-                                    \unvbox\scale
-                                    \baselinebox{#3}{#1}}%
-                \let\next\baselinescalei \edef\tcs{{\number\tempcount}}\fi
-           \expandafter\next\tcs{#2}{#3}}
-
-%% finally a grid of ladders of baselineskips
-\def\baselinegrid     %% #1=number of baseline scales #2=storage box
-    #1#2{\setbox\grid=\hbox{}%
-         \setbox#2=\vtop{\hrule height 0pt depth \linewidth
-             \baselinegridi 1{#1}
-             \hrule height \linewidth}}
-\def\baselinegridi    %% #1=current number #2=total number of baseline scales
-    #1#2{\ifnum#1>#2 \hbox{\vsize=\gridheight \unhbox\grid
-                           \vrule width \linewidth}
-         \else\tempcount=\gridheight \tempskip=\baselinedist{#1}pt
-              \divide\tempcount by \tempskip \edef\tcs{{\number\tempcount}}
-              \setbox\grid=
-                  \hbox{\vsize=\gridheight \unhbox\grid
-                        \vrule width \linewidth
-                        \expandafter\baselinescale\tcs{\baselinedist{#1}}}
-              \tempcount=#1 \advance\tempcount by 1 \edef\tcs{{\number\tempcount}}
-              \expandafter\baselinegridi\tcs{#2}\fi}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%% magnified font sizes %%%%%%%%%%%%%%%%%%%%%%%%%
-\newcount\honcor
-\long\def\bungeltext#1#2{
-    \hrule height \linewidth
-    \kern1mm
-    \vbox{\hsize=#1\relax \rightskip=0cm plus 1fil
-          \lineskiplimit=0pt \lineskip=0pt \baselineskip=6pt
-          \tiny #2\par}}
-
-\def\magstep#1{\ifcase#1 1000\or 1095\or 1200\or 1440\or 1728\or 
-                         2074\or 2488\fi}
-\def\tienstep#1{\ifcase#1 10\or 10.95\or 12\or 14.4\or 17.28\or
-                         20.74\or 24.88\fi}
-\def\zevenstep#1{\ifcase#1 7\or 7.67\or 8.4\or 10.08\or 12.10\or
-                         14.52\or 17.42\fi}
-\def\vijfstep#1{\ifcase#1 5\or 5.48\or 6\or 7.2\or 8.64\or
-                         10.37\or 12.44\fi}
-
-\def\magname#1{\ifcase#1 0\or half\or 1\or 2\or 3\or 4\or 5\fi}
-\def\cmmagbox#1{{\divide\tempdimen by 1000
-                 \multiply\tempdimen by \magstep#1%
-                 \tempdimenb=.01mm \tempdimenc=\tempdimen 
-                 \divide\tempdimenc by \tempdimenb
-                 \tempcount=\tempdimenc
-                 \edef\next{\the\tempcount}%
-                 \divide\honcor by 1000
-                 \multiply \honcor by \magstep#1\relax
-                 \tempdimenc=.01pt \divide\honcor by \tempdimenc
-                 \edef\mixt{\the\honcor}%
-                 \edef\next{\noexpand\magbox{\the\tempdimen}{\magname#1}%
-                             {\noexpand\hundred{\next}}
-                             {\noexpand\corrout#1}}\next}}
-\def\magbox  %% #1=height #2=first text #3=second #4=third
-    #1#2#3#4{\vtop{\hbox{\vrule width\linewidth
-                       \vbox{\hrule width \magboxwidth height \linewidth 
-                             \kern #1}}
-                   \bungeltext\magboxwidth
-                        {#2\par #3\par #4\par}
-                  }}
-
-\def\magsteps{\vtop{\hbox{\cmmagbox0\cmmagbox1\cmmagbox2%
-                          \cmmagbox3\cmmagbox4\cmmagbox5\cmmagbox6%
-                          \vrule width \linewidth depth 0cm}}}
-
-\def\magrow           %% #1=name #2=unit numerator #3=unit denominator
-                      %% #4=unit size #5=design size #6=store box
-  #1#2#3#4#5#6{\tempdimen=#4 \divide\tempdimen by #3
-               \multiply\tempdimen by #2
-               \tempdimenb=#5pt \honcor=\tempdimenb
-               \ifnum#5=10 \let\corrout\tienstep
-                     \else\ifnum#5=7 \let\corrout\zevenstep
-                     \else \let\corrout\vijfstep \fi\fi
-               \magboxwidth=\scalewidth \setbox\tempboxa=\magsteps
-               \setbox\tempboxb=
-                       \vtop{\vbox{\hsize=1.2cm 
-                                   \lineskiplimit=0pt \lineskip=0pt
-                                   \baselineskip=6pt
-                                   \def\\{\hfil\break} \tiny #1
-                                   \par \kern1mm}
-                             \setbox0=\hbox{\tiny point size }
-                             \bungeltext{\wd0}{magstep\par 
-                                               mm \par point size\par}}
-               \tempdimen=\wd\tempboxa \advance\tempdimen by \wd\tempboxb
-               \advance\tempdimen by 2mm
-               \setbox#6=
-                 \hbox to \tempdimen{\box\tempboxa \kern2mm \box\tempboxb}}
-   
-\def\magsizebox      %% #1=text
-    #1{\hbox to 1.5\scalewidth{\hfil \tiny #1\hfil}}
-
-%%%%%%%%%%%%%%%%%%%%%%%% general magrows %%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\gmagsteps        %% #1=from #2=by #3=to
-    #1#2#3{\tempcount=#1\relax
-           {\multiply\tempdimen by \tempcount \tempcountb=\tempdimen
-            \tempdimenc=.01mm \divide\tempcountb by \tempdimenc
-            \edef\next{\the\tempcountb}%
-            \edef\next{\noexpand\magbox{\the\tempdimen}{\the\tempcount}%
-                                       {\noexpand\hundred{\next}}{}}%
-            \next}%
-           \advance\tempcount by #2%
-           \ifnum\tempcount=#3\relax\vrule width \linewidth depth 0cm
-           \else\edef\next{\noexpand\gmagsteps
-                             {\number\tempcount}{#2}{#3}}\next\fi}
-
-\def\gmagrow          %% #1=name #2=unit numerator #3=unit denominator
-                      %% #4=unit size #5=from #6=by #7=to #8=store box
-    #1#2#3#4#5#6#7#8{\tempdimen=#4 \divide\tempdimen by #3
-       \multiply\tempdimen by #2 
-       \setbox#8=\hbox{\magboxwidth\scalewidth \gmagsteps{#5}{#6}{#7}
-                       \ {}
-                       \vtop{\kern0cm
-                             \setbox0=\hbox{\tiny point size }
-                             \bungeltext{\wd0}{point size\\mm}}}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%% rulers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifleftruler \newdimen\stapje \newdimen\Stap \newdimen\hstapje
-\newcount\halfway \newcount\alltheway
-\newbox\onerulerbox
-\newdimen\vollebreedte \newdimen\vollebreedteplus
-\newdimen\overschot \overschot=.75mm
-
-\def\doalltheway
-    #1#2#3{#3{#1}\relax
-           \ifnum#1=#2\relax\else
-           \tempcount=#1 \advance\tempcount by 1
-           \expandafter\doalltheway\expandafter
-                {\number\tempcount}{#2}{#3}\fi}
-
-\def\centimeterruler{\Stap=1cm \leftrulerfalse
-                     \vollebreedte=1cm\relax
-                     \def\rulename{centimeter}%
-                     \let\ruledigitfont=\rm
-                     \alltheway=10 \doruler{cm}}
-\def\inchruler{\Stap=1in \leftrulertrue 
-               \vollebreedte=1cm\relax
-               \def\rulename{inch}%
-               \let\ruledigitfont=\rm
-               \alltheway=8 \doruler{inch}}
-\def\picaruler{\Stap=12pt \leftrulerfalse 
-               \vollebreedte=1cm\relax
-               \def\rulename{pica}%
-               \let\ruledigitfont=\tiny
-               \alltheway=6 \doruler{pica}}
-\def\rulerpiece
-    #1{\vbox to \stapje{\vfil \rulerhalfline \vfil \rulerline{#1}}}
-\def\rulerline %% streepje over aantal mm; halfweg volle breedte
-    #1{\ifnum#1=\halfway \tempskipb=\vollebreedteplus
-       \else \tempskipb=#1\hstapje
-             \advance\tempskipb by \overschot \fi
-       \hbox to \vollebreedteplus
-            {\maybeleft \vrule width\tempskipb height\linewidth
-             \mayberight }}
-\def\rulerhalfline
-    {\tempskipb=.5\hstapje \advance\tempskipb by \overschot
-     \hbox to \vollebreedteplus
-          {\maybeleft\vrule width\tempskipb height\linewidth
-           \mayberight}}
-\def\rulerbox         %% #1=label
-    #1{\vbox to 0cm{\kern.75mm\relax %was .5\stapje
-                    \hbox to \vollebreedteplus
-                                {\mayberight
-                                 \kern.75mm\ruledigitfont 
-                                 #1\kern.75mm
-                                 \maybeleft}
-                    \vss}
-       \copy\onerulerbox}
-\def\makerulerbox{\global\setbox\onerulerbox=
-       \vbox to \Stap{\vbox to 0cm
-                {\hbox{\ifleftruler\kern\overschot\fi
-                       \kern.5\vollebreedte
-                       \vrule depth \Stap width\linewidth}
-                 \vss}
-                       \doalltheway1{\alltheway}{\rulerpiece}
-                       \vss}}
-\def\doruler  %% #1=unit name #2=length #3=storage box 
-    #1#2#3{\ifleftruler \let\maybeleft\relax \let\mayberight\hfil
-           \else        \let\maybeleft\hfil  \let\mayberight\relax
-           \fi
-       \bgroup \halfway=\alltheway \divide\halfway by 2\relax
-               \stapje=\Stap \divide\stapje by \alltheway
-               \hstapje=\vollebreedte \divide\hstapje by \alltheway
-       \vollebreedteplus=\vollebreedte
-       \advance\vollebreedteplus by \overschot
-       \makerulerbox
-       \setbox\ruler=\vbox{\hrule width \vollebreedteplus height\linewidth}%
-       \doruleri 0{#2}\relax
-       \global\setbox\ruler=
-           \hbox{\ifleftruler\else\vrule width\linewidth\fi
-                 \box\ruler
-                 \ifleftruler \vrule width\linewidth \fi}%
-       \xdef\tcs{{#1}{\box\ruler}}\egroup
-       \setbox#3\expandafter\headedbox\tcs}
- \def\doruleri
-    #1#2{\ifnum#1>#2 \let\next=\gobbletwo \def\tcs{0}%
-         \else \setbox\ruler=
-                   \vtop{\unvbox\ruler\rulerbox{#1}}%
-               \let\next=\doruleri
-               \tempcount=#1\relax \advance\tempcount by 1 
-               \edef\tcs{{\number\tempcount}}\fi
-         \expandafter\next\tcs{#2}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%% paper size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\papersize#1#2{\vtop
-    {\kern0cm\vbox to #2{
-     \vbox to #1{\vfil\hrule width 2mm height 0cm depth \linewidth}
-                 \vfil\hrule width 2mm height 0cm depth \linewidth}}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%% rule thickness %%%%%%%%%%%%%%%%%%%%%%%%%%
-\newdimen\rulelength \rulelength=.75\scalewidth
-\newdimen\interruleskip \interruleskip=.5\scalewidth
-
-\def\ruleboxh         %% #1=rule thickness #2=label
-    #1#2{\setbox\tempbox=
-                  \vbox{\hsize=\rulewidth 
-                        \vfill \vskip10pt \hbox{\tiny \rulenum{#2}}
-                        \vskip1pt \hrule height #1 width \rulewidth}%
-         \ifdim\ht\tempbox<\ruleboxheight
-               \vbox to \ruleboxheight{\unvbox\tempbox}%
-         \else\box\tempbox\fi}
-\def\ruleboxv         %% #1=rule thickness #2=label
-    #1#2{\vtop{\kern0cm
-               \hbox{\hbox to 5mm{\tiny \hfil \rulenum{#2}\kern1mm}%
-                     \vrule height \rulelength width #1}
-               \kern \interruleskip}}
-\let\rulebox=\ruleboxv
-\def\rulestackhead    %% #1=minimal label #2=label step
-                      %% #3=minimal dimen #4=dimen step
-                      %% #5=maximal label #6=storage box #7=header
-    #1#2#3#4#5#6#7{\setbox\scale=\vbox{}%
-             \rulestacki{#1}{#2}{#3}{#4}{#5}%
-             \setbox#6=\headedbox{#7}{\box\scale}}
-\def\rulestack        %% #1=minimal label #2=label step
-                      %% #3=minimal dimen #4=dimen step
-                      %% #5=maximal label #6=storage box
-    #1#2#3#4#5#6{\setbox\scale=\vbox{}%
-             \rulestacki{#1}{#2}{#3}{#4}{#5}%
-             \setbox#6=\box\scale}
-\def\rulestacki       %% #1=curr label #2=label step 
-                      %% #3=curr dimen #4=dimen step #5=total dimen
-    #1#2#3#4#5{\ifnum#1>#5%
-                     \setbox\scale=
-                        \vtop{\unvbox\scale \setbox0=\lastbox}%
-                     \let\next=\gobblefive \def\tcs{0}%
-               \else \setbox\scale=
-                        \vtop{\unvbox\scale
-                              \rulebox{#3}{#1}}%
-                     \tempskip=#3\relax \advance\tempskip by #4\relax
-                     \tempcount=#1\relax \advance\tempcount by #2\relax
-                     \let\next=\rulestacki
-                     \edef\tcs{{\number\tempcount}}\fi
-               \expandafter\next\tcs{#2}{\tempskip}{#4}{#5}}
-                     
-
-%%%%%%%%%%%%%%%%%%%%%%%%%% conversion table %%%%%%%%%%%%%%%%%%%%%%%%
-\def\num{\ss\enspace\hfill}
-\def\me#1{\ifcase#1\relax\or pt\or pc\or dd\or cc\or bp\or mm\or in\fi}
-\def\table{\halign{\strut\hbox to 1cm{\tt##\hfil}\vrule\enspace
-                   &\num##&\num##&\num##&\num##&\num##&\num##&\num##\cr
-    \hfill&\tt \me1&\tt \me2&\tt \me3&\tt \me4&\tt \me5&\tt \me6&\tt \me7\cr
-   \noalign{\hrule}
-    \me1&1&.0833&&&&.351&.0138\cr
-    \me2&12&1&&&&4.218&.166\cr
-    \me3&&&1&.0833&&.376&.0148\cr
-    \me4&&&12&1&&4.513&.1777\cr
-    \me5&&&&&1&.383&.0139\cr
-    \me6&2.845&.237&2.659&.222&2.835&1&.0394\cr
-    \me7&72.27&6.0225&67.54&5.628&72&25.4&1\cr
-          }}
-%%%%%%%%%%%%%%%%%%%%%%%%%% the whole sheet %%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\opskip{\vskip.5mm\relax}
-\let\neerskip\opskip
-
-\output{}
-
-\begingroup\hsize=12cm \vsize=8in
-\parindent=0pt \parskip=6pt
-\rightskip=0cm plus 5cm \normalbaselines
-
-\hbox{}\vskip3cm
-\big The \TeX\ ruler
-
-\manual
-This is the \TeX\ ruler, a measuring device for
-typographical designers working with \TeX. It includes ordinary
-rulers in inches, centimeters, and picas.
-It can be used to measure font sizes, baseline distances,
-and rule weights. The design is based on a ruler
-by Inge~Eijkhout, implementation in \TeX\ is by 
-Victor~Eijkhout.
-
-The \TeX\ ruler is shareware, distributed under the GNU Public License.
-If you want to show your appreciation, send a contribution
-to the address below.
-
-How to format and print this file
-
-This file will give you three pages. Most likely the second one
-cannot be handled by your printer, but I've included it for
-completeness. At the top of the source file, 3 fonts are
-declared. Please change the CM fonts to something more pretty,
-eg Helvetica.
-
-How to use the \TeX\ ruler
-
-Rulers. Use them like ordinary rulers. It is suggested
-that you print the \TeX\ ruler on transparent plastic and
-cut the edges along the rulers.
-
-Baseline distances. Put the top line along the baseline
-of some line of text. Then see in what column the other
-lines of text line up.
-
-Font sizes: cap height. Take an uppercase letter
-such as `K' or `H'. Find the line with its font name,
-or use the first line. See what box on that line
-it fits in best, with the character completely between
-the lines. Read out the magnification and size of the
-font. Alternately check on all lines which box fits
-best, then read out the size.
-
-General remark: all lines have a width of .05 millimeter. 
-This is less than the dot width of a 300dpi
-laser printer, so beware of some inaccuracies.
-Also your printer driver may introduce 
-inaccuracies.
-
-\leavevmode
-{\obeylines \parskip=0pt %
-Victor Eijkhout
-Department of Computer Science
-University of Tennessee
-Knoxville, TN 37996
-USA\par {\tt victor at eijkhout.net}}
-
-\vfil
-Copyright 1990-99 by Victor Eijkhout
-\eject
-\endgroup
-
-\endlinechar-1
-
-\def\BigSheet{\leavevmode
-\leftrulertrue \inchruler{11}{\storea}
-\box\storea
-\papersize{8.5in}{11in}
-%
-\vtop{
-  \baselinegrid{18}\storea \box\storea
-  \kern1mm
-  \moveright2mm
-  \vbox{\hbox{\ss Baseline distances}
-        \neerskip \hrule}
-  \kern5mm
-  %
- \moveright2mm
- \hbox{
- \vtop{\vbox{\hrule \opskip \hbox{\ss Cap heights}}
-       \kern-3mm
-  \def\a{\kern2mm}
-  \magrow{cmr10\\cmbx10\\cmss10\\cmmi10}{250}{36}{1pt}{10}\storec
-  \magrow{cmtt10\\cmff10}{220}{36}{1pt}{10}\stored
-  \magrow{cmr7\\cmbx7\\cmmi7}{175}{36}{1pt}7\storee
-  \magrow{cmr5\\cmbx5\\cmmi5}{125}{36}{1pt}5\storef
-  \vbox{\a\box\storec \a\box\stored
-        \a\box\storee \a\box\storef}
-  %
-  \gmagrow{cmr10}{25}{36}{1pt}51{14}\storec
-  \gmagrow{cmr10}{25}{36}{1pt}{15}1{24}\stored
-  \gmagrow{cmr10}{25}{36}{1pt}{26}2{44}\storee
-  \gmagrow{cmr10}{25}{36}{1pt}{46}2{64}\storef
-  \vbox{\a\box\storec \a\box\stored
-        \a\box\storee \a\box\storef}
-  %
-  \leftrulertrue \picaruler{19}{\storea}
-  \setbox\storeb=\vtop{\kern0cm 
-                       \def\a{}%{\moveright1cm}
-                       \a\vbox{\hrule \opskip
-                               \hbox{\strut\ss Conversion of units}}
-                       \kern2mm
-                       \halign{\vrule height8pt depth3pt width0pt
-                               \ss##\ &${}={}$\hfil\ \ss##&$\,$##\cr
-                               1{\tt in}& 72.27&{\tt pt}\cr
-                               1{\tt in}& 72&{\tt bp}\cr
-                               1{\tt in}& 25.4&{\tt mm}\cr
-                               1157{\tt dd}& 1238&{\tt pt}\cr
-                               1{\tt pt}& 65536&{\tt sp}\cr}
-                       \kern2mm \table
-                       \kern8mm
-                       \hbox{\hskip1cm \big The \TeX\ Ruler}
-                       \kern2pt
-                       \hbox{\hskip1cm \tiny Design:\ {}
-                             Inge and Victor Eijkhout 1990--96}}
-  \kern4mm
-  \hbox{\box\storea \kern2mm \box\storeb}
-  }%end of \vtop
- \kern-1cm
- \vtop{\vbox{\hrule \opskip \hbox{\ss Rule weights}}
-       \kern5mm
-   \let\rulenum=\decimalb
-   \rulestackhead{5}{5}{0.05mm}{0.05mm}{100}\storeg{mm}
-   \rulestack    {100}{25}{1mm}{0.25mm}{525}\storeh
-   \let\rulenum=\decimala
-   \rulestackhead{5}{5}{.5pt}{.5pt}{151}\storei{pt}
-   \hbox{\box\storeg \kern3mm \box\storeh \kern3mm \box\storei}
-  }%end of second \vtop
- }%end of \hbox
-  }
-%
-\kern2mm\relax
-\leftrulerfalse \centimeterruler {29}{\storea}
-\papersize{21cm}{29.7cm}
-\box\storea
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\smallsheet{\leavevmode
-\leftrulertrue \inchruler{9}{\storea}
-\box\storea \kern2mm
-%
-\vtop{
-  \baselinegrid{18}\storea \box\storea
-  \kern1mm
-  \moveright2mm
-  \vbox{\hbox{\ss Baseline distances}
-        \neerskip \hrule}
-  \kern5mm
-  %
- \moveright2mm
- \hbox{
- \vtop{\vbox{\hrule \opskip \hbox{\ss Cap heights}}
-       \kern-3mm
-  \def\a{\kern2mm}
-  \magrow{cmr10\\cmbx10\\cmss10\\cmmi10}{250}{36}{1pt}{10}\storec
-  \magrow{cmtt10\\cmff10}{220}{36}{1pt}{10}\stored
-  \magrow{cmr7\\cmbx7\\cmmi7}{175}{36}{1pt}7\storee
-  \magrow{cmr5\\cmbx5\\cmmi5}{125}{36}{1pt}5\storef
-  \vbox{\a\box\storec \a\box\stored
-        \a\box\storee \a\box\storef}
-%
-  \leftrulertrue \picaruler{19}{\storea}%\showbox\storea
-  \setbox\storeb=\vtop{\kern0cm 
-                       \def\a{}%{\moveright1cm}
-                       \a\vbox{\hrule \opskip
-                               \hbox{\strut\ss Conversion of units}}
-                       \kern2mm
-                       \halign{\vrule height8pt depth3pt width0pt
-                               \ss##\ &${}={}$\hfil\ \ss##&$\,$##\cr
-                               1{\tt in}& 72.27&{\tt pt}\cr
-                               1{\tt in}& 72&{\tt bp}\cr
-                               1{\tt in}& 25.4&{\tt mm}\cr
-                               1157{\tt dd}& 1238&{\tt pt}\cr
-                               1{\tt pt}& 65536&{\tt sp}\cr}
-                       \kern2mm \table
-                       \kern8mm
-                       \hbox{\hskip1cm \big The \TeX\ Ruler}
-                       \kern2pt
-                       \hbox{\hskip1cm \tiny Design:\ {}
-                             Inge and Victor Eijkhout 1990--96}}
-  \kern4mm
-  \hbox{\box\storea \kern2mm \box\storeb}
-  }%end of \vtop
- \kern-1cm
- \vtop{\vbox{\hrule \opskip \hbox{\ss Rule weights}}
-       \kern5mm
-   \let\rulenum=\decimalb
-   \rulestackhead{5}{5}{0.05mm}{0.05mm}{50}\storeg{mm}
-   \rulestack    {50}{10}{.5mm}{0.1mm}{160}\storeh
-   \let\rulenum=\decimala
-   \rulestackhead{5}{5}{.5pt}{.5pt}{101}\storei{pt}
-   \hbox{\box\storeg \kern3mm \box\storeh \kern3mm \box\storei}
-  }%end of second \vtop
- }%end of \hbox
-  }
-%
-\kern2mm\relax
-\leftrulerfalse \centimeterruler {23}{\storea}
-\box\storea
-}
-
-
-\count0=2
-\BigSheet
-\vfill\eject
-\count0=3
-\smallsheet
-
-\end
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-03-12 03:07:03 UTC (rev 54250)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-03-12 16:57:44 UTC (rev 54251)
@@ -627,7 +627,7 @@
     rosario rotfloat rotpages roundbox roundrect
     rrgtrees rsc rsfs rsfso
     rterface rtkinenc rtklage
-    rubik ruhyphen rulerbox rulercompass russ rutitlepage
+    rubik ruhyphen ruler rulerbox rulercompass russ rutitlepage
     rviewport rvwrite ryersonsgsthesis ryethesis
   sa-tikz sageep sanitize-umlaut
     sanskrit sanskrit-t1 sansmath sansmathaccent sansmathfonts

Modified: trunk/Master/tlpkg/tlpsrc/collection-plaingeneric.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-plaingeneric.tlpsrc	2020-03-12 03:07:03 UTC (rev 54250)
+++ trunk/Master/tlpkg/tlpsrc/collection-plaingeneric.tlpsrc	2020-03-12 16:57:44 UTC (rev 54251)
@@ -75,6 +75,7 @@
 depend present
 depend randomlist
 depend resumemac
+depend ruler
 depend schemata
 depend shade
 depend simplekv

Added: trunk/Master/tlpkg/tlpsrc/ruler.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.