texlive[55264] Master/texmf-dist: fontsize (23may20)

commits+karl at tug.org commits+karl at tug.org
Sun May 24 23:43:54 CEST 2020


Revision: 55264
          http://tug.org/svn/texlive?view=revision&revision=55264
Author:   karl
Date:     2020-05-24 23:43:54 +0200 (Sun, 24 May 2020)
Log Message:
-----------
fontsize (23may20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/fontsize/fontsize.pdf
    trunk/Master/texmf-dist/source/latex/fontsize/fontsize.dtx
    trunk/Master/texmf-dist/tex/latex/fontsize/fontsize.sty

Modified: trunk/Master/texmf-dist/doc/latex/fontsize/fontsize.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/fontsize/fontsize.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fontsize/fontsize.dtx	2020-05-24 21:43:29 UTC (rev 55263)
+++ trunk/Master/texmf-dist/source/latex/fontsize/fontsize.dtx	2020-05-24 21:43:54 UTC (rev 55264)
@@ -4,25 +4,31 @@
 \input docstrip
 \preamble
 
-Copyright 2020 Ivan Valbusa
+The 'fontsize' package
+Copyright (C) 2009-2020 Ivan Valbusa
+<ivan dot valbusa at gmail dot com> 
 
-This program is provided under the terms of the
-LaTeX Project Public License distributed from CTAN
-archives in directory macros/latex/base/lppl.txt.
+All rights reserved.
 
-Author: Ivan Valbusa
-Ivan dot Valbusa at gmail dot com
+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 consists of all files listed in README
+
 This work has the LPPL maintenance status "author-maintained".
 
 \endpreamble
-
 \keepsilent
 \askforoverwritefalse
 
 \Msg{*** Generating the package files ***}
-\generate{\file{fontsize.sty}{\from{fontsize.dtx}{package}}%
-}
+\generate{
+  \file{fontsize.sty}{\from{fontsize.dtx}{package}}}
 
 \Msg{***********************************************************}
 \Msg{*}
@@ -40,23 +46,7 @@
 \Msg{***********************************************************}
 \endgroup
 %</internal>
-%
-% Copyright (C) 2020 by Ivan Valbusa 
-% <Ivan dot Valbusa at gmail dot com>
-% -------------------------------------------------------
-% 
-% 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 consists of all files listed in README
-%
 % \fi
-%
 % \iffalse
 %<*driver>
 \ProvidesFile{fontsize.dtx}
@@ -64,22 +54,143 @@
 %<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
 %<package>\ProvidesPackage{fontsize}
 %<*package>
-  [2020/02/20 v0.1 'fontsize' package. Set main font sizes (Ivan Valbusa)]
+  [2020/05/24 v0.2 'fontsize' package. Set main font sizes (Ivan Valbusa)]
 %</package>
 %<*driver>
-\PassOptionsToClass{a4paper}{article}
-\documentclass{ltxdoc}
+\documentclass[12pt]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage[fontsize=12pt]{fontsize}
+%--------------------------------------------------------
+% GRAPHICS
+%--------------------------------------------------------
+\usepackage[svgnames]{xcolor}
+\definecolor{philA}{named}{DarkRed}
+\definecolor{philB}{named}{NavyBlue}
+\definecolor{sufred}{rgb}{0.5,0,0}
+\definecolor{sufgray}{rgb}{0.5,0.5,0.5}
+\usepackage{tikz}
+\usetikzlibrary{shadows}
+\usepackage[framemethod=TikZ]{mdframed}
+\mdfsetup{roundcorner=3pt,linecolor=white,backgroundcolor=gray!10}
+%--------------------------------------------------------
+% DOC FACILITIES
+%--------------------------------------------------------
+\usepackage{metalogo,hologo}
+\usepackage{guit}% before ltxdockit but after xcolor!
+\usepackage[final]{microtype}
+\let\cs\relax
 \let\cmd\relax
-\let\cs\relax
-\usepackage[T1]{fontenc}
 \usepackage{ltxdockit}
-\usepackage[fontsize=10.5]{fontsize}
-
+%--------------------------------------------------------
+% FONTS
+%--------------------------------------------------------
+\usepackage{cochineal}
+\usepackage[varqu,varl,var0]{inconsolata}
+\usepackage{biolinum}
+\usepackage{amsthm}
+\usepackage[cochineal,bigdelims,cmintegrals,vvarbb]{newtxmath}
+\usepackage[cal=boondoxo]{mathalfa}
+%--------------------------------------------------------
+% LAYOUT
+%--------------------------------------------------------
+\usepackage[skip=1.5ex]{parskip}
+\setcounter{tocdepth}{3}
+\usepackage{geometry}
+\geometry{
+  a4paper,
+  margin=3cm,
+  %paperwidth=128mm,
+  %paperheight=96mm,
+  %margin=1cm,
+  headheight=15pt,
+  ignoreall,
+  heightrounded}
+\usepackage{sectsty}
+\allsectionsfont{\sffamily}
+%--------------------------------------------------------
+% COMMANDS AND ENVIRONMENTS
+%--------------------------------------------------------
+\newcommand{\new}{\marginpar{\textcolor{red}{\textbf{NEW!}}}}
+\newcommand{\argstyle}{\itshape}
+\DeclareRobustCommand*{\ar}[1]{\texttt{\char`\{}\textrm{\argstyle#1}\texttt{\char`\}}}
+\DeclareRobustCommand*{\oar}[1]{\texttt{[}\textrm{\argstyle#1}\texttt{]}}
+\DeclareRobustCommand*{\meta}[1]{%
+	$\langle${\argstyle\rmfamily#1\kern0.12em}$\rangle$}
+\DeclareRobustCommand*{\arm}[1]{\ar{\meta{\argstyle#1}}}
+\DeclareRobustCommand*{\oarm}[1]{\oar{\meta{\argstyle#1}}}
+\newcommand*{\OR}{${}\mid{}$}
+%
+% New environments
+%
+\newenvironment{ttquote}{%
+	\begin{mdframed}\ttfamily\microtypesetup{activate=false}}{\end{mdframed}}
+\newenvironment{latexcode}{\begin{mdframed}}{\end{mdframed}}
+% Correct (?) \optitem to use \meta inside #2
 \makeatletter
-\newcommand{\mysize}[1]{%
-	\bgroup\noindent\csname#1\endcsname The \cmd{#1} size is: \textbf{\csname#1\endcsname\f at size\,pt}.\\The  \cmd{baselineskip} is \the\baselineskip\par\vskip2mm\egroup}
+\renewcommand*{\ltd at ol@optitem}[3][]{%
+	\ifblank{#1}
+	{\ltd at option{}{#2}{#3}{}}
+	{\ltd at option{}{#2}{#3}{\ltd at textverb{#1}}}}%
+\renewenvironment*{valuelist}[1][]
+{\list{}{%
+		\ifblank{#1}
+		{\setlength{\labelwidth}{5em}}
+		{\setlength{\labelwidth}{#1}}%
+		\setlength{\labelsep}{1em}%
+		\setlength{\leftmargin}{\labelwidth}%
+		\addtolength{\leftmargin}{\labelsep}%
+		\setlength{\itemsep}{0pt}%
+		\renewcommand*{\makelabel}[1]{\valuelistfont##1\hss}}}
+{\endlist}
+\newcommand*{\valuelistfont}{%
+	\color{olive}\sffamily\displayverbfont}
+\renewcommand*{\optionlistfont}{%
+	\color{philA}\sffamily\displayverbfont}
+\renewcommand*{\ltxsyntaxlabelfont}{%
+	\color{philA}\sffamily\displayverbfont}
+\renewcommand*{\marglistfont}{%
+	\color{philA}\sffamily\displayverbfont}
+%
+% Table of contents
+%
+\renewcommand\tableofcontents{%
+	\setlength{\columnsep}{1cm}
+	{\centering      
+		\section*{\contentsname}%
+		\@mkboth{\contentsname}{\contentsname}}   
+	\thispagestyle{empty}
+	\begin{multicols}{2}
+		\@starttoc{toc}%
+\end{multicols}}
 \makeatother
+%
+% Commands for code 
+%
+\def\baddition#1{%
+  \medskip{[\emph{addition begins\ldots}\par\medskip
+  	\sffamily\bfseries#1\par}}
+\def\eaddition{%
+  \emph{\ldots addition ends}]\medskip}
 
+\def\bexcerpt#1{%
+	\medskip{[\emph{excerpt from \file{#1} begins}\par\medskip}}
+\def\eexcerpt#1{%
+	\emph{\ldots excerpt from \file{#1} ends}]\medskip}
+
+% --------------------------------------------------------
+% HYPERREF SETUP
+% --------------------------------------------------------
+\usepackage{hyperref}
+\hypersetup{%
+	hidelinks,
+	pdftitle={User's Guide to \textsf{fontsize}},
+	pdfsubject={A small package to change the font size},
+	pdfauthor={Ivan Valbusa},
+	pdfkeywords={latex, fonts}}   
+% --------------------------------------------------------
+% FINAL SETTINGS
+% --------------------------------------------------------
 \EnableCrossrefs         
 \CodelineIndex
 \RecordChanges
@@ -90,7 +201,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{787}
+% \CheckSum{1727}
 %
 % \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
@@ -108,6 +219,7 @@
 %   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %   Right brace   \}     Tilde         \~}
 %
+% \changes{v0.2}{2020/05/24}{Updated documentation and code comments.}
 % \changes{v0.1}{2020/02/20}{First public release}
 % \GetFileInfo{fontsize.dtx}
 %
@@ -134,65 +246,246 @@
 % \DoNotIndex{\eTeXversion,\hbox,\hsize,\includegraphics,\newlinechar}
 % \DoNotIndex{\titlepage,\vss,\vtop,\xdef,\@gobbletwo,\color,\dimexpr}
 % \DoNotIndex{\huge,\large,\makebox,\ProcessOptions,\renewcommand}
+%
+% \thispagestyle{empty}
+% \begin{tikzpicture}[overlay,remember picture]
+% \draw[circular drop shadow,draw=none,fill=white] (current page.center) circle (6cm) node[align=center,anchor=center] {%
+% Ivan Valbusa\\[1cm]
 % 
-
+%\Huge\color{gray}\bfseries \parbox{10cm}{\centering The \\{{\color{philA}\fontsize{30}{32}\textsf{fontsize}}\\ package}}\\[1cm]
+% \color{black!60!Goldenrod}
+%
+%\normalsize \fileversion{} -- \filedate
 % 
+%};
+% \end{tikzpicture}
+% \clearpage\thispagestyle{empty}
+%
+% \null\vfill
+%
+% ^^A ----------------------------------------------------------------
+% ^^A
+%        \section*{Legalese}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+% \noindent Copyright \copyright\ 2020-\the\year\ Ivan Valbusa
+% \smallskip
+%
+% \noindent This package is author-maintained. 
+% Permission is granted to copy, distribute and/or modify this software 
+% under the terms of the \LaTeX{} Project Public License, version 1.3 or 
+% later (\url{http://latex-project.org/lppl}). 
+% This software is provided ``as is'', without warranty of any kind, 
+% either expressed or implied, including, but not limited to, the implied 
+% warranties of merchantability and fitness for a particular purpose.
+%
+% ^^A ----------------------------------------------------------------
+% ^^A
+%        \section*{Feedback}
+% ^^A
+% ^^A ----------------------------------------------------------------
 % 
-% \title{The \textsf{fontsize} package\\ \normalsize \textit{A small package to change the font size}}
-% \author{Ivan Valbusa \\
-%   \texttt{Ivan dot Valbusa at gmail dot com}}
-% \date{\fileversion{} -- \filedate}
+% If you have any questions, feedback or requests please email 
+% me at \texttt{ivan dot valbusa at gmail dot com}. If you need specific 
+% features not already implemented, remember to attach the example files.
 %
-% \maketitle
+% \clearpage
 %
-%\noindent The \sty{fontsize} package allows you to set arbitrary sizes for the main font of the document, through the \opt{fontsize=\meta{size}} option. The value for the  \meta{size} can be given in any unit recognized by TeX (for example: \opt{6mm}, \opt{1ex}, \opt{11.5pt}). If the unit is not declared it defaults to \texttt{pt}. So \opt{fontsize=11} is the same as \opt{fontsize=11pt}. See the example below.
+% \begin{center}
+% {\color{philA}\bfseries\sffamily 
+%   \Huge User's Guide to \texttt{fontsize}\\[3mm]}
+% {\large\bfseries\sffamily A small package to change the font size}
+% \vspace{.8cm}
 %
-% \section*{Caveat}
+% \normalsize\fileversion{} -- \filedate
+% \vspace{.7cm}
 %
-% Although effective with any value for the \meta{size} (as long as the font is scalable!), the package is meant for small font size changes. For truly optimal results you should not use this package at all. Rather, a \file{.clo} file should be defined for each main size, even if this is pretty hard work. Particularly, you should define \cmd{parindent} accordingly to the used size.
+% Ivan Valbusa\\[2mm]
+%  \footnotesize\texttt{ivan dot valbusa at gmail dot com}
+% \vspace{1cm}
+% \end{center} 
+% 
+% \begin{abstract}
+% \noindent The \sty{fontsize} package allows you to set arbitrary sizes 
+% for the main font of the document and to adjust the line spacing accordingly. You can also generate your own \file{.clo} file for better tuning.
+% \end{abstract}
 %
+% \tableofcontents
+%
+%^^A---------------------------------------------------------------------
 % \section*{Credits}
+%^^A---------------------------------------------------------------------
 %
-% The code is a a minimal part of the \sty{scrextend}, with few minor changes to make it completely independent of the Koma bundle (see \cite{koma}).
+% The code is an excerpt of the \sty{scrextend} and 
+% \sty{scrfontsizes} packages (see \cite{koma}), with few minor 
+% changes to make it completely independent of the Koma bundle and with a couple of new features.
 %
-% \section*{An example}
+%^^A---------------------------------------------------------------------
+% \section*{Caveat}
+%^^A---------------------------------------------------------------------
 %
-% \verb!\usepackage[fontsize=10.5]{fontsize}!\bigskip
+% Although effective with any value for the \meta{fontsize} (as long as the font 
+% is scalable!), the package is meant for small font size changes. 
+% For truly optimal results you should (re)define your own \file{.clo} file. 
+% Indeed note that the file generated with \cmd{generateclofile}, as well as the  macros redefined via \cmd{changefontsize}, are a subset of the standard \file{bk11.clo} file and some lengths such as \cmd{smallskipamount}, \cmd{medskipamount}, \cmd{bigskipamount}, \cmd{headsep} are not defined by the package. Up to now!
+% \enlargethispage{1\baselineskip}
+%^^A---------------------------------------------------------------------
+% \section{Usage}
+%^^A---------------------------------------------------------------------
+% 
+% The package can be loaded, as usual, with:
+% \begin{ttquote}
+% \noindent\cmd{usepackage}\oarg{options}|{fontsize}|
+% \end{ttquote}
 %
+%^^A---------------------------------------------------------------------
+% \subsection{Options}
+%^^A---------------------------------------------------------------------
 %
-%\mysize{tiny}
-%\mysize{scriptsize}
-%\mysize{footnotesize}
-%\mysize{small}
-%\mysize{normalsize}	
-%\mysize{large}
-%\mysize{Large}
-%\mysize{LARGE}
-%\mysize{huge}
-%\mysize{Huge}
+% \begin{optionlist}
 %
+% \optitem[10pt\OR10]{fontsize}{\meta{fontsize}} 
+%
+% The \meta{fontsize} can be given in any unit recognized 
+% by TeX (for example: \opt{6mm}, \opt{1ex}, \opt{11.5pt}). 
+% If the unit is not declared it defaults to \texttt{pt}. 
+% If a file named \file{custom\meta{fontsize}.clo} exists it is used to setup
+% the font sizes. To generate this file see the \cmd{generateclofile} 
+% command below.
+% 
+% \optitem[custom]{cloname}{\meta{name}}
+% 
+% Sets to \meta{name} the name prefix of the \file{.clo} file to be used to 
+% setup the font sizes. In this way, if a file named  
+% \file{\meta{name}\meta{fontsize}.clo} exists it is used to setup the 
+% font sizes. To generate this file see the \cmd{generateclofile} 
+% command below.
+% 
+% \end{optionlist}
+%
+%^^A---------------------------------------------------------------------
+% \subsection{Commands}
+%^^A---------------------------------------------------------------------
+%
+% \begin{ltxsyntax}
+%
+% \cmditem{changefontsize}[baselineskip]{fontsize} \hfill iff \meta{baselineskip} $\geq$\meta{fontsize}
+%
+% Changes the font size and the line spacing of the normal size and of the other sizes consistently. If the first optional argument is omitted the command has the same effect of the \opt{fontsize} option. You can use any unit recognized by TeX and you can omit the unit as well. For example: 
+% \begin{verbatim}
+% \changefontsize[13.5pt]{11.5pt}    
+% \changefontsize[13]{11}    
+% \end{verbatim}
+%
+% \cmditem{printfontsize}[baselineskip]{fontsize} \hfill iff \meta{baselineskip} $\geq$\meta{fontsize}
+%
+% A command thought to test the \sty{fontsize} settings. It prints a section with the 
+% value of the font size and line spacing for all the font size changing commands. The section \ref{sec:example} below is generated by this command.
+%
+% \cmditem{generateclofile}{name}[baselineskip]{fontsize} \hfill iff \meta{baselineskip} $\geq$\meta{fontsize}
+%
+% Generates a file named \file{\meta{name}\meta{fontsize}.clo} in which the normal line spacing is \meta{baselineskip} and the other sizes and line spacings are adjusted consistently. If \opt{cloname=\meta{name}} \textit{and} \opt{fontsize=\meta{fontsize}} the generated file will be automatically use to setup the main font sizes. You can use any unit recognized by TeX and you can omit the unit as well. 
+%
+% \emph{In fact this file is only needed if you intend to modify it. In this case remember to comment the command, otherwise the edited file will be overwrittern}.\bigskip
+%
+% \iffalse
+%<*example>
+% \fi
+%
+% \noindent (a) Using the the default \file{custom} name:\smallskip
+%
+% \lstset{xleftmargin=.5cm,numbers=left,
+%   numberblanklines=false,escapeinside=||,numberstyle=\scriptsize}
+\begin{ttquote}
+ \begin{lstlisting}
+ \usepackage[fontsize=11.5]{fontsize}         % |\textrm{loads}| custom11.5.clo 
+  \generateclofile{custom}[13.5]{11.5}        % |\textrm{generates}| custom11.5.clo
+\end{lstlisting}
+\begin{lstlisting}
+ \usepackage[fontsize=11.5pt]{fontsize}       % |\textrm{loads}| custom11.5pt.clo
+  \generateclofile{custom}[13.5pt]{11.5pt}    % |\textrm{generates}| custom11.5pt.clo
+ \end{lstlisting}
+\end{ttquote}
+%
+% \iffalse
+%</example>
+% \fi
+%
+% \iffalse
+%<*example>
+% \fi
+%
+% \noindent (b) Using the \opt{cloname} option:\smallskip
+%
+\begin{ttquote}
+\begin{lstlisting}
+\usepackage[fontsize=11.5,cloname=fs]{fontsize}  % |\textrm{loads}| fs11.5.clo
+ \generateclofile{fs}[13.5]{11.5}                % |\textrm{generates}| fs11.5.clo
+\end{lstlisting}
+\begin{lstlisting}
+\usepackage[fontsize=11.5pt,cloname=fs]{fontsize}% |\textrm{loads}| fs11.5pt.clo
+ \generateclofile{fs}[13.5pt]{11.5pt}            % |\textrm{generates}| fs11.5pt.clo
+\end{lstlisting}
+\end{ttquote}
+% \iffalse
+%</example>
+% \fi
+%
+% \end{ltxsyntax}
+%
+%^^A---------------------------------------------------------------------
+% \section{An example of font settings}\label{sec:example}
+%^^A--------------------------------------------------------------------
+% The following framed example is generated by  \cmd{printfontsize}\texttt{[13]\{11\}}.
+% \begin{mdframed}[linecolor=black,backgroundcolor=none]
+% \printfontsize[13]{11}
+% \end{mdframed}
+%
 % \begin{thebibliography}{label}
-%	\bibitem{koma} Frank Neukam, Markus Kohm, Axel Kielhorn, \textit{KOMA -- Script. A versatile \LaTeXe{} bundle}. \url{https://www.ctan.org/pkg/koma-script}
-% \bibitem{xkeyval} Hendri Adriaens, \textit{The \sty{xkeyval} package}, \url{https://www.ctan.org/pkg/xkeyval}.
-% \bibitem{etoolbox} Philipp Lehman, Joseph Wright, \textit{The \sty{etoolbox} Package. An e-\TeX{} Toolbox for Class and Package Authors}, \url{https://www.ctan.org/pkg/etoolbox}.
-
+% \bibitem{koma} Frank Neukam, Markus Kohm, Axel Kielhorn, 
+% \textit{KOMA -- Script. A versatile \LaTeXe{} bundle}. 
+% \url{https://www.ctan.org/pkg/koma-script}
+% \bibitem{xkeyval} Hendri Adriaens, \textit{The \sty{xkeyval} package}, 
+% \url{https://www.ctan.org/pkg/xkeyval}.
+% \bibitem{etoolbox} Philipp Lehman, Joseph Wright, 
+% \textit{The \sty{etoolbox} Package. An e-\TeX{} Toolbox for Class 
+% and Package Authors}, \url{https://www.ctan.org/pkg/etoolbox}.
 % \end{thebibliography}
 %
 % \StopEventually{\PrintChanges\PrintIndex}
 %
+%\newgeometry{
+%	a4paper,
+%   margin=3cm,
+%	left=4cm,
+%	headheight=15pt,
+%	ignoreall,
+%	heightrounded}
+%^^A---------------------------------------------------------------------
 % \section{The Code}
+%^^A---------------------------------------------------------------------
 %
 % \iffalse
 %<*package>
 % \fi
+% The options of the package are defined via \sty{xkeyval}, while \sty{etoolbox} 
+% is required to execute \cmd{AtEndOfPackage}. It is probably not necessary but for the moment I prefer to take advantage of it.
 %    \begin{macrocode}
 \@ifpackageloaded{xkeyval}{}{\RequirePackage{xkeyval}}
 \@ifpackageloaded{etoolbox}{}{\RequirePackage{etoolbox}}
 %    \end{macrocode}
-% Here begins the \sty{scrextend} code. Only a few names have changed. 
-% The value for \cmd{@fontsizefilebase} is set to \texttt{custom} instead of \texttt{scrsize}.
+% \baddition{New options}
 %    \begin{macrocode}
-\providecommand*{\@fontsizefilebase}{custom}
+\DeclareOptionX{cloname}[custom]{\def\@fontsizefilebase{#1}}
+%    \end{macrocode}
+% \eaddition
+%
+% \bexcerpt{scrextend.sty}
+%
+% Here the \sty{scrextend} code begins. Only a few names have been changed. 
+% The value of \cmd{|@|fontsizefilebase} is set to \texttt{custom} instead of \texttt{scrsize}.
+%    \begin{macrocode}
 \DeclareOptionX{fontsize}[10]{%
   \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil
   \edef\@tempa{#1}%
@@ -202,21 +495,32 @@
   \edef\@ptsize{\strip at pt\@tempdimb}%
   \edef\@tempa{%
     \noexpand\makeatletter
-    \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{%
-      \noexpand\PackageInfo{fontsize}{%
-        File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}%
-    }{%
-        \noexpand\changefontsize{#1}%
-    }%
-    \noexpand\catcode`\noexpand\@=\the\catcode`\@
+      \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{%
+   \noexpand\PackageInfo{fontsize}{%
+     File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}%
+   }{%
+   \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{%
+    \noexpand\PackageInfo{fontsize}{%
+     File `\@fontsizefilebase\@tempb pt.clo' used instead of%
+   \noexpand\MessageBreak
+     file `\@fontsizefilebase\@tempa.clo' to setup font sizes}%
+   }{%
+    \noexpand\changefontsize{#1}%
+   }%
   }%
+ }%
   \expandafter\AtEndOfPackage\expandafter{\@tempa}%
 }
 %    \end{macrocode}
+% \baddition{Execute and process options}
+% Now we can execute and process the options. As \opt{cloname} is responsible for defining \cmd{|@|fontsizefilebase} it must precede \opt{fontsize} which uses this command.
 %    \begin{macrocode}
+\ExecuteOptionsX{cloname,fontsize}
 \ProcessOptionsX*\relax
 %    \end{macrocode}
-% The comamnd \cmd{ctm at setlength} has the same definition as \cmd{scr at setlength} of \file{scrextend.sty}.
+% \eaddition
+% \begin{macro}{\ctm at setlength}
+% The comamnd \cmd{ctm at setlength} is simply a new name for \cmd{scr at setlength} of \file{scrextend}.
 %    \begin{macrocode}
 \newcommand*\ctm at setlength[4]{%
   \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi
@@ -250,7 +554,9 @@
   \fi
 }
 %    \end{macrocode}
-% The comamnd \cmd{changefontsize} has the same definition as \cmd{changefontsizes} of \file{scrextend.sty}.
+% \end{macro}
+% \begin{macro}{\changefontsize}
+% The comamnd \cmd{changefontsize} is simply a new name for \cmd{changefontsizes} of \file{scrextend}. 
 %    \begin{macrocode}
 \providecommand*{\changefontsize}[2][1.2\@tempdima]{%
   \@defaultunits\@tempdima#2pt\relax\@nnil
@@ -262,6 +568,15 @@
   \edef\@tempb{\the\@tempdimc}%
   \setlength{\@tempdimc}{\@tempdima}%
   \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}%
+%    \end{macrocode}
+% \baddition{New lengths}
+% The Koma code does not define \cmd{parindent} and other lengths related to the page dimensions (\cmd{textheight}, \cmd{headheight}, \cmd{headsep}, etc.) Anyway I think that some of these lengths are strictly linked to the font rather than to the page and text dimensions. Particularly \cmd{parindent} and \cmd{headheight} (the value of the last one could cause a well known warning if \sty{fancyhdr} is loaded). The default value of \cmd{parindent} is \cmd{baselineskip} and the value of \cmd{headheight} is set normal size plus 2.5\,pt.
+%    \begin{macrocode}
+\setlength\parindent{\the\@tempdimb}
+\setlength\headheight{\dimexpr(\@tempdima+2.5pt)}
+%    \end{macrocode}
+% \eaddition
+%    \begin{macrocode}
   \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil%
   \ctm at setlength{\abovedisplayskip}%
   {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
@@ -303,7 +618,7 @@
   \ctm at setlength{\belowdisplayshortskip}%
   {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
   \setlength{\belowdisplayskip}{\abovedisplayskip}%
-  \edef\footnotesize{%
+ \edef\footnotesize{%
     \noexpand\@setfontsize\noexpand\footnotesize
     {\the\@tempdima}{\the\@tempdimb}%
     \abovedisplayskip \the\abovedisplayskip
@@ -481,6 +796,334 @@
   \setlength{\@dblfpbot}{\@fptop}%
   \ctm at setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}%
 }
+%    \end{macrocode}
+% \end{macro}
+%
+% \eexcerpt{scrextend.sty}
+%
+% \bexcerpt{scrfontsizes.sty}
+%
+% \begin{macro}{\generateclofile}
+% Here is a portion of the \sty{scrfontsizes} package. It simply provides the \cmd{generateclofile} command, without the Koma-related definitions. There are no reserved names for the \file{.clo} files. The command name is a new name for the Koma \cmd{generatefontfile}. In fact, what the command generates, is a \file{.clo} file.
+%    \begin{macrocode} 
+\newcommand*{\generateclofile}[1]{%
+ \kernel at ifnextchar [{\@generatefontfile{#1}}{\@@generatefontfile{#1}}%
+}
+\newcommand*{\@generatefontfile}{}
+\def\@generatefontfile#1[#2]#3{%
+ \begingroup
+%    \end{macrocode}
+% Here we use |[#2]| in place of |[{#2}]| of the 
+% \sty{scrfontsizes} code.
+%    \begin{macrocode} 
+ \changefontsize[#2]{#3}%
+ \generate at fontfile{#1}{#3}%
+ \endgroup
+}
+\newcommand\@@generatefontfile[2]{%
+ \begingroup
+ \changefontsize{#2}%
+ \generate at fontfile{#1}{#2}%
+ \endgroup
+}
+\newcommand*{\@@@generatefontfile}[2][]{}
+\newcommand*{\@fontfile}{}
+\let\@fontfile\@mainaux
+\newcommand*{\generate at fontfile}[2]{%
+ \def\@ind{\space\space}%
+ \immediate\openout\@fontfile #1#2.clo
+ \immediate\write\@fontfile{\@percentchar^^J%
+  \@percentchar\space This is file `#1#2.clo', generated with^^J%
+  \@percentchar\space fontsize
+  \csname ver at fontsize.\@pkgextension\endcsname,^^J%
+  \@percentchar\space Copyright (c) Ivan Valbusa.^^J%
+  \@percentchar^^J%
+  \string\ProvidesFile{#1#2.clo}[%
+  \the\year/\ifnum\month<10 0\fi\the\month/\ifnum\day<10 0\fi\the\day%
+  \space generated font size class option (#2)]}%
+%    \end{macrocode}
+% \baddition{New lengths in the \file{.clo} file.}
+%    \begin{macrocode}
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\parindent}{\f at baselineskip}^^J%
+  \string\setlength{\string\headheight}{\dimexpr(\f at size+2.5pt)}^^J%
+ }%
+%    \end{macrocode}
+% \eaddition
+%    \begin{macrocode}
+ \immediate\write\@fontfile{%
+  \string\def\string\normalsize{\@percentchar^^J%
+   \@ind\string\@setfontsize\string\normalsize{\f at size}{\f at baselineskip}%
+   \@percentchar^^J%
+   \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+   \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+   \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
+   \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+   \@ind\string\let\string\@listi\string\@listI^^J%
+  }\@percentchar%
+ }%
+ \begingroup\small\@listi
+ \immediate\write\@fontfile{%
+  \string\def\string\small{\@percentchar^^J%
+   \@ind\string\@setfontsize\string\small{\f at size}{\f at baselineskip}%
+   \@percentchar^^J%
+   \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+   \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+   \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
+   \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+   \@ind\string\def\string\@listi{\@percentchar^^J%
+    \@ind\@ind\string\leftmargin\string\leftmargini^^J%
+    \@ind\@ind\string\topsep \the\topsep^^J%
+    \@ind\@ind\string\parsep \the\parsep^^J%
+    \@ind\@ind\string\itemsep \string\parsep^^J%
+    \@ind}\@percentchar^^J%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\footnotesize\@listi
+ \immediate\write\@fontfile{%
+  \string\def\string\footnotesize{\@percentchar^^J%
+   \@ind\string\@setfontsize\string\footnotesize{\f at size}{\f at baselineskip}%
+   \@percentchar^^J%
+   \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+   \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+   \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
+   \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+   \@ind\string\def\string\@listi{\@percentchar^^J%
+    \@ind\@ind\string\leftmargin\string\leftmargini^^J%
+    \@ind\@ind\string\topsep \the\topsep^^J%
+    \@ind\@ind\string\parsep \the\parsep^^J%
+    \@ind\@ind\string\itemsep \string\parsep^^J%
+    \@ind}\@percentchar^^J%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\scriptsize
+ \immediate\write\@fontfile{%
+  \string\def\string\scriptsize{%
+   \string\@setfontsize\string\scriptsize{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\tiny
+ \immediate\write\@fontfile{%
+  \string\def\string\tiny{%
+   \string\@setfontsize\string\tiny{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\large
+ \immediate\write\@fontfile{%
+  \string\def\string\large{%
+   \string\@setfontsize\string\large{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\Large
+ \immediate\write\@fontfile{%
+  \string\def\string\Large{%
+   \string\@setfontsize\string\Large{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\LARGE
+ \immediate\write\@fontfile{%
+  \string\def\string\LARGE{%
+   \string\@setfontsize\string\LARGE{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\huge
+ \immediate\write\@fontfile{%
+  \string\def\string\huge{%
+   \string\@setfontsize\string\huge{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\Huge
+ \immediate\write\@fontfile{%
+  \string\def\string\Huge{%
+   \string\@setfontsize\string\Huge{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \immediate\write\@fontfile{\string\normalsize}%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\footnotesep}{\the\footnotesep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\skip\string\footins}{\the\skip\footins}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\floatsep}{\the\floatsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\textfloatsep}{\the\textfloatsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\intextsep}{\the\intextsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\dblfloatsep}{\the\dblfloatsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\dbltextfloatsep}{\the\dbltextfloatsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@fptop}{\the\@fptop}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@fpsep}{\the\@fpsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@fpbot}{\the\@fpbot}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@dblfptop}{\the\@dblfptop}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@dblfpsep}{\the\@dblfpsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@dblfpbot}{\the\@dblfpbot}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\partopsep}{\the\partopsep}\@percentchar
+ }%
+ \begingroup
+ \@listi
+ \immediate\write\@fontfile{%
+  \string\def\string\@listi{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmargini^^J%
+   \@ind\string\topsep \the\topsep^^J%
+   \@ind\string\parsep \the\parsep^^J%
+   \@ind\string\itemsep \string\parsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \immediate\write\@fontfile{%
+  \string\let\string\@listI\string\@listi
+ }%
+ \begingroup
+ \@listii
+ \immediate\write\@fontfile{%
+  \string\def\string\@listii{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginii^^J%
+   \@ind\string\labelwidth\string\leftmarginii^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+   \@ind\string\topsep \the\topsep^^J%
+   \@ind\string\parsep \the\parsep^^J%
+   \@ind\string\itemsep \string\parsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \begingroup
+ \@listiii
+ \immediate\write\@fontfile{%
+  \string\def\string\@listiii{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginiii^^J%
+   \@ind\string\labelwidth\string\leftmarginiii^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+   \@ind\string\topsep \the\topsep^^J%
+   \@ind\string\parsep \the\parsep^^J%
+   \@ind\string\partopsep \the\partopsep^^J%
+   \@ind\string\itemsep \string\topsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \begingroup
+ \@listiv
+ \immediate\write\@fontfile{%
+  \string\def\string\@listiv{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginiv^^J%
+   \@ind\string\labelwidth\string\leftmarginiv^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \begingroup
+ \@listv
+ \immediate\write\@fontfile{%
+  \string\def\string\@listv{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginv^^J%
+   \@ind\string\labelwidth\string\leftmarginv^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \begingroup
+ \@listvi
+ \immediate\write\@fontfile{%
+  \string\def\string\@listvi{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginvi^^J%
+   \@ind\string\labelwidth\string\leftmarginvi^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \immediate\write\@fontfile{%
+  \string\@ifundefined{@list at extra}{}{\@percentchar^^J%
+   \string\expandafter\string\ifnum\string\scr at v@is at ge{3.17}%
+   \string\par at updaterelative\string\fi^^J%
+   \@ind\string\l at addto@macro{\string\@listi}{\string\@list at extra}%
+   \@percentchar^^J%
+   \@ind\string\let\string\@listI=\string\@listi^^J%
+   \@ind\string\l at addto@macro{\string\@listii}{\string\@list at extra}%
+   \@percentchar^^J%
+   \@ind\string\l at addto@macro{\string\@listiii}{\string\@list at extra}%
+   \@percentchar^^J%
+   \@ind\string\l at addto@macro{\string\footnotesize}{\string\protect
+    \string\add at extra@listi{ftns}}\@percentchar^^J%
+   \@ind\string\l at addto@macro{\string\small}{\string\protect
+    \string\add at extra@listi{sml}}\@percentchar^^J%
+  }\@percentchar^^J%
+  \string\@listi^^J%
+  \string\endinput^^J%
+  \@percentchar^^J%
+  \@percentchar\space End of file `#1#2.clo'.
+ }
+ \immediate\closeout\@fontfile
+}
+\@onlypreamble\generateclofile
+%    \end{macrocode}
+% \end{macro}
+%
+% \eexcerpt{scrfontsizes.sty}
+%
+% \baddition{New commands}
+% We will now define some internal commands to test the package functions.
+%    \begin{macrocode}
+\def\fs at extext{As any dedicated reader can clearly see, the Ideal of 
+	practical reason is a representation of, as far as I know, the 
+	things in themselves; as I have shown elsewhere, the phenomena 
+	should only be used as a canon for our understanding. The paralogisms 
+	of practical reason are what first give rise to the architectonic of 
+	practical reason.}
+\chardef\fsbslash=`\\
+\newcommand{\mysize}[1]{%
+ \bgroup\noindent\csname#1\endcsname 
+   The \texttt{\fsbslash #1} size is: \textbf{\csname#1\endcsname\f at size\,pt}.\\
+   The \texttt{\fsbslash baselineskip} is \the\baselineskip\par\vskip2mm\egroup}
+\newcommand{\mysizeex}[1]{%
+ \paragraph*{\csname #1\endcsname \texttt{\fsbslash #1} 
+   \textmd{\f at size pt on \the\baselineskip}\\}
+   \noindent\bgroup\raggedright\csname #1\endcsname\fs at extext\par\egroup}
+%    \end{macrocode}
+% \begin{macro}{\printfontsize}
+%    \begin{macrocode}
+\newcommand{\printfontsize}[2][]{%
+ \section*{Settings with \texttt{\fsbslash changefontsize[#1]\{#2\}}}%
+   \changefontsize[#1]{#2}
+    \mysize{tiny}\mysize{scriptsize}\mysize{footnotesize}
+    \mysize{small}\mysize{normalsize}\mysize{large}\mysize{Large}
+    \mysize{LARGE}\mysize{huge}\mysize{Huge}
+    \mysizeex{tiny}\mysizeex{scriptsize}\mysizeex{footnotesize}
+    \mysizeex{small}\mysizeex{normalsize}\mysizeex{large}
+    \mysizeex{Large}\mysizeex{LARGE}\mysizeex{huge}\mysizeex{Huge}}
+%    \end{macrocode}
+% \eaddition
+% \end{macro}
+%    \begin{macrocode}
 \endinput
 %    \end{macrocode}
 % \iffalse

Modified: trunk/Master/texmf-dist/tex/latex/fontsize/fontsize.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/fontsize/fontsize.sty	2020-05-24 21:43:29 UTC (rev 55263)
+++ trunk/Master/texmf-dist/tex/latex/fontsize/fontsize.sty	2020-05-24 21:43:54 UTC (rev 55264)
@@ -6,25 +6,30 @@
 %%
 %% fontsize.dtx  (with options: `package')
 %% 
-%% Copyright 2020 Ivan Valbusa
+%% The 'fontsize' package
+%% Copyright (C) 2009-2020 Ivan Valbusa
+%% <ivan dot valbusa at gmail dot com>
 %% 
-%% This program is provided under the terms of the
-%% LaTeX Project Public License distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt.
+%% All rights reserved.
 %% 
-%% Author: Ivan Valbusa
-%% Ivan dot Valbusa at gmail dot com
+%% 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 consists of all files listed in README
+%% 
 %% This work has the LPPL maintenance status "author-maintained".
 %% 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{fontsize}
-  [2020/02/20 v0.1 'fontsize' package. Set main font sizes (Ivan Valbusa)]
-
-
+  [2020/05/24 v0.2 'fontsize' package. Set main font sizes (Ivan Valbusa)]
 \@ifpackageloaded{xkeyval}{}{\RequirePackage{xkeyval}}
 \@ifpackageloaded{etoolbox}{}{\RequirePackage{etoolbox}}
-\providecommand*{\@fontsizefilebase}{custom}
+\DeclareOptionX{cloname}[custom]{\def\@fontsizefilebase{#1}}
 \DeclareOptionX{fontsize}[10]{%
   \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil
   \edef\@tempa{#1}%
@@ -34,16 +39,23 @@
   \edef\@ptsize{\strip at pt\@tempdimb}%
   \edef\@tempa{%
     \noexpand\makeatletter
-    \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{%
-      \noexpand\PackageInfo{fontsize}{%
-        File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}%
-    }{%
-        \noexpand\changefontsize{#1}%
-    }%
-    \noexpand\catcode`\noexpand\@=\the\catcode`\@
+      \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{%
+   \noexpand\PackageInfo{fontsize}{%
+     File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}%
+   }{%
+   \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{%
+    \noexpand\PackageInfo{fontsize}{%
+     File `\@fontsizefilebase\@tempb pt.clo' used instead of%
+   \noexpand\MessageBreak
+     file `\@fontsizefilebase\@tempa.clo' to setup font sizes}%
+   }{%
+    \noexpand\changefontsize{#1}%
+   }%
   }%
+ }%
   \expandafter\AtEndOfPackage\expandafter{\@tempa}%
 }
+\ExecuteOptionsX{cloname,fontsize}
 \ProcessOptionsX*\relax
 \newcommand*\ctm at setlength[4]{%
   \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi
@@ -86,6 +98,8 @@
   \edef\@tempb{\the\@tempdimc}%
   \setlength{\@tempdimc}{\@tempdima}%
   \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}%
+\setlength\parindent{\the\@tempdimb}
+\setlength\headheight{\dimexpr(\@tempdima+2.5pt)}
   \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil%
   \ctm at setlength{\abovedisplayskip}%
   {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
@@ -127,7 +141,7 @@
   \ctm at setlength{\belowdisplayshortskip}%
   {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
   \setlength{\belowdisplayskip}{\abovedisplayskip}%
-  \edef\footnotesize{%
+ \edef\footnotesize{%
     \noexpand\@setfontsize\noexpand\footnotesize
     {\the\@tempdima}{\the\@tempdimb}%
     \abovedisplayskip \the\abovedisplayskip
@@ -305,6 +319,299 @@
   \setlength{\@dblfpbot}{\@fptop}%
   \ctm at setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}%
 }
+\newcommand*{\generateclofile}[1]{%
+ \kernel at ifnextchar [{\@generatefontfile{#1}}{\@@generatefontfile{#1}}%
+}
+\newcommand*{\@generatefontfile}{}
+\def\@generatefontfile#1[#2]#3{%
+ \begingroup
+ \changefontsize[#2]{#3}%
+ \generate at fontfile{#1}{#3}%
+ \endgroup
+}
+\newcommand\@@generatefontfile[2]{%
+ \begingroup
+ \changefontsize{#2}%
+ \generate at fontfile{#1}{#2}%
+ \endgroup
+}
+\newcommand*{\@@@generatefontfile}[2][]{}
+\newcommand*{\@fontfile}{}
+\let\@fontfile\@mainaux
+\newcommand*{\generate at fontfile}[2]{%
+ \def\@ind{\space\space}%
+ \immediate\openout\@fontfile #1#2.clo
+ \immediate\write\@fontfile{\@percentchar^^J%
+  \@percentchar\space This is file `#1#2.clo', generated with^^J%
+  \@percentchar\space fontsize
+  \csname ver at fontsize.\@pkgextension\endcsname,^^J%
+  \@percentchar\space Copyright (c) Ivan Valbusa.^^J%
+  \@percentchar^^J%
+  \string\ProvidesFile{#1#2.clo}[%
+  \the\year/\ifnum\month<10 0\fi\the\month/\ifnum\day<10 0\fi\the\day%
+  \space generated font size class option (#2)]}%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\parindent}{\f at baselineskip}^^J%
+  \string\setlength{\string\headheight}{\dimexpr(\f at size+2.5pt)}^^J%
+ }%
+ \immediate\write\@fontfile{%
+  \string\def\string\normalsize{\@percentchar^^J%
+   \@ind\string\@setfontsize\string\normalsize{\f at size}{\f at baselineskip}%
+   \@percentchar^^J%
+   \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+   \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+   \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
+   \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+   \@ind\string\let\string\@listi\string\@listI^^J%
+  }\@percentchar%
+ }%
+ \begingroup\small\@listi
+ \immediate\write\@fontfile{%
+  \string\def\string\small{\@percentchar^^J%
+   \@ind\string\@setfontsize\string\small{\f at size}{\f at baselineskip}%
+   \@percentchar^^J%
+   \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+   \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+   \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
+   \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+   \@ind\string\def\string\@listi{\@percentchar^^J%
+    \@ind\@ind\string\leftmargin\string\leftmargini^^J%
+    \@ind\@ind\string\topsep \the\topsep^^J%
+    \@ind\@ind\string\parsep \the\parsep^^J%
+    \@ind\@ind\string\itemsep \string\parsep^^J%
+    \@ind}\@percentchar^^J%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\footnotesize\@listi
+ \immediate\write\@fontfile{%
+  \string\def\string\footnotesize{\@percentchar^^J%
+   \@ind\string\@setfontsize\string\footnotesize{\f at size}{\f at baselineskip}%
+   \@percentchar^^J%
+   \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+   \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+   \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
+   \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+   \@ind\string\def\string\@listi{\@percentchar^^J%
+    \@ind\@ind\string\leftmargin\string\leftmargini^^J%
+    \@ind\@ind\string\topsep \the\topsep^^J%
+    \@ind\@ind\string\parsep \the\parsep^^J%
+    \@ind\@ind\string\itemsep \string\parsep^^J%
+    \@ind}\@percentchar^^J%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\scriptsize
+ \immediate\write\@fontfile{%
+  \string\def\string\scriptsize{%
+   \string\@setfontsize\string\scriptsize{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\tiny
+ \immediate\write\@fontfile{%
+  \string\def\string\tiny{%
+   \string\@setfontsize\string\tiny{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\large
+ \immediate\write\@fontfile{%
+  \string\def\string\large{%
+   \string\@setfontsize\string\large{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\Large
+ \immediate\write\@fontfile{%
+  \string\def\string\Large{%
+   \string\@setfontsize\string\Large{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\LARGE
+ \immediate\write\@fontfile{%
+  \string\def\string\LARGE{%
+   \string\@setfontsize\string\LARGE{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\huge
+ \immediate\write\@fontfile{%
+  \string\def\string\huge{%
+   \string\@setfontsize\string\huge{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \begingroup\Huge
+ \immediate\write\@fontfile{%
+  \string\def\string\Huge{%
+   \string\@setfontsize\string\Huge{\f at size}{\f at baselineskip}%
+  }\@percentchar%
+ }%
+ \endgroup
+ \immediate\write\@fontfile{\string\normalsize}%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\footnotesep}{\the\footnotesep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\skip\string\footins}{\the\skip\footins}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\floatsep}{\the\floatsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\textfloatsep}{\the\textfloatsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\intextsep}{\the\intextsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\dblfloatsep}{\the\dblfloatsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\dbltextfloatsep}{\the\dbltextfloatsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@fptop}{\the\@fptop}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@fpsep}{\the\@fpsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@fpbot}{\the\@fpbot}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@dblfptop}{\the\@dblfptop}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@dblfpsep}{\the\@dblfpsep}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\@dblfpbot}{\the\@dblfpbot}\@percentchar
+ }%
+ \immediate\write\@fontfile{%
+  \string\setlength{\string\partopsep}{\the\partopsep}\@percentchar
+ }%
+ \begingroup
+ \@listi
+ \immediate\write\@fontfile{%
+  \string\def\string\@listi{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmargini^^J%
+   \@ind\string\topsep \the\topsep^^J%
+   \@ind\string\parsep \the\parsep^^J%
+   \@ind\string\itemsep \string\parsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \immediate\write\@fontfile{%
+  \string\let\string\@listI\string\@listi
+ }%
+ \begingroup
+ \@listii
+ \immediate\write\@fontfile{%
+  \string\def\string\@listii{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginii^^J%
+   \@ind\string\labelwidth\string\leftmarginii^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+   \@ind\string\topsep \the\topsep^^J%
+   \@ind\string\parsep \the\parsep^^J%
+   \@ind\string\itemsep \string\parsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \begingroup
+ \@listiii
+ \immediate\write\@fontfile{%
+  \string\def\string\@listiii{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginiii^^J%
+   \@ind\string\labelwidth\string\leftmarginiii^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+   \@ind\string\topsep \the\topsep^^J%
+   \@ind\string\parsep \the\parsep^^J%
+   \@ind\string\partopsep \the\partopsep^^J%
+   \@ind\string\itemsep \string\topsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \begingroup
+ \@listiv
+ \immediate\write\@fontfile{%
+  \string\def\string\@listiv{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginiv^^J%
+   \@ind\string\labelwidth\string\leftmarginiv^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \begingroup
+ \@listv
+ \immediate\write\@fontfile{%
+  \string\def\string\@listv{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginv^^J%
+   \@ind\string\labelwidth\string\leftmarginv^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \begingroup
+ \@listvi
+ \immediate\write\@fontfile{%
+  \string\def\string\@listvi{\@percentchar^^J%
+   \@ind\string\leftmargin\string\leftmarginvi^^J%
+   \@ind\string\labelwidth\string\leftmarginvi^^J%
+   \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+  }\@percentchar
+ }%
+ \endgroup
+ \immediate\write\@fontfile{%
+  \string\@ifundefined{@list at extra}{}{\@percentchar^^J%
+   \string\expandafter\string\ifnum\string\scr at v@is at ge{3.17}%
+   \string\par at updaterelative\string\fi^^J%
+   \@ind\string\l at addto@macro{\string\@listi}{\string\@list at extra}%
+   \@percentchar^^J%
+   \@ind\string\let\string\@listI=\string\@listi^^J%
+   \@ind\string\l at addto@macro{\string\@listii}{\string\@list at extra}%
+   \@percentchar^^J%
+   \@ind\string\l at addto@macro{\string\@listiii}{\string\@list at extra}%
+   \@percentchar^^J%
+   \@ind\string\l at addto@macro{\string\footnotesize}{\string\protect
+    \string\add at extra@listi{ftns}}\@percentchar^^J%
+   \@ind\string\l at addto@macro{\string\small}{\string\protect
+    \string\add at extra@listi{sml}}\@percentchar^^J%
+  }\@percentchar^^J%
+  \string\@listi^^J%
+  \string\endinput^^J%
+  \@percentchar^^J%
+  \@percentchar\space End of file `#1#2.clo'.
+ }
+ \immediate\closeout\@fontfile
+}
+\@onlypreamble\generateclofile
+\def\fs at extext{As any dedicated reader can clearly see, the Ideal of
+practical reason is a representation of, as far as I know, the
+things in themselves; as I have shown elsewhere, the phenomena
+should only be used as a canon for our understanding. The paralogisms
+of practical reason are what first give rise to the architectonic of
+practical reason.}
+\chardef\fsbslash=`\\
+\newcommand{\mysize}[1]{%
+ \bgroup\noindent\csname#1\endcsname
+   The \texttt{\fsbslash #1} size is: \textbf{\csname#1\endcsname\f at size\,pt}.\\
+   The \texttt{\fsbslash baselineskip} is \the\baselineskip\par\vskip2mm\egroup}
+\newcommand{\mysizeex}[1]{%
+ \paragraph*{\csname #1\endcsname \texttt{\fsbslash #1}
+   \textmd{\f at size pt on \the\baselineskip}\\}
+   \noindent\bgroup\raggedright\csname #1\endcsname\fs at extext\par\egroup}
+\newcommand{\printfontsize}[2][]{%
+ \section*{Settings with \texttt{\fsbslash changefontsize[#1]\{#2\}}}%
+   \changefontsize[#1]{#2}
+    \mysize{tiny}\mysize{scriptsize}\mysize{footnotesize}
+    \mysize{small}\mysize{normalsize}\mysize{large}\mysize{Large}
+    \mysize{LARGE}\mysize{huge}\mysize{Huge}
+    \mysizeex{tiny}\mysizeex{scriptsize}\mysizeex{footnotesize}
+    \mysizeex{small}\mysizeex{normalsize}\mysizeex{large}
+    \mysizeex{Large}\mysizeex{LARGE}\mysizeex{huge}\mysizeex{Huge}}
 \endinput
 %%
 %% End of file `fontsize.sty'.



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