summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/textfit
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/textfit
Initial commit
Diffstat (limited to 'macros/latex/contrib/textfit')
-rw-r--r--macros/latex/contrib/textfit/README29
-rw-r--r--macros/latex/contrib/textfit/makefile25
-rw-r--r--macros/latex/contrib/textfit/manifest24
-rw-r--r--macros/latex/contrib/textfit/textfit.dtx242
-rw-r--r--macros/latex/contrib/textfit/textfit.ins96
-rw-r--r--macros/latex/contrib/textfit/textfit.pdfbin0 -> 161366 bytes
6 files changed, 416 insertions, 0 deletions
diff --git a/macros/latex/contrib/textfit/README b/macros/latex/contrib/textfit/README
new file mode 100644
index 0000000000..cad3dcf3fe
--- /dev/null
+++ b/macros/latex/contrib/textfit/README
@@ -0,0 +1,29 @@
+Copyright 1994 Sebastian Rahtz and Phil Taylor
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainers of this work are Sebastian Rahtz and Phil Taylor.
+
+This work consists of all files listed in manifest.txt.
+
+This licence statement added 2010/11/26 by Clea F. Rees on behalf
+of Sebastian Rahtz and Phil Taylor.
+
+This package is used to scale up text to a desired size. Works by
+deriving a new scale factor for the current font, and getting \TeX\ to
+reset the text. See the commented source for usage.
+
+Install by running \TeX\ on textfit.ins and place `textfit.sty'
+where \LaTeX\ can find it.
+
+
+
+
diff --git a/macros/latex/contrib/textfit/makefile b/macros/latex/contrib/textfit/makefile
new file mode 100644
index 0000000000..28a7aa1584
--- /dev/null
+++ b/macros/latex/contrib/textfit/makefile
@@ -0,0 +1,25 @@
+## Copyright 1994 Sebastian Rahtz and Phil Taylor
+#
+# This work may be distributed and/or modified under the
+# conditions of the LaTeX Project Public License, either version 1.3
+# of this license or (at your option) any later version.
+# The latest version of this license is in
+# http://www.latex-project.org/lppl.txt
+# and version 1.3 or later is part of all distributions of LaTeX
+# version 2005/12/01 or later.
+#
+# This work has the LPPL maintenance status `maintained'.
+#
+# The Current Maintainers of this work are Sebastian Rahtz and Phil Taylor.
+#
+# This work consists of all files listed in manifest.txt.
+#
+# This licence statement added 2010/11/26 by Clea F. Rees on behalf
+# of Sebastian Rahtz and Phil Taylor.
+
+textfit:
+ tex textfit.ins
+ latex textfit.dtx
+
+clean:
+ -rm *.aux *.toc *.idx *.drv *.sty *.cls *.dvi *.log
diff --git a/macros/latex/contrib/textfit/manifest b/macros/latex/contrib/textfit/manifest
new file mode 100644
index 0000000000..9da0aa354e
--- /dev/null
+++ b/macros/latex/contrib/textfit/manifest
@@ -0,0 +1,24 @@
+Copyright 1994 Sebastian Rahtz and Phil Taylor
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainers of this work are Sebastian Rahtz and Phil Taylor.
+
+This work consists of all files listed in manifest.txt.
+
+This licence statement added 2010/11/26 by Clea F. Rees on behalf
+of Sebastian Rahtz and Phil Taylor.
+
+makefile
+manifest
+README
+textfit.dtx
+textfit.ins
diff --git a/macros/latex/contrib/textfit/textfit.dtx b/macros/latex/contrib/textfit/textfit.dtx
new file mode 100644
index 0000000000..5749787b2c
--- /dev/null
+++ b/macros/latex/contrib/textfit/textfit.dtx
@@ -0,0 +1,242 @@
+\def\fileversion{5}
+\def\filedate{1994/04/15}
+\def\docdate{1994/04/15}
+% \iffalse
+%% File: textfit.dtx Copyright (C) 1994 Sebastian Rahtz and Phil Taylor
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainers of this work are Sebastian Rahtz and Phil Taylor.
+%
+% This work consists of all files listed in manifest.txt.
+%
+% This licence statement added 2010/11/26 by Clea F. Rees on behalf
+% of Sebastian Rahtz and Phil Taylor.
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{textfit}
+\begin{document}
+ \title{The \textsf{textfit} package for
+scaling up text to a desired size\thanks{This file
+ has version number \fileversion, last
+ revised \filedate.}}
+ \author{Sebastian Rahtz \and Phil Taylor}
+ \date{\filedate}
+ \maketitle
+ \tableofcontents
+ \DocInput{textfit.dtx}
+ \end{document}
+%</driver>
+% \fi
+% \CheckSum{281}
+%
+% \section{Introduction}
+%
+% The user needs to be able to specify the width or height for text, and
+% use the largest size necessary to fill that width or height. You
+% can choose whether to have the size increased by simple points, or
+% by using magsteps.
+% Usage:
+% \verb|\scaletowidth{3in}{This is the way of the world}|
+% \verb|\scaletoheight{7mm}{This is the way of the world}|
+% Details are controlled by two options: `magstep' will
+% make the system use magsteps, not points, and `noisy'
+% will produce useful messages.
+% \changes{1}{5/2/93}{Worked out point size by trial and error, increasing
+% it in increments of 1pt until result reached desired size}
+% \changes{2}{9/2/93}{Final point size calculated by comparison of size at
+% 10pt. faster, and takes less TeX memory for intermediate fonts}
+% \changes{3}{10/1/94}{Revised to make it a \LaTeXe\ package}
+% \changes{4}{6/2/94}{It only worked if `noisy' option was given ...}
+% \changes{5}{15/4/94}{Checked again for \LaTeXe}
+%
+%Examples; note that the base font is taken from the current state when
+%you enter the macros. so if you start off with a large font (eg
+%cmr17), it will give a different result from that obtained by scaling
+%up cmr5.
+%
+%\scaletowidth{1in}{This is the way of the world}
+%
+%{\Huge \scaletowidth{1in}{This is the way of the world}}
+%
+%{\Huge \scaletowidth{5in}{This is the way of the world}}
+%
+%\scaletowidth{5in}{This is the way of the world}
+%
+%{\Huge \scaletoheight{1.3in}{Cowabunga!} }
+%
+% \scaletowidth{5in}{Gloucestershire Warwickshire Railway}
+%
+%\ScalebyMagstepstrue
+%
+%\scaletowidth{1in}{This is the way of the world}
+%
+%{\Huge \scaletowidth{1in}{This is the way of the world}}
+%
+%{\Huge \scaletowidth{5in}{This is the way of the world}}
+%
+%\scaletowidth{5in}{This is the way of the world}
+%
+%{\Huge \scaletoheight{1.3in}{Cowabunga!} }
+% \StopEventually{}
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{textfit}[\filedate]
+\newif\ifScalebyMagsteps
+\newif\ifNoisyFitting
+\NoisyFittingfalse
+\ScalebyMagstepsfalse
+\DeclareOption{noisy}{\NoisyFittingtrue}
+\DeclareOption{magstep}{\ScalebyMagstepstrue}
+\ProcessOptions
+\newcount \mags@f@r
+\newdimen \desired@size
+\newcount \r@mainder
+\newcount \m@gstepcount
+\newcount \m@gsteplimit
+\newcount \m@gstepvalue
+\newdimen \m@gstepdimen
+% \end{macrocode}
+% Code for working out the right magstep (this is Phil's bit).
+% \begin{macrocode}
+\def \magsteps {\afterassignment \m@gsteps \m@gsteplimit = }
+\def \m@gsteps
+ {\let \@r = \or
+ \def \or {\noexpand \or}%
+ \m@gstepdimen = 0.166667 \maxdimen
+ \m@gstepvalue = 1000
+ \m@gstepcount = 0
+ \def \magstep {}%
+ \loop
+ \ifnum \m@gstepcount < \m@gsteplimit
+ \advance \m@gstepcount by 1
+ \ifnum \m@gstepvalue > \m@gstepdimen
+ \advance \m@gstepcount by -1
+ \message {Sorry --- integer overflow would occur if
+ I went any further; stopped at
+ \the \m@gstepcount.}
+ \m@gsteplimit = \m@gstepcount
+ \else
+ \multiply \m@gstepvalue by 12
+ \multiply \r@mainder by 12
+ \divide \r@mainder by 10
+ \advance \m@gstepvalue by \r@mainder
+ \r@mainder = \m@gstepvalue
+ \divide \m@gstepvalue by 10
+ \multiply \m@gstepvalue by 10
+ \advance \r@mainder by -\m@gstepvalue
+ \divide \m@gstepvalue by 10
+ \ifnum \r@mainder < 5
+ \edef \magstep {\magstep \or \the \m@gstepvalue}%
+ \else
+ \advance \m@gstepvalue by 1
+ \edef \magstep {\magstep \or \the \m@gstepvalue}%
+ \advance \m@gstepvalue by -1
+ \fi
+ \fi
+ \repeat
+ \edef \magstep ##1%
+ {\noexpand \ifcase ##1
+ 1000\magstep
+ \noexpand \else 0%
+ \noexpand \message
+ {Sorry --- \string \magstep \space ##1
+ is not in range 0 .. \the \m@gsteplimit}%
+ \noexpand \fi
+ \noexpand \relax
+ }%
+ \let \or = \@r
+ }
+\magsteps 63
+\def \Fontname #1{\expandafter \strip@size \fontname #1 }
+\def \strip@size #1 #2#{#1\void@@@}
+\def \void@@@ #1{}
+\gdef\n@d#1.#2:{#1}
+\def \@scaletofit[#1]#2#3{%
+ \def\Hb@x{h}\def\H@rV{#1}%
+ \ifx\H@rV\Hb@x\def\C@mpare{\wd}\else\def\C@mpare{\ht}\fi
+ \desired@size #2
+ \def\curr@fontname{\Fontname \font {} }%
+ \ifScalebyMagsteps
+ \mags@f@r \z@
+ \setbox 0 = \hbox{#3}%
+ \def\@increment{1}%
+ \def\@test{<}%
+ \ifdim \C@mpare 0 > \desired@size
+ \message{When scaling by Magsteps, you cannot go downwards!}%
+ \fi
+ \loop
+ \font \temp@font = \curr@fontname scaled \magstep \mags@f@r
+ \setbox 0 = \hbox{{\temp@font #3}}%
+ \ifNoisyFitting
+ \message {Trying \noexpand \magstep \the \mags@f@r...}%
+ \fi
+ \ifdim \C@mpare 0 \@test \desired@size
+ \advance \mags@f@r by \@increment
+ \repeat
+ \ifnum \mags@f@r=\z@
+ \mags@f@r1
+ \fi
+ \advance \mags@f@r by -\@increment
+ \else
+ \font\temp@font=\curr@fontname at1pt
+ \setbox 0 = \hbox{{\temp@font #3}}%
+ \@tempdima\C@mpare0
+ \multiply\@tempdima by 500 %\@m
+ \def\foo@@{\expandafter\n@d\the\@tempdima:}%
+ \@tempdimb\desired@size
+ \divide\@tempdimb by \foo@@
+ \multiply\@tempdimb by 500 %\@m
+ \fi
+ \ifScalebyMagsteps
+ \ifNoisyFitting
+ \message {The calculated font is \curr@fontname
+ scaled \noexpand \magstep \the \mags@f@r}%
+ \fi
+ \font \temp@font = \curr@fontname scaled \magstep \mags@f@r
+ \else
+ \ifNoisyFitting
+ \message {The calculated font is \curr@fontname ->\the\@tempdimb}%
+ \fi
+ \font\temp@font=\curr@fontname at \the\@tempdimb
+ \fi
+ \ifx\H@rV\Hb@x
+ \hbox to \desired@size {\hss{\temp@font #3}\hss}%
+ \else
+ \hbox {{\temp@font #3}}%
+ \fi
+}
+% user interface
+\def\scaletowidth{\@scaletofit[h]}
+\def\scaletoheight{\@scaletofit[v]}
+%</package>
+% \end{macrocode}
+% \Finale
+\endinput
+%
+%% \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 \~}
+
diff --git a/macros/latex/contrib/textfit/textfit.ins b/macros/latex/contrib/textfit/textfit.ins
new file mode 100644
index 0000000000..aa73237b3f
--- /dev/null
+++ b/macros/latex/contrib/textfit/textfit.ins
@@ -0,0 +1,96 @@
+%% Copyright 1994 Sebastian Rahtz and Phil Taylor
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainers of this work are Sebastian Rahtz and Phil Taylor.
+%
+% This work consists of all files listed in manifest.txt.
+%
+% This licence statement added 2010/11/26 by Clea F. Rees on behalf
+% of Sebastian Rahtz and Phil Taylor.
+%
+\def\fileversion{1}
+\def\filedate{1994/01/10}
+%
+% \StopEventually{}
+%
+% As always we begin by identifying the latest version of this file
+% on the VDU and in the {\sf log} file.
+% \begin{macrocode}
+\def\batchfile{textfit.ins}
+\input docstrip.tex
+\preamble
+
+Copyright (C) 1993,94 by Sebastian Rahtz, Phil Taylor
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainers of this work are Sebastian Rahtz and Phil Taylor.
+
+This work consists of all files listed in manifest.txt.
+
+This licence statement added 2010/11/26 by Clea F. Rees on behalf
+of Sebastian Rahtz and Phil Taylor.
+
+\endpreamble
+
+\def\batchfile{textfit.dst} % ignored in distribution
+\input docstrip.tex % ignored in distribution
+
+\keepsilent
+
+\preamble
+Copyright (C) 1993,94 Sebastian Rahtz and Phil Taylor.
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainers of this work are Sebastian Rahtz and Phil Taylor.
+
+This work consists of all files listed in manifest.txt.
+
+This licence statement added 2010/11/26 by Clea F. Rees on behalf
+of Sebastian Rahtz and Phil Taylor.
+
+\endpreamble
+
+\Msg{*** Generating style file for Textfit ***}
+
+\generateFile{textfit.sty}{f}{
+ \from{textfit.dtx}{package}}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* file textfit.sty into a directory searched by TeX}
+\Msg{*}
+\Msg{***********************************************************}
+
+
+\endinput
+
+
+
diff --git a/macros/latex/contrib/textfit/textfit.pdf b/macros/latex/contrib/textfit/textfit.pdf
new file mode 100644
index 0000000000..68e9a15eff
--- /dev/null
+++ b/macros/latex/contrib/textfit/textfit.pdf
Binary files differ