我有一个文件小册子演示.tex使用以下代码
\documentclass[12pt]{article}
\usepackage[a5paper]{geometry}
\usepackage{lipsum} % this package is for creating filler text
\author{N.~N}
\title{The booklet}
% \usepackage[print,1to1]{booklet} \nofiles
% \target{\magstep0}{297mm}{210mm}
\begin{document}
\maketitle
\tableofcontents
\section{Europe}
\subsection{Berlin}
\lipsum[4]
\subsection{Paris}
\lipsum[1-3]
\subsection{Vienna}
\lipsum[10]
\subsection{Rome}
\lipsum[15]
\section{Africa}
\lipsum[1-4]
\subsection{Accra}
\lipsum[5-8]
\subsection{Johannesburg}
\lipsum[9-11]
\subsection{Casablanca}
\lipsum[11-12]
\lipsum[5-6]
\section{Asia}
\lipsum[1-4]
\subsection{Tokyo}
\lipsum[5-8]
\subsection{Beijing}
\lipsum[9-11]
\subsection{Mumbai}
\lipsum[11-12]
\lipsum[5-6]
\end{document}
我奔跑
latex bookletdemo.tex
两次。A5页面的文档的pdf格式很好。
然后我取消注释
\usepackage[print,1to1]{booklet} \nofiles
\target{\magstep0}{297mm}{210mm}
然后运行
latex bookletdemo.tex
创建小册子。它生成的是类似于小册子的东西,但缺少标题页和目录。
正确的例子是什么样的?
参考
http://mirror.isoc.org.il/pub/ctan/macros/latex/contrib/booklet/booklet.pdf
答案1
我远非专家,我希望有人能给出更好的答案。但是,我在这个问题上花了相当多的时间,据我所知, just 的用法与no matter whatgeometry
的用法不一致booklet
。我知道文档解释了如何使用noprint
然后使用来解决这个问题,但它对我来说从来没有用过。因此,我无法回答您的问题,因为我不知道如何“正确地”做到这一点,如果这意味着“以一种既有效又使用文档中的方法的方式” 。print
\nofiles
booklet
事实上,如果你指的是“以某种方式使用”,我甚至无法回答booklet
。我曾经有一个解决方案可以做到这一点,但不幸的是,它在一段时间前就坏了,而且从那以后情况似乎没有改变。如果它有用,我会先解释一下那个解决方案,然后再解释我发现现在有效的东西。不幸的是,这个解决方案booklet
完全没有用。但它确实有效。
解决方案 1:booklet
不使用geometry
目前已损坏 - 以前可用
我这样做的方法是首先加载geometry
选项verbose
,然后从编译时的输出中检索它使用的设置。(这些也应该在我期望的日志中。)然后我手动取出geometry
并设置尺寸。然后booklet
工作正常。
geometry
例如,运行代码,您想要的输出将是:
*geometry* verbose mode - [ preamble ] result:
* driver: pdftex
* paper: a5paper
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes:
* h-part:(L,W,R)=(63.16576pt, 294.76926pt, 63.16577pt)
* v-part:(T,H,B)=(71.70166pt, 418.25368pt, 107.55254pt)
* \paperwidth=421.10078pt
* \paperheight=597.50787pt
* \textwidth=294.76926pt
* \textheight=418.25368pt
* \oddsidemargin=-9.10423pt
* \evensidemargin=-9.10423pt
* \topmargin=-37.56833pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=12.0pt
* \footskip=30.0pt
* \marginparwidth=44.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.8pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
然后,我将明确定义相关尺寸,省去geometry
,添加a5paper
到类选项并继续。但是,这似乎不再起作用,上次我需要这样做时,无论如何都无法使其工作。(现在,编译似乎忽略了纸张尺寸设置。所以我认为你可以在 A4 上执行此操作,然后缩放booklet
页面,但我还没有尝试过。我放弃了booklet
。)
解决方案 2:使用pdfpages
- 避免booklet
这个解决方案非常简单。唯一的缺点是你需要第二个文件。你只需要在 A5 纸上准备你的初始文件,暂时忽略你计划制作一本小册子的事实:
\documentclass[12pt]{article}
\usepackage[a5paper,verbose]{geometry}
\usepackage{lipsum} % this package is for creating filler text
\author{N.~N}
\title{The booklet}
\begin{document}
\maketitle
\tableofcontents
\section{Europe}
\subsection{Berlin}
\lipsum[4]
\subsection{Paris}
\lipsum[1-3]
\subsection{Vienna}
\lipsum[10]
\subsection{Rome}
\lipsum[15]
\section{Africa}
\lipsum[1-4]
\subsection{Accra}
\lipsum[5-8]
\subsection{Johannesburg}
\lipsum[9-11]
\subsection{Casablanca}
\lipsum[11-12]
\lipsum[5-6]
\section{Asia}
\lipsum[1-4]
\subsection{Tokyo}
\lipsum[5-8]
\subsection{Beijing}
\lipsum[9-11]
\subsection{Mumbai}
\lipsum[11-12]
\lipsum[5-6]
\end{document}
假设生成的 pdf 是prebooklet.pdf
。那么您只需要这个:
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\usepackage{pdfpages}
\includepdfset{pages=-}
\author{N.~N}
\title{The booklet}
\begin{document}
\includepdf[pages=-,nup=1x2,landscape]{prebooklet.pdf}
\end{document}
这一切都完美无缺,没有任何问题:
唯一的问题是,打印小册子时页面排列不正确。但这很容易解决:只需添加选项signature
:
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\usepackage{pdfpages}
\includepdfset{pages=-}
\author{N.~N}
\title{The booklet}
\begin{document}
\includepdf[pages=-,nup=1x2,landscape,signature=20]{prebooklet.pdf}
\end{document}
例如产生:
我使用了 20,因为您大概想要 4 的倍数,并且实际有 17 页文本。