
我有一個非常具體的問題,我希望有人能夠從他們的經驗中受益。
我有大約 17000 行文字。我將這段文字列印到大約 80 張雙面頁上,然後將其剪裁併折疊成小書(嘿,這是一種愛好!)。這意味著文字需要在整個頁面上以奇怪的圖案出現在小框中。進一步來說....
此頁將被剪裁,以便 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頁面以及。如果您搜尋2up
、two up
或booklet
在本網站中,您可以找到此問題的其他解決方案。