我在用迪亚生成基于矢量的图表。然后,我将其导出为 PDF,因为我想保留矢量格式,并希望稍后将完整的文档构建为 PDF。
当我包含图表时,它会使用整页来包含该图表。如何将图表 (PDF) 导入我的文档?它只有一张图片,我希望它只包含该图片。
\usepackage{graphicx}
% more bla...
\begin{figure}[H]
\includegraphics[width=1\textwidth]{img/diagram.pdf}
\end{figure}
我已经考虑生成了ps2pdf
,但这可能仍会给我一个存在同样问题的 PDF 文件。
答案1
对于这个“问题”,您有几种选择。
您可以使用外部方法并修剪图像周围的空白。
pdfcrop
能够做到这一点并使用以下接口pdfcrop [options] <input[.pdf]> [output file]
其中
[ ]
表示可选规范。如果您的 Dia 导出 PDF 图像(例如)image.pdf
由整个空白页组成,并且仅有的图像(页面上没有其他内容,例如页码或页眉/页脚),然后您可以输入pdfcrop image.pdf image.pdf
这将修剪多余的空白,只留下 PDF 中的图像。然后您可以照常包含它,而不必指定
width
参数\includegraphics
:\includegraphics{image}
\includegraphics
另一种(有点)外部方法是使用standalone
文档类使用以下格式:\documentclass{standalone} \usepackage{graphicx}% http://ctan.org/pkg/graphicx \begin{document} \includegraphics{<options>}{<image>} \end{document}
或者
\documentclass{article} \usepackage{graphicx}% http://ctan.org/pkg/graphicx \usepackage[active,graphics,tightpage]{preview}% http://ctan.org/pkg/preview \begin{document} \includegraphics[width=4cm]{tiger} \end{document}
这将生成图像的修剪版本,您可以按照通常的方式将其合并到文档中。
standalone
使用preview
包裹以帮助实现此功能,因此您preview
也可以使用,如第二个示例所示。正如@MartinScharrer 所评论的,如果您的边界框已经是一个完整的(包含空白)页面,那么这可能无法按预期工作。
trim
您可以在 LaTeX 中使用选项执行修剪选项\includegraphics
。从graphicx
包裹 文档:bb
参数应为四维,以空格分隔。这些表示文件内打印区域的“边界框”。viewport
键viewport
与 一样,需要四个参数bb
。但是在这种情况下,值是相对于文件中边界框指定的原点获取的。因此,要“查看”1in
边界框指定区域左下角的正方形,请使用参数viewport=0 0 72 72
。trim
与类似viewport
,但这里的四个长度指定了每侧移除或添加的数量。从左侧、底部、右侧和顶部trim= 1 2 3 4
“裁剪”图片。1bp
2bp
3bp
4bp
但是,您必须知道(或通过反复试验)所包含图像的边界框的
bp
尺寸。使用
adjustbox
包裹它提供\clipbox
。它的工作方式与trim
选项类似\includegraphics
。它还提供了一个export
将功能导出到的包选项\includegraphics
。阅读包装文档了解更多信息。
编辑:
答案2
您是否尝试过使用独立文档类,而不是文章文档类?它会自动剪掉所有空格。
答案3
我发现我可以使用名为eps2pdf。我可以让 Dia 打印 EPS 文件,然后让 eps2pdf 将其更改为没有 a4 格式的 pdf。由于这不是我实际提出的问题,我将接受其他答案,但这是我最终做到的。
- Dia:导出为 eps 文件
- eps2pdf:将文件导出为pdf
\includegraphics{mypdf}