この質問を見つけました\fontsize{}{} はどのように機能しますか?を理解しようとしていたのです\selectfont
が、「動作」という用語が使用方法を指しており、実装、つまり実際に内部でどのように動作するかを指していないことに気付き、がっかりしました。
どこに\fontsize{}{}\selectfont
文書化されていますか? source2e に含めるべきだと考えるのは間違っていますか? もしそうなら、なぜですか?
答え1
コードは次のとおりです:
2400 \DeclareRobustCommand\fontsize[2]
2401 {\set@fontsize\baselinestretch{#1}{#2}}
2697 \def\set@fontsize#1#2#3{%
2698 \@defaultunits\@tempdimb#2pt\relax\@nnil
2699 \edef\f@size{\strip@pt\@tempdimb}%
2700 \@defaultunits\@tempskipa#3pt\relax\@nnil
2701 \edef\f@baselineskip{\the\@tempskipa}%
2702 \edef\f@linespread{#1}%
2703 \let\baselinestretch\f@linespread
2704 \def\size@update{%
2705 \baselineskip\f@baselineskip\relax
2706 \baselineskip\f@linespread\baselineskip
2707 \normalbaselineskip\baselineskip
2708 \setbox\strutbox\hbox{%
2709 \vrule\@height.7\baselineskip
2710 \@depth.3\baselineskip
2711 \@width\z@}%
2712 \let\size@update\relax}%
2713 }
\@defaultunits
pt
数値のみが指定された場合は引数に追加し、その値を\@tempdimb
(サイズ引数の場合)または\@tempskipa
(ベースラインスキップ引数の場合)に格納します。\f@size
\f@baselineskip
2つの引数からポイント単位(単位なし)の値に設定されます。\fontsize
\f@linespread
最初の引数から設定されます。つまり、\baselinestretch
- 値を更新するための一時マクロが定義されており、次の
\selectfont
コマンドで実行されます。マクロ\size@updatewill then redefine itself to be
\relax`
\size@update
には の再定義も含まれるため\strutbox
、 は\strut
常に現在のフォント サイズに適合することに注意してください。
\fontsize{3cm}{4cm}
または\fontsize{15}{18}
、あるいは単位の有無にかかわらず任意の組み合わせを呼び出すことができます。単位なしの場合は暗黙的にポイント単位であると想定されます。