
이 질문은 코드 조각을 요구하지 않습니다.
일반적인 관행을 단어로 설명하도록 요청합니다.
일반 TeX에서는 가로 모드에서 처리되는 일부 텍스트 왼쪽에 이미지/직사각형 상자를 배치하고 싶습니다.
이미지가 포함된 직사각형 상자의 위쪽 경계선은 텍스트의 첫 번째 줄의 높이를 나타내는 경계선과 수직으로 정렬되어야 합니다. (그 높이는 a의 높이가 아니지만 \strutbox
첫 번째 줄의 내용에 따라 달라집니다. 이는 캡 높이일 수도 있고, x 높이 또는 x 높이와 일부 문자의 어센더의 합일 수도 있습니다. )
수평으로 이미지가 포함된 상자의 오른쪽 경계선과 텍스트 줄의 왼쪽 여백 사이에 약 1/3인치의 간격이 있어야 합니다.
어떠한 경우에도 이미지와 텍스트가 문서 여백에 달라붙어서는 안 됩니다.
따라서 텍스트의 너비는 가로 간격(1/3인치)의 너비만큼 감소하고 이미지의 너비만큼 감소된 일반 텍스트 줄의 너비여야 합니다.
텍스트가 이미지보다 더 많은 세로 공간을 차지하는 경우 페이지 나누기가 없으면 이미지가 포함된 직사각형 상자의 아래쪽 경계선 아래에서 세로로 끝나는 텍스트 줄에서 페이지 나누기가 발생할 수 있습니다.
텍스트가 이미지보다 세로 공간을 적게 차지하는 경우 텍스트 아래에 이미지 높이 + 이미지 깊이 - 텍스트 높이 - 텍스트 깊이의 세로 간격이 있어야 합니다.
지금까지 나는 다음과 같은 접근 방식을 고려합니다.
이미지와 가로 간격을 가로 상자에 넣습니다. 그것을 이라고 부르자 imagebox
.
이미지 상자의 너비를 측정합니다.
\vtop
텍스트 를 \topskip
0pt이고 \hsize
이미지 상자 너비와 일반 텍스트 줄 너비의 차이와 같은 에 텍스트를 넣습니다 .
해당 상자를 "중간 텍스트 상자"라고 부르겠습니다.
이미지 상자에 새로운 깊이를 지정합니다. 이미지 상자 높이 + 이미지 상자 깊이 - 중간 텍스트 상자 높이.
이미지 상자에 새로운 높이를 할당합니다: "중간 텍스트 상자"의 높이.
사례 1: 텍스트 상자가 이미지 상자보다 수직으로 더 큰 경우:
이미지 상자의 너비와 일반 텍스트 줄의 너비의 차이와 같고 이미지 상자의 너비와 같고 첫 번째 줄이 "내부 "를 포함하는 (고려하여 ) 시작하는 "주변
\vbox
" 을 만듭니다. no , 이미지 상자와 길이가 이미지 상자의 깊이와 동일한 음수(위쪽) 수직 건너뛰기를 포함합니다. 그 다음에는 본문이 이어집니다. 주변 .\hsize
\leftskip
\llap
\parindent
\vbox
\topskip
\llap
\unvbox
\vbox
사례 2: 텍스트 상자가 이미지 상자보다 세로로 작은 경우:
이미지 상자의 너비와 같고 첫 번째/유일한 줄에 이미지 상자가 포함되고 첫 번째 줄에 "중간 텍스트 상자"가 있는 "내부"가 포함 되고 길이가 다음과 같은 음수(위쪽) 수직 건너뛰기가 오는
\vbox
" 주변 "을 만듭니다. 중간 텍스트 상자의 깊이".\hsize
\rlap
\vbox
질문:
광고 사례 1: 이미지 상자가 하단 여백에 달라붙지 않도록 어떻게 보장할 수 있나요? \llap
"주변 \vbox
" 내에 길이가 이미지 상자의 깊이와 동일한 수직 포지티브(아래쪽) 건너뛰기와 페널티가 크게 감소한 다음 길이가 동일한 네거티브(위쪽) 수직 건너뛰기가 뒤따르는 것으로 충분합니까? 이미지 상자의 깊이?
광고 사례 2: "주변 \vbox
"과 "내부 \vbox
"가 모두 편집되지 않았습니다 \unvbox
. 마치 "주변 "과 "내부 "가 없는 \vbox
것처럼 이러한 수직 상자 상단의 수직 접착제가 "주변" 상단의 수직 접착제와 결합되도록 하려면 어떻게 해야 합니까 ?\vbox
\vbox