텍스트 길이가 늘어나는 위치 변경

텍스트 길이가 늘어나는 위치 변경

매우 구체적인 질문이 있는데 누군가가 자신의 경험을 통해 나에게 유익을 줄 수 있기를 바랍니다.

약 17000줄의 텍스트가 있습니다. 나는 이 텍스트를 약 80페이지 정도의 양면 페이지에 인쇄하고 있으며, 이를 자르고 작은 책으로 접습니다(이봐, 취미입니다!). 이는 페이지 전체에 걸쳐 이상한 패턴의 작은 상자에서 텍스트를 찾아야 함을 의미합니다. 더 구체적으로....

https://i.stack.imgur.com/uRS7b.png

이 페이지는 AB, CD, EF 등과 그 뒷면이 반으로 접혀 페이지를 형성하도록 잘립니다. 이러한 접힌 직사각형은 바인딩을 위해 서로 내부에 배치되므로 텍스트는 A에서 C의 반대쪽으로, C에서 E의 반대쪽으로, E에서 F로......

당신은 요점을 이해합니다. 문제는 다음과 같습니다.

내 계획은 C(또는 sed 또는 awk)를 사용하여 프로그래밍 방식으로 LaTeX 코드를 생성하는 것입니다. 이 코드는 이 코드를 인쇄하는 데 필요한 모든 PDF를 생성해야 합니다. 그러나 텍스트가 이 상자 중 하나의 아래쪽을 지나갈 경우 LaTeX의 동작을 변경하는 방법이 필요합니다. 즉, 일반적으로 텍스트가 경계를 넘어가면 그 아래로 계속 이어가면 됩니다. 이 경우 완전히 다른 장소, 완전히 다른 페이지에서 계속되어야 합니다. 이 프로젝트의 규모가 크기 때문에 실제로는 패키지 등을 사용하여 수행해야 합니다.

이것이 어떻게 수행되는지 아는 사람이 있습니까?

답변1

먼저 일반적인 LaTeX 접근 방식을 사용하여 책을 만들고 일반적인 방법에 따라 페이지 형식을 다시 지정합니다. 적절한 용지 크기 등의 페이지를 만들고 싶을 것입니다. 여기에서는 아래 주어진 를 사용하여 각 페이지에 문자가 포함된 book.tex26페이지 문서를 생성합니다 . book.pdf중간에 추가 페이지를 삽입하거나 제거해야 하는 경우 LaTeX를 사용하면 됩니다.

결과가 작은 책이 될 것이라는 것을 알았기 때문에 이 책에서는 각 페이지를 3" x 3"으로 만들었습니다. 하지만 결국에는 작은 책의 경우 2배로 줄어들게 됩니다. 프로세스... 그것은 내가 했던 방식과 같습니다.)

\documentclass{article}
\usepackage[paperwidth=3in,paperheight=3in,margin=.5in]{geometry}
\usepackage{graphicx}
\newcommand\makebook[1]{\makebookhelp#1\relax}
\def\makebookhelp#1#2\relax{%
  \scalebox{15}{#1}\clearpage%
  \ifx\relax#2\else%
  \makebookhelp#2\relax\fi%
}
\begin{document}
\centering
\makebook{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
\end{document}

이제 일반적인 방법으로 책을 만들었으므로 다음 MWE를 사용하여 올바른 순서로 책을 조합합니다(이 경우 편지지에).

\documentclass{article}
\usepackage[paper=letterpaper,margin=1.25in]{geometry}
\usepackage{graphicx,ifthen,stackengine}
\newcounter{bookpage}
\fboxsep=-\fboxrule\relax
\newcommand\nullpage{\fbox{\rule{0pt}{1.5in}\rule{1.5in}{0pt}}}
\newcommand\showthepage[2]{%
  \protect\fbox{\protect\includegraphics[width=1.5in,height=1.5in,page=#1]{#2}}%
}
\parindent 0in
\setstackgap{S}{0pt}
\begin{document}
\Shortstack
{
\showthepage{2}{book}%
\showthepage{3}{book}%
\showthepage{6}{book}%
\showthepage{7}{book} 
\showthepage{10}{book}%
\showthepage{11}{book}%
\showthepage{14}{book}%
\showthepage{15}{book} 
\showthepage{18}{book}%
\showthepage{19}{book}%
\showthepage{22}{book}%
\showthepage{23}{book} 
\showthepage{26}{book}%
\nullpage%
\nullpage%
\nullpage}
\clearpage
\Shortstack
{
\showthepage{8}{book}%
\showthepage{5}{book}%
\showthepage{4}{book}%
\showthepage{1}{book} 
\showthepage{16}{book}%
\showthepage{13}{book}%
\showthepage{12}{book}%
\showthepage{9}{book} 
\showthepage{24}{book}%
\showthepage{21}{book}%
\showthepage{20}{book}%
\showthepage{17}{book} 
\nullpage%
\nullpage%
\nullpage%
\showthepage{25}{book}}
\end{document}

26개의 패널(1.5인치 크기)로 구성된 2페이지 문서를 생성하며 book.pdf, 일단 자르면 페이지 ABCD가 첫 번째 미니 리프에, EFGH가 두 번째 미니 리프에 있는 식으로 조립됩니다.

바인딩 배열이 위에 표시된 것과 다른 경우(바인딩 전에 미니리브가 중첩되지 않은 경우) \showthepage원하는 레이아웃을 얻기 위해 호출 순서를 다시 정렬하기만 하면 됩니다. 잘라낼 종이 한 장에 대한 레이아웃을 설정한 후에는 이를 수행하지 않았지만 \showthepage. 그런 식으로 호출 모음(내 경우에는 32개)을 \showthepage단일 매크로로 묶을 수 있으며 해당 매크로는 더 큰 문서를 원활하게 처리하기 위해 "리프 오프셋"을 증가시키면서 연속적으로 다시 호출될 수 있습니다.

두 번째 편집의 결과로 나온 두 페이지는 다음과 같습니다. 양면인쇄로 인쇄하면 모두 일치합니다.

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

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

답변2

귀하의 질문을 올바르게 이해했다면 귀하는 다음 사항에 관심이 있는 것입니다.2인용 소책자레이아웃. 그렇다면 이미 존재하는 라텍스 패키지 중 일부를 사용하여 이를 달성할 수 있습니다. 다음은 다음을 사용하는 솔루션입니다.작은 책자패키지:

\documentclass{article}
\usepackage{lipsum}

\usepackage[print]{booklet}
\setpdftargetpages

\begin{document}
\lipsum[1-20]
\end{document}

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

출력 print에 옵션이 없으면 일반 문서처럼 보입니다. \usepackage[print]{booklet}패키지 문서에서는 이것이 양면 인쇄에서도 잘 작동한다고 주장합니다(자세한 내용은 위 링크를 확인하세요).

관심을 가질 만한 다른 패키지(본질적으로 의 백본 booklet)는 다음과 같습니다.2up. 나는 당신이 사용하여 원하는 것을 얻을 수 있다고 믿습니다PDF페이지또한. 을 검색 2up하거나 이 웹사이트에서 이 문제에 대한 다른 해결 방법을 찾을 수 있습니다.two upbooklet

관련 정보