글꼴 크기가 다른 텍스트 문구의 수직 정렬

글꼴 크기가 다른 텍스트 문구의 수직 정렬

(2. 및 3. 왼쪽의 "라인 001", "라인 002" 등은 오른쪽 라인의 기준선이 \baselineskip일반 크기의 일반 글꼴의 배수인 수직 거리를 가짐을 보여주기 위한 것입니다.)

  1. 두 가지 다른 글꼴 크기로 조판된 문구를 정렬하여 더 큰 글꼴 문자의 어센더 상단을 구분하는 규칙이 상단을 구분하는 규칙의 높이에 있도록 하는 가장 좋고 가장 덜 번거로운 방법은 무엇입니까? 다음 그림처럼 작은 글꼴의 어센더가 보이나요?

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

  2. 예를 들어 단락 나누기에서 두 줄의 텍스트 기준선 사이의 수직 연결이 항상 정수 배수가 되도록 하는 가장 좋고 가장 덜 번거로운 방법은 무엇입니까 \baselineskip? 문구의 글꼴 크기가 다른 경우에도 마찬가지입니까?

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

  3. 두 줄의 텍스트 기준선(예: 단락 나누기) 사이의 수직 연결이 항상 정수 배수가 되도록 보장하는 가장 좋고 가장 덜 번거로운 방법은 무엇입니까? \baselineskip문구의 글꼴 크기가 다르고 문구가 두 가지 다른 글꼴 크기로 조판된 경우에도 마찬가지 입니다. 큰 글꼴의 어센더 상단을 구분하는 규칙이 작은 글꼴의 어센더 상단을 구분하는 규칙의 높이에 있도록 정렬됩니까?

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

나는 "수동 조정"과 이상한 기본 지침을 문서의 텍스트가 들어 있는 파일에 직접 작성해야 하는 이러한 작업을 수행하기 위한 번거로운 방법만을 찾았습니다. 나는 이러한 메소드/매크로의 사용이 번거롭지 않은 별도의 개인 패키지로 제공될 수 있는 매크로와 같은 것을 달성하기 위한 메소드를 구현하는 방법을 아직 찾지 못했습니다. 문서의 텍스트가 들어 있는 파일을 처리하는 동안 LaTeX가 이러한 작업을 자동으로 수행하도록 하는 LaTeX 코드를 작성하는 방법을 배우고 싶습니다. 가로에서 조판 모드를 전환하기 위한 수많은 이상한 지침을 내 문서의 실제 텍스트에 산재시킬 필요가 없습니다. 모드를 제한된 수평 모드 또는 수직 모드로 변경하거나 상자를 생성 및 측정하거나 다음 라인까지의 수직 거리가 아래가 되도록 높이/깊이가 초과된 일부 를 실행 취소하는 데 사용 \lineskip됩니다 .\vbox\vtop\baselineskip\lineskiplimit

TeX과 마찬가지로 ⁠-⁠ ⁠LaTeX Stack Exchange는 최소한의 재현 가능한 완전한 예제를 요구하는 것은 코드 수정이 아닌 모범 사례를 요구하는 상황에서도 반사적이며, 모범 사례를 묻는 코드는 모범 사례를 요구할 가능성이 높습니다. 모범 사례를 보여주기 위해 지금까지 내가 한 일을 보여줍니다. 나는 이것이 또한 질문자들에게 실질적인 성공 없이 문제를 해결하기 위해 상당한 시간을 보냈다고 말할 뿐만 아니라, 실제로 성공하지 못한 채 문제를 해결하는 데 상당한 시간을 보냈다고 말할 뿐만 아니라, 질문자에게 자기 굴욕의 손님을 요구하는 사람들을 만족시키기를 바랍니다. 누구에게도 실제로 쓸모가 없으며 이미 고군분투하는 데 상당한 시간을 보냈다고 말할 때 거짓말을 했다는 암시를 반박할 목적으로만 사용될 수 있는 나쁘고 잘못 작성된 코드입니다.

나는 다음과 같은 번거로운 방법으로 1.을 수행했습니다.

\documentclass{book}
\newsavebox\mynormalbox
\newsavebox\myhugebox

\begin{document}

\savebox\mynormalbox{\hbox{\normalsize Text}}%
\savebox\myhugebox{\hbox{\huge Text}}%
Text Text \lower\dimexpr\ht\myhugebox-\ht\mynormalbox\relax\hbox{\huge Text Text} Text Text

