我想在文档中添加图片。我希望图片尽可能宽,但又不超出页边距。因此我有几个问题:
- 不计算边距,如何计算文档宽度的像素数?
- LaTeX 中是否有内置命令可以帮助我找到这个宽度?
- 如果我想手动计算这个宽度,我在计算时需要考虑文档和图像的哪些属性?
回答 1) 和 2) 对我来说已经足够了,但知道如何做 3) 也会很有帮助,这样我就可以预先创建一个适合我的文档的原始大小的图像。
答案1
正如马丁在他的回答中指出的那样,您只需将width=\textwidth
之前创建的图像调整为文本的宽度即可。
我认为你的问题是,你应该以什么尺寸创建/导出图形,以便它们填充文本宽度按原始尺寸;也就是说,不使用width
, height
,ETC. 选项与\includegraphics
.
正如评论中指出的那样,这取决于所需的 dpi/ppi 值。我将在此示例中使用 300 ppi(印刷行业标准);您可以根据需要进行调整。
\documentclass{article} % adjust to suit
%\usepackage[margin=2in]{geometry} % adjust to suit
\begin{document}
Hello, world! \showthe\textwidth
\end{document}
pt
我们始终可以通过使用\showthe\textwidth
文档源来获取文本块的当前宽度(以 为单位),它将打印到日志文件:
> 345.0pt. l.5 Hello, world! \showthe\textwidth
然后我们可以进行一些单位转换来获得本机包含的图像的正确像素宽度:
width_px = floor((345.0 pt)*(1 in / 72.27 pt)*(300 px / 1 in)) width_px = floor(1432.129514 px) width_px = 1432 px
因此,使用标准article
类(10pt
基本字体大小和letterpaper
我的系统中的默认值),文本块很宽,这对应于300 ppi 的345pt
图像宽度。计算时需要给出整数像素宽度,而不会导致最终输出文档过满。1432px
floor()
\hbox
答案2
最终,最大尺寸是您指定的纸张尺寸,例如letter
或a4paper
。纸张的尺寸存储在长度\paperwidth
和中\paperheight
。如果您想将图像限制为文本块的大小,则无需进行任何计算,因为文本块的大小是 的\textwidth
倍数\textheight
。因此,您可以使用
\noindent\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{image}%
如果您更改纸张尺寸或调整边距,它也会进行调整。