设想
我想采用“一次排版,生成任意大小”的理念。这意味着我从一开始就指定最小纸张尺寸(例如 A6),并配置内容以最适合纸张尺寸。开发阶段完成后,我只需更改和,就可以编译输入文件以生成任意较大尺寸(例如 A5 和 A4)的 PDFpaperwidth
输出paperheight
。
假设我对字体和图形尺寸感到满意,因此在任何更大的纸张尺寸上打印时不再需要重新缩放。
这是我的回应扬尼斯·拉扎里德斯' 评论:我想为 iPod 生产 A6 尺寸、为 iPad 生产 A5 尺寸、为打印输出/屏幕生产 A4 尺寸。
问题
最适合较小纸张尺寸内容的设置是否可以保证不会针对较大纸张尺寸产生欠满/过满警告?
答案1
一般来说,正如 egreg 所说,这是不可能的。不过,您可以扩展下面的代码,以适应各种尺寸并将所有更正放在一个地方。在这里我使用了\ifpdf
,但您可以以类似的方式定义自己的条件\ifafour
等\ifathree
。奇怪的是,你想要 A4 屏幕,我通常会选择更小的屏幕。
\documentclass[11pt]{book}
\usepackage[svgnames]{xcolor}
\usepackage{ifpdf}
\usepackage{lipsum}
\newfont{\HUGE}{cmr17 at 96pt}
\setlength{\textwidth}{3.0in}
\setlength{\textheight}{5.125in}
\setlength{\oddsidemargin}{0.0in}
\setlength{\evensidemargin}{-0.375in}
\setlength{\topmargin}{-0.375in}
\setlength{\headsep}{0.25in}
\setlength{\headheight}{0.125in}
\setlength{\footskip}{0.25in}
\setlength{\parindent}{0.5\parindent}
\ifpdf
\pdfpageheight 7.5in
\pdfpagewidth 4.625in
\else
\addtolength{\oddsidemargin}{1.9375in}
\addtolength{\evensidemargin}{1.9375in}
\addtolength{\topmargin}{1.75in}
\fi
\newcommand{\hstroke}{\rule[0.5ex]{5.0em}{0.2ex}}
\begin{document}
\newpage
\thispagestyle{empty}
\begin{center}
\setlength{\unitlength}{1.0em}%
\begin{picture}(45,16)(0,0)
\put(-0.625,0){\framebox(6.2,7.25){\HUGE \textcolor{purple}{A}}}
\put(5.875,5.625){\parbox[t]{15em}{\Huge \noindent LITTLE GIFT\linebreak
\raggedright FOR ALL\linebreak
\TeX nicians\linebreak
}}
\end{picture}
\hspace*{-0.6em}\rule{1.08\textwidth}{0.3ex}\\
{\small \sc by}\\
{\small YIANNIS LAZARIDES}\\
{\footnotesize Author of ``Gala Day Luncheons''}\\
\vspace*{18.5 ex}
\rule{\textwidth}{0.3ex}\\
{\small
BEIJING\phantom{ZZZZZ,}\hfill\raisebox{0.5ex}{$\bullet$}\hfill THE PANDA\linebreak
CHINA~~~~\hfill\raisebox{0.5ex}{$\bullet$}\hfill PRESS
}
\end{center}
\newpage
\thispagestyle{empty}
\vspace*{18ex}
\begin{center}
{\em Copyright, $\mit 2011$}\\[5pt]
{\sc By Xport \& Company}\\
\hstroke\\
{\em All rights reserved}\\
\vspace*{18ex}
{\sc A little cook book}\\
%{\sc for a little girl}\\
\vspace*{12ex}
Made in China
\end{center}
\newpage
\frontmatter
\thispagestyle{empty}
\vspace*{20ex}
\begin{center}
{\scriptsize FOR}\\
{\large \bf Knuth, Lamport and Carlisle}\\
\smallskip
{\footnotesize AND THE REST\\
OF THE CROWD THAT LOVES\\
``TYPOGRAPHY''}
\end{center}
\newpage
\thispagestyle{empty}
\newpage
\mainmatter
\chapter{My Recipes}
\lipsum
\end{document}