
저는 Latex(xelatex 사용)를 처음 접하고 짧은 각주가 많은 문서의 레이아웃을 작성하려고 합니다. 나는 para
및 을 사용하고 있습니다 perpage
.
나는 para
및 .bigfoot
footmisc
나는 , 및 perpage
에서 시도했습니다 . 그러나 이들의 모든 조합에서(마침내 뭔가 컴파일이 이루어지면) 예를 들어 페이지가 각주 27과 28로 시작되는 일종의 경쟁 조건이 발생합니다. xetex를 다시 실행하면 각주가 이전 페이지로 끝나지만 번호는 1과 2로 표시되고 다음 페이지는 각주 3에서 시작됩니다.footmisc
perpage
bigfoot
즉, 두 자리의 각주 번호가 다음 페이지로 넘어가는 문턱에 있는 것처럼 보인다. xetex가 다시 실행되면(다음 페이지의 단어 및 각주와 함께) 각주 번호가 페이지별로 낮아져 단어가 이전 페이지로 다시 줄바꿈됩니다.
xetex를 무한정 다시 실행할 수 있지만 번호 매기기/간격이 안정되지 않습니다. 실제 예를 들 수 있지만 문서가 길기 때문에 "최소" 수준은 아닙니다. 그들은 또한 대부분 그리스인입니다.
[편집하다:]내가 말했듯이 저는 Latex를 처음 접했고 전체 시스템이 취약한 것 같습니다. 이를 수행할 수 있는 Right Way™가 있다면 저는 귀를 기울일 것입니다. 하지만 도움이 될 것이라고 생각한 한 가지 방법은 최소 각주 너비를 설정하는 방법이 있다는 것이었습니다. 나는 어떤 페이지에도 100개의 각주가 없다고 생각하므로 너비를 가장 넓은 두 자리 숫자를 담을 수 있을 만큼 넓은 것으로 고정하는 문제일 뿐입니다. 그것이 가능한지는 모르겠지만 포장 시 각주 번호를 예측할 수 있게 됩니다.
답변1
표준 LaTeX 각주 표시는 너비가 내용에 딱 맞을 정도로 큰 상자에 조판됩니다. 이는 다음 \@makefnmark
에 정의된 명령 에 의해 수행됩니다 ltfloat.dtx
.
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
에 따라귀하의 의견, 너비가 모두 동일한 상자에 각주 표시를 조판하기 위해 이 정의를 변경하는 방법을 보여 드리겠습니다. 작은(예: 한 자리) 각주 번호에는 보기 흉할 것 같습니다...
00
모든 각주 표시 상자가 공유하는 공통 너비의 경우 표준 각주에 대한 및 크기 의 기본 너비를 사용합니다 \normalfont
. 문서 글꼴에 적용되지 않는 보다 간단한 방법으로 너비를 수정하려면 다음과 같은 것을 사용할 수 있습니다 \setlength{\myfootnotemarkwidth}{4mm}
.
이 설정에서는 각주 표시용 상자의 너비가 고정되어 있으므로 상자 내에서 내용을 정렬하는 방법을 선택해야 합니다. 아래 전체 예제에서 사용된 다음은 각 각주 표시를 상자 안의 중앙에 배치합니다.
\renewcommand*\@makefnmark{%
\hbox to \myfootnotemarkwidth{%
\hfil\@textsuperscript{\normalfont\@thefnmark}\hfil
}%
}
왼쪽 또는 오른쪽 정렬을 선호하는 경우 \hfil
명령 중 하나를 제거하면 됩니다.
선택한 상자 너비(내 코드에 있음)에 비해 너무 큰 각주 표시가 있는 경우 \myfootnotemarkwidth
초과 경고가 올바르게 생성됩니다 \hbox
. 귀하의 질문에서 알 수 있듯이, 과도한 상황은 일시적일 수 perpage
있으며 다음 LaTeX 실행 시 사라질 수 있습니다. 즉, \hbox
첫 번째 실행 시 과도한 경고가 표시되는 것이 너무 귀찮다면(왜? ) \hfil
; \hss
하지만 그렇게 하면 알림 없이 근처 텍스트와 각주 표시가 겹칠 수 있으므로 주의하세요. 따라서 그러한 변경을 하기 전에 장단점을 주의 깊게 평가해 보십시오.
전체 예는 다음과 같습니다.
\documentclass{article}
\makeatletter
\newlength{\myfootnotemarkwidth}
% Compute the width of a standard footnote mark numbered 00 (two digits) in
% \normalfont.
\AtBeginDocument{%
\settowidth{\myfootnotemarkwidth}{\@textsuperscript{\normalfont 00}}%
}
\renewcommand*\@makefnmark{%
\hbox to \myfootnotemarkwidth{%
\hfil\@textsuperscript{\normalfont\@thefnmark}\hfil
}%
}
\makeatother
\begin{document}
Some text\footnote{The footnote text.} to show the width of the footnote mark.
And now a high-numbered\footnote[99]{Other footnote text.} footnote.
\end{document}
페이지 상단:
페이지 하단:
명령 에 사용된 각주 표시 \footnotetext
(예: 페이지 본문 하단의 각주에 대한 "대상" 위치)를 일반적인 형식으로 유지하려면 이전 예제를 다음과 같이 수정할 수 있습니다.
\documentclass{article}
\usepackage{etoolbox}
(...)
\AtBeginDocument{(...)
}
\let\@latex@makefnmark\@makefnmark
\patchcmd{\@makefntext}{\@makefnmark}{\@latex@makefnmark}{}{\FAILED}
\renewcommand*\@makefnmark{%
(...)
그러면 예제의 바닥글은 다음과 같습니다(그림 "1"은 위에 표시된 전체 예제보다 "The"라는 단어에 더 가깝습니다).