背景。我已经用report
文档类编写了一个文档,其中我一直使用该twoside
选项进行打印(以及该选项附带的其他好处,例如openright
,以及在使用时区分偶数页和奇数页的可能性fancyhdr
)。
一个(有点)最小的例子:
\documentclass[a4paper,twoside,openright,11pt]{report}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancypagestyle{MyStyle}{
\fancyhead[RO]{\nouppercase{\rightmark}}
\fancyhead[LE]{\leftmark}
\fancyfoot[C]{\thepage}
}
\usepackage{blindtext}
\begin{document}
\pagestyle{MyStyle}
\chapter{First chapter}
\blindtext[5]
\end{document}
问题。我现在想创建该报告的在线版本,该版本在所有方面都与打印版本相同,只是左右边距应该“均匀”(即设置为平均值),以使其在计算机屏幕上看起来更好。
更改为oneside
似乎twoside
行不通,否则会导致 和 出现问题openright
。fancyhdr
我也尝试过\usepackage[hmarginratio=1:1]{geometry}
,但这会导致其他几何参数(例如文本宽度)发生不必要的变化。
关于这里可以做什么,您有什么想法吗?
答案1
从终端我做
> latexdef -v -c [a4paper,twoside,11pt]report textheight textwidth
\the\textheight:
595.80026pt
\the\textwidth:
360.0pt
这个“神秘”的高度值是为了容纳 44 行(13.6pt 基线跳跃加上 11pt 顶部跳跃的 43 倍)。
将信息添加到参数中geometry
(无论如何不要忘记设置头部高度):
\documentclass[a4paper,twoside,openright,11pt]{report}
\usepackage[hmarginratio=1:1,textwidth=360pt,textheight=595.8pt]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancypagestyle{MyStyle}{%
\fancyhead[RO]{\nouppercase{\rightmark}}%
\fancyhead[LE]{\leftmark}%
\fancyfoot[C]{\thepage}%
}
\setlength{\headheight}{13.6pt}
\usepackage{blindtext}
\begin{document}
\pagestyle{MyStyle}
\chapter{First chapter}
\blindtext[5]
\end{document}
只是为了检查:在日志文件中我得到了
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
*geometry* verbose mode - [ preamble ] result:
* driver: pdftex
* paper: a4paper
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* hratio: 1:1
* modes: twoside
* h-part:(L,W,R)=(118.75394pt, 360.0pt, 118.75394pt)
* v-part:(T,H,B)=(99.69861pt, 595.80026pt, 149.54797pt)
* \paperwidth=597.50787pt
* \paperheight=845.04684pt
* \textwidth=360.0pt
* \textheight=595.80026pt
* \oddsidemargin=46.48395pt
* \evensidemargin=46.48395pt
* \topmargin=-9.57138pt
* \headheight=13.6pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=103.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidetrue
* \@mparswitchtrue
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
如果将调用geometry
改为
\usepackage[pass]{geometry}
我们得到
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
*geometry* verbose mode - [ preamble ] result:
* pass: disregarded the geometry package!
* \paperwidth=597.50787pt
* \paperheight=845.04684pt
* \textwidth=360.0pt
* \textheight=595.80026pt
* \oddsidemargin=22.0pt
* \evensidemargin=70.0pt
* \topmargin=18.0pt
* \headheight=13.6pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=103.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidetrue
* \@mparswitchtrue
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
并且可以检查相关参数是否完全相同。
您需要latexdef
终端吗?不需要:只需添加
text width: \the\textwidth
text height: \the\textheight
并\begin{document}
查找 PDF 文件中的值。