\end{document}

나는 다음과 같은 번거로운 방법으로 2를 수행했습니다.

\documentclass{book}

\begin{document}
\noindent %\leavevmode
\vbox to 12\baselineskip{%
  \hbox{line 001}%
  \hbox{line 002}%
  \hbox{line 003}%
  \hbox{line 004}%
  \hbox{line 005}%
  \hbox{line 006}%
  \hbox{line 007}%
  \hbox{line 008}%
  \hbox{line 009}%
  \hbox{line 010}%
  \hbox{line 011}%
  \hbox{line 012}%
} 
\vrule{}
\vbox to 12\baselineskip{%
  \hbox{line 1 line 1 line 1 line 1 line 1 line 1}%
  \vskip-\lineskip
  \vbox to 3\baselineskip{\vfill\hbox{Line 2 Line 2 {\huge Line 2} Line 2 Line 2}}%
  \hbox{line 3 line 3 line 3 line 3 line 3 line 3}%
  \vskip-\lineskip
  \vbox to 3\baselineskip{\vfill\hbox{Line 4 Line 4 {\huge Line 4} Line 4 Line 4}}%
  \hbox{line 5 line 5 line 5 line 5 line 5 line 5}%
  \vskip-\lineskip
  \vbox to 3\baselineskip{\vfill\hbox{Line 6 Line 6 {\huge Line 6} Line 6 Line 6}}%
}%
\end{document}

나는 다음과 같은 번거로운 방법으로 3을 수행했습니다.

\documentclass{book}
\newsavebox\mynormalbox
\newsavebox\myhugebox

\begin{document}
\noindent %\leavevmode
\vbox to 16\baselineskip{%
  \vfill
  \hbox{\strut line 001}%
  \hbox{line 002}%
  \hbox{line 003}%
  \hbox{line 004}%
  \hbox{line 005}%
  \hbox{line 006}%
  \hbox{line 007}%
  \hbox{line 008}%
  \hbox{line 009}%
  \hbox{line 010}%
  \hbox{line 011}%
  \hbox{line 012}%
  \hbox{line 013}%
  \hbox{line 014}%
  \hbox{line 015}%
  \hbox{line 016\strut}%
  \vfill
} 
\vrule{}
\vbox to 16\baselineskip{%
  \vfill
  \savebox\mynormalbox{\hbox{\normalsize line1234567890}}%
  \savebox\myhugebox{\hbox{\huge  line1234567890}}%
  \hbox{\strut line 1 line 1 line 1 line 1 line 1 line 1}%
  \vtop to 3\baselineskip{%
    \hbox{\vphantom{line2}}%
    \hbox{line 2 line 2 \lower\dimexpr\ht\myhugebox-\ht\mynormalbox\relax\hbox{\huge line 2} line 2 line 2}%
    \vfill
  }%
  \vskip-\lineskip
  \hbox{line 3 line 3 line 3 line 3 line 3 line 3}%
  \vtop to 3\baselineskip{%
    \hbox{line 4 line 4 \lower\dimexpr\ht\myhugebox-\ht\mynormalbox\relax\hbox{\huge line 4} line 4 line 4}%
    \vfill
  }%
  \vskip-\lineskip
  \hbox{line 5 line 5 line 5 line 5 line 5 line 5}%
  \vbox to 3\baselineskip{%
    \vfill
    \hbox{\lower-\lineskip\hbox{line 6 line 6 {\huge line 6} line 6 line 6}}%
  }%
  \vskip-\lineskip
  \hbox{line 7 line 7 line 7 line 7 line 7 line 7}%
  \vbox to 2\baselineskip{%
    \vfill
    \hbox{\lower-\lineskip\hbox{line 8 line 8 {\huge line 8} line 8 line 8}}%
  }%
  \vskip-\lineskip
  \hbox{line 9 line 9 line 9 line 9 line 9 line 9\strut}%
  \vfill
}%
\end{document}

(2. 및 3. 왼쪽의 "라인 001", "라인 002" 등은 오른쪽 라인의 기준선이 \baselineskip일반 크기의 일반 글꼴의 배수인 수직 거리를 가짐을 보여주기 위한 것입니다.)

관련 정보