更改增加文字長度的位置

更改增加文字長度的位置

我有一個非常具體的問題,我希望有人能夠從他們的經驗中受益。

我有大約 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.tex下面給出的 ,它創建一個 26 頁的文檔book.pdf,每頁上有一個字母。如果我需要中途插入額外的頁面或刪除一頁,只需讓 LaTeX 來完成即可。

因為我知道最終的結果是一本小書,所以我在這本書中將每一頁製作為 3 英寸乘 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 英寸)組成的兩頁文檔book.pdf,以這樣的方式組裝,一旦剪切,ABCD 頁面將位於第一個小葉子上,EFGH 位於第二個小葉子上,依此類推。

如果您的綁定安排與上面顯示的不同(其中 minileaves 在綁定之前沒有嵌套),只需重新安排\showthepage呼叫的順序即可獲得所需的佈局。一旦你設定了一張紙的佈局(將被切割),我就沒有這樣做,但是在\showthepage.這樣,一系列(在我的例子中是 32 個)調用\showthepage可以捆綁到一個宏中,並且可以通過不斷增加的“葉偏移”連續重新調用該宏,以無縫處理更大的文檔。

這是第二次編譯產生的兩個頁面。當使用雙面列印時,一切都匹配。

在此輸入影像描述

在此輸入影像描述

答案2

如果我正確理解你的問題,那麼你對兩本小冊子如果是這樣,您可以透過一些現有的乳膠包來實現這一點。這是使用的解決方案小冊子包裹:

\documentclass{article}
\usepackage{lipsum}

\usepackage[print]{booklet}
\setpdftargetpages

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

在此輸入影像描述

請注意,如果輸出中沒有print選項,\usepackage[print]{booklet}則輸出看起來就像任何普通文件。軟體包文件聲稱這也適用於雙面列印(請參閱上面的連結以了解詳細資訊)。

您可能感興趣的其他軟體包(本質上是 的支柱booklet)是2up。我相信你可以使用得到你想要的pdf頁面以及。如果您搜尋2uptwo upbooklet在本網站中,您可以找到此問題的其他解決方案。

相關內容