![极其节省纸张空间,页边距非常小,如何降低页码](https://linux22.com/image/389788/%E6%9E%81%E5%85%B6%E8%8A%82%E7%9C%81%E7%BA%B8%E5%BC%A0%E7%A9%BA%E9%97%B4%EF%BC%8C%E9%A1%B5%E8%BE%B9%E8%B7%9D%E9%9D%9E%E5%B8%B8%E5%B0%8F%EF%BC%8C%E5%A6%82%E4%BD%95%E9%99%8D%E4%BD%8E%E9%A1%B5%E7%A0%81.png)
致即将成交者的注意事项:这个问题不同于这个老问题在我看来,因为 1)另一个问题中的答案都没有涉及页码,并且 2)我不需要多列(在另一个问题的所有答案中也使用)。
为了打印从互联网上下载的纯文本书籍,为了节省纸张空间,我使用以下模板(并打印为 A4 格式)
\documentclass{article}
\usepackage[footskip=0pt]{geometry}
\addtolength{\textwidth}{4cm}
\addtolength{\textheight}{5cm}
\addtolength{\hoffset}{-2cm}
\addtolength{\voffset}{-2.5cm}
\begin{document}
(... ASCII-only tex here, no TeX or LaTeX)
\end{document}
是的,我知道大多数人会觉得这难以忍受,但我不介意,而且我只将其用于我个人的一次性阅读。
在我看来,除了下边距(如下图所示),所有四个边距都可以。我希望这个边距与其他边距的面积相同,从而降低页码。有什么想法吗?
答案1
geometry
如果您让该包完成整个页面布局工作而不是仅完成部分工作,它就可以完成您想要的工作。
我不确定您的调整等\textwidth
最终会产生什么样的物理边距,但这些geometry
设置产生的内容与您的屏幕截图大致相似,只是页码的位置更好:
\documentclass[12pt,oneside]{book}
\usepackage[a4paper,margin=1cm,nohead,foot=0.5cm]{geometry}
\pagestyle{plain}
\begin{document}
结合此字体配置...
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
...此页面布局适合古腾堡计划文本白鲸共计 329 页。如果使用newtxtext
Instead of,lmodern
则缩减为 310 页。(这些页数包括 ETYMOLOGY 和 EXTRACTS 序言,但不包括目录或任何 Project Gutenberg 样板。此外,我还不辞辛劳地为各章创建了 TeX 标记。如果没有这些,内容会更短。)
答案2
答案3
简短回答:
获取有关长度的信息\footskip
。;-)
长答案:
我不建议修改\hoffset
和\voffset
设置边距。
根据 TeXBook 第 23 章,这些参数的用途是:
如果你希望你的输出定位不同当它最终被打印出来时,您可以通过为
\hoffset
和赋予非零值来偏移它\voffset
。例如,
\hoffset=.5in
\voffset=1.5in
将输出移到其正常位置的右侧半英寸,向下移动 1.5 英寸。您应该小心不要将输出偏移太多,以免它掉出正在打印的物理介质的边缘,除非您知道这种越界活动不会造成麻烦。
如果我理解正确的话,页面的布局(即文本的宽度等)不应该依赖于\hoffset
和/或,\voffset
因为这些尺寸参数是为了在已经根据排版页面的布局排版时提供移动整个页面的可能性。
据我所知,\hoffset
通常\voffset
的值为 0pt,您可以更改这些值以根据设置这些参数的值水平/垂直移动整个页面。
例如,更改\hoffset
和\voffset
不应影响 LaTeX 排版的文本的宽度。
想象一下有人在一张纸上盖章。邮票的大小与纸张完全相同。邮票是 LaTeX 排版的文本。\voffset
并\hoffset
确定邮票左上角相对于纸张左上角向上/向下和/或向右/向左偏移的程度。
包裹布局你可能会感兴趣
它定义了生成绘图的命令\layout
,您可以在其中获得所有页面布局参数的可见印象。该命令的输出\layout
如下所示:
对于水平对齐,LaTeX 提供了一个参数来指定右侧页面的左边距。
由于右侧页面的页码通常为奇数,因此该参数称为\oddsidemargin
。
对于水平对齐,LaTeX 提供了一个参数来设置左侧页面的左边距。
由于左侧页面的页码通常为偶数,因此该参数称为\evensidemargin
。
右侧页面和左侧页面之间的区别仅适用于“双面”文档。
对于“单面”文档,每页都被视为右侧页面。因此对于“单面”文档,仅\oddsidemargin
应用参数。
玩完这个包后布局,我创建了一个模板,您可以在其中指定右侧页面的左侧、右侧、底部和顶部的边距。
如果文档是“双面”文档,模板将自动计算左侧页面的边距,以便
右侧页面的左边距 = 左侧页面的右边距
,
右侧页面的右边距 = 左侧页面的左边距。
我假设您希望采用一种没有页眉的简约方法。
当使用下面的示例时,在应用文章类的选项“twoside”时,请确保将 pdf 查看程序的查看模式设置为“对开页(第一页居中)”或类似的。
\documentclass[a4paper,twoside]{article}%
%------------------------------------------------------
% These packages are needed for detecting the engine -
% detecting the engine is needed for finding out if
% adjusting \(pdf)pagewidth and \(pdf)pageheight is
% needed with things like the landscape-option:
%------------------------------------------------------
\usepackage{iftex, ifpdf}
%------------------------------------------------------
\ifXeTeX
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\else
\ifLuaTeX
\pagewidth=\paperwidth
\pageheight=\paperheight
\else
\ifPDFTeX
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\fi
\fi
\fi
%------------------------------------------------------
\pagestyle{plain}%
\newlength\myleftoddmargin
\newlength\myrightoddmargin
\newlength\mytopmargin
\newlength\mybottommargin
\newlength\myverticalgapbetweenbottommarginandpagenumber
%-----------------------------------------------------------------
%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
% !!! Specify the margins here: !!!
%!!!! !!!
\setlength\myrightoddmargin{1.5cm}%
\setlength\myleftoddmargin{.75cm}%
% \csname if@twoside\endcsname
% \setlength\myleftoddmargin{.5\myrightoddmargin}%
% \else
% \setlength\myleftoddmargin{\myrightoddmargin}%
% \fi
\setlength\mytopmargin{1.5cm}%
\setlength\mybottommargin{1.5cm}%
\setlength\myverticalgapbetweenbottommarginandpagenumber{.5\mybottommargin}%
%!!! That should do the trick. !!!
%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
%-----------------------------------------------------------------
\setlength\hoffset{0pt}% or whatever horizontal offset you need.
% Usually the value is 0 by default.
\setlength\voffset{0pt}% or whatever vertical offset you need.
% Usually the value is 0 by default.
\setlength\oddsidemargin{\myleftoddmargin}%
\addtolength\oddsidemargin{-1in}%
\setlength\evensidemargin{\myrightoddmargin}%
\addtolength\evensidemargin{-1in}%
\setlength\marginparwidth{.7\myrightoddmargin}%
\setlength\marginparsep{.15\myrightoddmargin}%
\setlength\textwidth{\paperwidth}%
\addtolength\textwidth{-\myleftoddmargin}%
\addtolength\textwidth{-\myrightoddmargin}%
%-----------------------------------------------------------------
\newlength\standardletterheight
\newlength\standardletterdepth
\settoheight\standardletterheight{%
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890%
}%
\settodepth\standardletterdepth{%
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890%
}%
\setlength\topmargin{\mytopmargin}%
\addtolength\topmargin{-1in}%
% This is the height of boxes of headings:
\setlength\headheight{0ex}%
% This is the distance between the bottom of a heading-box
% and the first line of text - Also \topskip-glue is added to
% ensure that baselines of first lines of text of pages all are
% in the same height:
\setlength\headsep{0ex}%
% In case of having page-headings, you probably don't need
% to play around with\topskip.
\setlength\topskip{\standardletterheight}%
\setlength\textheight{\paperheight}%
\addtolength\textheight{-\mytopmargin}%
\addtolength\textheight{-\mybottommargin}%
\addtolength\textheight{-\standardletterdepth}%
\setlength\footskip{\myverticalgapbetweenbottommarginandpagenumber}%
\addtolength\footskip{\standardletterdepth}%
\addtolength\footskip{.5\standardletterheight}%
\begin{document}
\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}%
\nointerlineskip
\null\xleaders\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}\vfill
\nointerlineskip
\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}%
\nointerlineskip
\newpage
\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}%
\nointerlineskip
\null\xleaders\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}\vfill
\nointerlineskip
\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}%
\nointerlineskip
\newpage
\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}%
\nointerlineskip
\null\xleaders\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}\vfill
\nointerlineskip
\hbox to\textwidth{Xg\xleaders\hbox{Xg}\hfill Xg}%
\nointerlineskip
\end{document}