글꼴로 크기가 조정되는 거리를 설정하는 방법

글꼴로 크기가 조정되는 거리를 설정하는 방법

글꼴 크기에 상대적인 거리를 설정하려고합니다. 문제는 잠재적으로 글꼴 크기가 다른 환경에서 문서에서 거리가 여러 번 재사용된다는 것입니다. 각각의 경우 글꼴 크기에 대한 비율을 유지하기 위해 거리의 크기가 자동으로 조정되어야 합니다. 불행하게도 거리가 현재 글꼴 의 크기 나 크기로 저장되기 때문에 단순히 거리를 지정하는 em것은 작동하지 않습니다. 글꼴이 변경되면 그에 따라 거리가 업데이트되지 않습니다.exemex

이 문제를 해결할 방법이 있나요? 이상적으로 솔루션은 LaTeX와 PlainTeX 모두에서 작동해야 합니다.

아래는 현재 바람직하지 않은 동작을 보여주는 M(n)WE입니다.

\documentclass[12pt]{article}

\newskip\test
\test = 1em

\begin{document}

In each row, the lines should be the same length.

\rule{0.4pt}{1em} \rule{0.4pt}{\test}

{\tiny\rule{0.4pt}{1em} \rule{0.4pt}{\test}}

{\Huge\rule{0.4pt}{1em} \rule{0.4pt}{\test}}

\end{document}

답변1

길이 레지스터가 아닌 매크로로 거리를 정의합니다.

\documentclass[12pt]{article}

\newcommand{\test}{1em}

\begin{document}

In each row, the lines should be the same length.

\rule{0.4pt}{1em} \rule{0.4pt}{\test}

{\tiny\rule{0.4pt}{1em} \rule{0.4pt}{\test}}

{\Huge\rule{0.4pt}{1em} \rule{0.4pt}{\test}}

\end{document}

여기에 이미지 설명을 입력하세요

답변2

호출할 때마다 규칙 길이를 재설정하는 규칙에 대한 새 명령을 정의할 수 있습니다. Plain 호환 솔루션이 요청되었기 때문에 를 사용했지만 \newskip그 아래에 주석 처리된 LaTeX 버전을 포함합니다.

\documentclass[12pt]{article}

\newskip\ruleheight

\def\myrule{%
    \ruleheight = 1em
    \rule{0.4pt}{\ruleheight}%
}

% LaTeX version
%\newlength{\ruleheight}
%\newcommand{\myrule}{%
%    \setlength{\ruleheight}{1em}
%    \rule{0.4pt}{\ruleheight}%
%    

\begin{document}

In each row, the lines should be the same length.

\rule{0.4pt}{1em} \myrule

\tiny \rule{0.4pt}{1em} \myrule

\Huge \rule{0.4pt}{1em} \myrule

\end{document}

아래쪽 세 줄에는 새 명령의 출력이 다양한 크기로 표시됩니다.

여기에 이미지 설명을 입력하세요

관련 정보