在 texlive 2015 中,使用 komascript 和 \newlength 溢出 \hbox

在 texlive 2015 中,使用 komascript 和 \newlength 溢出 \hbox

以下 mwe

\documentclass{scrartcl}
\usepackage[demo]{graphicx}
\newlength{\testlength}
\setlength{\testlength}{.75\linewidth}
\begin{document}
\includegraphics[width=\testlength]{demo}

\includegraphics{demo}

\includegraphics[width=.75\linewidth]{demo}
\end{document}

编译自:

 This is pdfTeX, Version 3.1415926-2.5-1.40.14 

给出

在此处输入图片描述

更新至 texlive 2015 后

This is pdfTeX, Version 3.14159265-2.6-1.40.16

在此处输入图片描述

Zeile 6: Overfull \hbox (5736.69446pt too wide) in paragraph

我想为所有图形定义一个宽度,这是预期的行为吗?

答案1

如果我使用 TeX Live 2014 进行编译,添加\showthe\linewidth,我得到

418.25555pt

使用 TeX Live 2015,我得到的是

8191.99998pt

这显然是由于 KOMA-Script 类别的变化。另一方面,0.75\linewidth在序言中将长度设置为 并没有多大意义,因为\linewidth长度在文档中会有所不同。

你可能想要

\newcommand\testlength{\dimexpr0.75\linewidth\relax}

所以\testlength可以取当前的值\linewidth。或者,如果你想要长度为文本宽度的四分之三,请执行

\newlength{\testlength}
\AtBeginDocument{\setlength\testlength{0.75\columnwidth}}

相关内容