멀티콜 환경의 각주 레이아웃

멀티콜 환경의 각주 레이아웃

저는 이 패키지를 사용하여 multicol1열(전체 텍스트 너비에 걸쳐) 제목과 2열 기본 텍스트 블록을 조판하고 있습니다. 이를 위해 텍스트 블록의 시작과 함께 다중 열 환경을 시작합니다. 1열 제목은 첫 페이지 텍스트 높이의 작은 부분에 걸쳐 있으므로 2열 환경을 시작하기 전에 거기에 각주를 설정해야 합니다. 2열로 구성된 텍스트의 첫 번째 열 아래에 해당 각주를 조판하고 싶습니다. 내가 어떻게 이런 일을 할 수 있겠는가?

게다가 텍스트 열 중 하나 아래의 단일 열에 각주를 조판하고 싶습니다. 두 열의 각주로 두는 것도 괜찮지만 전체 텍스트 열에 걸쳐 있는 각주 레이아웃은 원하지 않습니다. 텍스트 너비. 나는 \twocolumnfootnotesclass memoir, packages ledmac, dblfnote및 심지어 의 명령을 사용하여 시도했습니다 ftnright(후자는 1열 제목으로 인해 단일 열 문서에서 사용되는 것에 대해 불평합니다). 이 설정에서는 유용한 것으로 입증된 것이 없습니다. MWE보다 작은 시나리오를 좀 더 구체적으로 설명하기 위해 다음을 고려해 보겠습니다.

\documentclass{memoir}

\usepackage{multicol}

\begin{document}

A single-column heading\footnote{Here I have my footnote.}

\begin{multicols}{2}
Here I am in the two-column environment, and I want my footnotes being set in accordance with the document's ``columnwidth''.\footnote{A footnote in the two-column environment.}
\end{multicols} 

\end{document}   

답변1

에서 원하는 레이아웃을 제공할 수 없는 데에는 여러 가지 이유가 있습니다 multicols. 두 가지 중요한 사항은 다음과 같습니다.

  • 이름에서 알 수 있듯이 코드는 동일한 페이지에서 서로 다른 열 번호를 지원해야 합니다. 이제 각주는 얼마나 넓어야 할까요? 전체 텍스트 너비는 보기 흉하지만 나머지 열 설정과 맞지 않으면 다른 너비도 마찬가지입니다. 사양이 "균형 조정된 1열과 2열"로 줄어들더라도 예를 들어 단일 각주(2열 너비)가 있지만 페이지 하단이 1열로 끝나는 경우 여전히 보기 흉할 것입니다.

  • 기술적으로는 multicols페이지 분량의 자료를 수집한 다음 열을 분할하는 방식으로 작동합니다(그리고 마지막에 밸런싱을 수행하는 경우 최상의 밸런싱 솔루션을 찾기 위해 잠재적으로 수백 개의 시나리오를 다시 시도함). 이제 이것은 상자 안에 각주 자료를 사용 \vsplit하고 보관하는 방식으로 작동합니다. \vsplit따라서 이 접근 방식을 사용하면 각주 자료를 열 자체의 일부로 사용할 수 없습니다(또는 균형 조정의 일부로 사용). 물론 이제 상자에 이미 수집된 자료를 안전하게 사용하는 대신 기본 수직 목록에서 이러한 모든 종류의 작업을 수행하는 출력 루틴 모음과 관련된 다른 접근 방식을 사용하는 것이 가능합니다. 그러나 이는 더 복잡한 좋은 요소가 될 수 있으며 결과적으로 매우 복잡한 출력 루틴은 일반적으로 제한된 문제를 해결하는 데 국한됩니다.

이제 TeX는 귀하가 의견에서 언급한 대로 Turing이 완성되었지만 처음에는 별로 도움이 되지 않습니다. 이는 TeX에서 각각의 모든 것을 프로그래밍하는 것이 가능하다는 것을 의미하지 않으며 가능하더라도 TeX가 한 영역에서 제공하는 기능의 전부 또는 대부분을 삭제하고 상당히 비효율적인 방식으로 직접 다시 프로그래밍하게 될 수도 있습니다. 기본 제공 제한을 극복합니다. 아주 최근까지 가장 큰 장애물은 그렇게 하면 처리 속도가 엄청나게 느려지거나 메모리 제한에 도달하게 된다는 점이었습니다.

expl3이러한 상황은 지난 몇 년 동안 많이 개선되었으며 이것이 이제 TeX 내에서 TeX의 기능을 확장하기 위한 기반을 제공하는 프로그래밍 프레임워크(예: )를 생각해내는 것이 가능한 이유 중 하나입니다 . 처음 작성되었을 때는 multicolsTeX에서 (기술적으로는 아니지만 현실적으로) 완전한 정규식 파서를 구현하는 것을 상상하는 것이 불가능했을 것입니다 expl3. 이제 .

결론적으로 TeX의 디자인은 단일 열 문서용으로 만들어졌으며 그 이상의 것은 거의 불가능하거나 제한된 시나리오에서만 가능했습니다.

요즘에는 더 잘할 수 있으며 서랍에는 귀하가 찾고 있는 것을 제공하는 다른 페이지 디자인 컨셉이 있습니다. 문제는 아직 준비가 되지 않았다는 것입니다. 프로토타입은 이미 2000년에 만들어졌지만 그 당시에는 속도 제한으로 인해 여전히 유토피아였습니다.

그것이 바뀌었기 때문에 이제는 expl3실제로 사용할 수 있는(그리고 사용되는) 플랫폼이 되었고, 우리는 현재 지난 세기 말의 코드와 아이디어를 수정하는 과정에 있습니다. 이제 이 소리는 정말 오래된 것 같지 않나요? 그러나 사실은 현재 LaTeX가 multicol여전히 "the" 솔루션으로 존재하므로... 거기에는 몇 가지 이유가 있습니다.

관련 정보