From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/textfit/README | 29 ++++ macros/latex/contrib/textfit/makefile | 25 ++++ macros/latex/contrib/textfit/manifest | 24 +++ macros/latex/contrib/textfit/textfit.dtx | 242 +++++++++++++++++++++++++++++++ macros/latex/contrib/textfit/textfit.ins | 96 ++++++++++++ macros/latex/contrib/textfit/textfit.pdf | Bin 0 -> 161366 bytes 6 files changed, 416 insertions(+) create mode 100644 macros/latex/contrib/textfit/README create mode 100644 macros/latex/contrib/textfit/makefile create mode 100644 macros/latex/contrib/textfit/manifest create mode 100644 macros/latex/contrib/textfit/textfit.dtx create mode 100644 macros/latex/contrib/textfit/textfit.ins create mode 100644 macros/latex/contrib/textfit/textfit.pdf (limited to 'macros/latex/contrib/textfit') 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} +% +% \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]} +% +% \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 Binary files /dev/null and b/macros/latex/contrib/textfit/textfit.pdf differ -- cgit v1.2.3