我目前正在编写一份 LaTeX 文档,描述一款软件的技术安装和配置过程。我截取了两张截图,希望将它们作为图片包含在文档中。这些截图已被裁剪,以强调并集中于上下文中的重要内容。
我想要实现的是减小两个屏幕截图的尺寸,因为当它们简单地插入而\includegraphics{myFigure}
没有任何选项时,两个图都太大而无法适合纸张尺寸。
到目前为止,为了得到我想要的结果,我手动调整了这些截图的宽度,使它们看起来具有相同的实际大小。例如,对于第一个图\includegraphics[width=0.75\textwidth]{myFigure1}
和第二个图\includegraphics[width=0.9\textwidth]{myFigure2}
。我还尝试了scale
调整图像大小的选项。但这显然不是正确的解决方案,因为这需要手动检查以查看编译结果是否看起来大致相同(近似值)。
经过网上的一些研究以及与#latex
freenode 上的 IRC 频道的一些人进行几次讨论后,我得到了更多解决方案。
首先,我了解到来自此链接当我不指定选项时,图像将默认使用 72 dpi。这确实是正确的,因为我手动重新计算了该链接中提供的公式。
我还了解到,我可以使用图像编辑器更改图形的 dpi,使其适合纸张大小。与上面链接中写的相反,如果您安装了 GIMP,则无需安装特定软件来更改图像的 dpi。后者确实有这样的功能。转到Image
->Scale Image...
并在确保pixels/in
在下拉菜单中选择后调整 X 和 Y 分辨率。我的 XPS 13 (13") 上的屏幕截图以 97.003 dpi 拍摄。我将 dpi 更改为 150,两幅图像都适合编译的 LaTeX 文档 (pdf) 上的纸张。很棒的是,这不需要缩小我拥有的图像 (PNG) 并降低质量。矢量图形显然不会出现此问题。虽然这个解决方案听起来很棒,但这仍然需要打开图像编辑器并手动更改 dpi。这相当烦人,即使使用 ImageMagick 的批处理脚本可以派上用场。
上述链接还建议我们使用包resolution
的选项graphicx
,但似乎没有这样的选项,与文档。为了确保万无一失,我甚至尝试使用该选项编译我的文档,但编译失败。即使维基百科正在宣传这个选项!
我的问题是:
- 为什么此解决方案和 LaTeX WikiBook 都宣传该
resolution
选项来自graphicsx
包,而它显然不存在?有些指定此选项仅在某些引擎上可用,例如pdflatex
。我试图验证这个假设,但它不起作用。 - 是否有纯 LaTeX 解决方案来指定图形的 dpi?我不想要全局命令,因为我想自由定义我包含的每个位图图像的 dpi。
- 理想情况下,我希望第二个图形的宽度等于 的大小
\textwidth
。当调整图形大小时,LaTeX 是否会更改其 dpi 来调整其大小?如果是真的,我希望在这种情况下第一个图形采用第二个图形的 dpi,而第二个图形的大小已调整为 的值\textwith
。(我不知道我对这部分是否清楚。)
答案1
以下显示两个图形,每个图形按相同的量缩放,其中较大的一个更宽\linewidth
:
\documentclass{article}
\setlength\textwidth{.5\textwidth}
\setlength\textheight{1.2\textheight}
\usepackage{graphicx}
\begin{document}
\sbox0{\includegraphics{house.png}}
\makeatletter
\Gscale@div\myscale\linewidth{\wd0}
\makeatother
\noindent X\dotfill X
\begin{figure}[hp]\centering
\includegraphics[scale=\myscale]{house.png}
\caption{a house}
\end{figure}
\begin{figure}[hp]\centering
\includegraphics[scale=\myscale]{man.png}
\caption{a man}
\end{figure}
\noindent X\dotfill X
\end{document}