为什么使用 KOMA-Script 设置纸张尺寸需要 TikZ?

为什么使用 KOMA-Script 设置纸张尺寸需要 TikZ?

也许我太累了,但我就是无法解释发生了什么。

文件

\documentclass[a5paper]{scrbook}

\usepackage{lipsum}

\begin{document}
\lipsum
\end{document}

生成 A4 大小的 pdf 页面(使用 pdflatex 运行时),其中文本仅在左上角,而

\documentclass[a5paper]{scrbook}

\usepackage{tikz}
\usepackage{lipsum}

\begin{document}
\lipsum
\end{document}

生成正确的 A5 页面。这是为什么?

答案1

使用选项pagesize

\documentclass[paper=a5,pagesize]{scrbook}

您可以指定pagesize=pdftex或将其设置为dvipsauto。此选项负责设置 pdf 长度或将\special命令放入 dvi 文件,请参阅手册。

即使没有,在这种情况下(例如其他类)你也不需要 TikZ。

\usepackage{geometry}

处理正确的纸张大小以及\usepackage{hyperref}。显然,pdf 纸张大小尚未正确设置(或使用分布的默认值),但 geometry 和 hyperref 修复了这个问题。

或者,不使用任何选项或包,这将为 pdfLaTeX 修复它:

\setlength{\pdfpagewidth}{\paperwidth}
\setlength{\pdfpageheight}{\paperheight}

答案2

由于 KOMA-Script 3.17 选项pagesize=auto是默认选项。因此原始示例:

\documentclass[a5paper]{scrbook}

\usepackage{lipsum}

\begin{document}
\lipsum
\end{document}

已经可以生成 A5 尺寸的页面。

相关内容