이 질문을 찾았어요\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
두 인수에서 포인트(단위 없음) 값으로 설정됩니다 .\fontsize
\f@linespread
첫 번째 인수, 즉\baselinestretch
- 다음 명령에서 실행될 값을 업데이트하기 위해 임시 매크로가 정의됩니다
\selectfont
. 매크로 \size@updatewill then redefine itself to be
\relax`
에는 \size@update
의 재정의도 포함되므로 \strutbox
a는 \strut
항상 현재 글꼴 크기에 맞춰집니다.
단위가 있거나 없는 혼합을 \fontsize{3cm}{4cm}
호출 할 수 있습니다 . \fontsize{15}{18}
단위가 없는 것은 암묵적으로 포인트에 있는 것으로 가정됩니다.