如何获取页面的真实宽度(包括边距)以插入图片?\textwidth 和 \textheight 太大

如何获取页面的真实宽度(包括边距)以插入图片?\textwidth 和 \textheight 太大

当我输入以下内容时:

text width in cm: \printinunitsof{cm}\prntlen{\textwidth}

text height in cm: \printinunitsof{cm}\prntlen{\textheight}

我看到输出:

文本宽度(厘米):15.11078cm
文本高度(厘米):21.58693cm

然而,当我创建一个正好是 15cm x 21cm 的图像并将其插入到我的文档中时,它就太大了,大约相当于边距大小的量。

我以为 textwidth 应该只是文本框,已经考虑了边距。为什么我看到的输出太大了?

我想在文档中包含一些预先调整大小的图像,但无法以任何合理的方式划分页面,因为不知道页面的大小。有没有提示上面的输出发生了什么,或者我如何做得更好?

编辑,更新以包含 MWE

\documentclass[12pt]{report}
\usepackage{graphicx} % Required for inserting images
\usepackage{layouts}
\usepackage{lipsum}
\graphicspath{{/my/path}}
\DeclareGraphicsExtensions{.png}

\begin{document}

text width in cm: \printinunitsof{cm}\prntlen{\textwidth}

text height in cm: \printinunitsof{cm}\prntlen{\textheight}

line width in cm: \printinunitsof{cm}\prntlen{\linewidth}

column width in cm: \printinunitsof{cm}\prntlen{\columnwidth}

\lipsum{1-4}

\newpage

%\makebox[\textwidth][c]{\includegraphics{/my/path/myimg}}

\end{document}

现在,运行它,你会看到以下输出:

文本宽度(厘米):13.70499cm
文本高度(厘米):19.27483cm
行宽(厘米):13.70499cm
列宽(厘米):13.70499cm
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut...

转到您最喜欢的图像程序,制作一个彩色矩形图像,与此输出的文本大小相对应,即 13.7 厘米 x 19.2 厘米。

取消注释上面插入的图片,

\makebox[\textwidth][c]{\includegraphics{/my/path/myimg}}

当您执行完并重新运行它时,您将看到图像延伸到页脚区域。\textwidth和的\textheight输出与文本框不对应---这些命令似乎没有考虑边距、页眉、页脚---但我的印象是,这正是文本框应该对应的---在扣除所有其余部分之后,页面的可打印部分。

答案1

创建一个完整的示例来表明它不起作用。这里有一个示例来表明这是可能的:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
foo

\includegraphics[width=\textwidth,height=\textheight]{tiger}

\rule{1pt}{\textheight}bar

baz
\end{document}

我的测试文档的第二页:

在此处输入图片描述

答案2

由于看起来是您加载的某个软件包给您带来了麻烦,请尝试按照下列步骤修改文档的序言(我假设您的纸张尺寸只是“A4”,但显然也可以是其他尺寸):

\documentclass[a4paper,...]{article} 
--- load your other packages here ---
\usepackage[a4paper]{geometry} 
\begin{document}
...
\end{document}

通过将选项“a4paper”geometry明确传递给包,任何不正确的变量重新定义\paperwidth都将被撤消。

如果你知道你的纸张尺寸正好是 15.1m 宽和 21.6cm 高,你当然应该geometry按如下方式加载包:

\usepackage[paperwidth=15.1cm,paperheight=21.6cm,...]{geometry}

或者,更易读的是,

\usepackage[papersize={15.1cm,21.6cm},...]{geometry}

相关内容