当我调整 PDF 图表和图形的大小时,我经常发现这些图表中的文本太小而无法阅读。有没有办法确保图表中的字体与正文相匹配?
答案1
您可以包含使用 Inkscape 生成的 SVG 图像并在 Latex 中处理所有文本。该过程描述如下:“如何在 LATEX 中包含 SVG 图像”. 以下文件说明了该过程。
您还可以制作独立的 Inkscape/Latex 图形。查看我的答案“需要推荐一款 LaTeX 绘图工具”
\documentclass{article}
\usepackage{color}
\usepackage{graphicx}
\newcommand{\executeiffilenewer}[3]{%
\ifnum\pdfstrcmp{\pdffilemoddate{#1}}%
{\pdffilemoddate{#2}}>0{\immediate\write18{#3}}
\fi}
\newcommand{\includesvg}[1]{%
\executeiffilenewer{#1.svg}{#1.pdf}%
{inkscape -z -D --file=#1.svg --export-pdf=#1.pdf --export-latex}%
\input{#1.pdf_tex}}
\begin{document}
\begin{figure}
\centering
%\def\svgwidth{\columnwidth}
\includesvg{svgfig}
\caption{My SVG Image}
\end{figure}
\end{document}
使用以下方法编译文件
pdflatex -shell-escape <filename>
确保 Inkscape 在你的路径中
答案2
一般来说,这应该很容易实现IPE
http://ipe7.sourceforge.net/,这是一个非常强大的用于创建包含文本的矢量图形的编辑器LaTeX
。
我过去常常以“任意”大小创建图形,然后随意缩放它们,\includegraphics[width=\textwidth]{...}
结果线条宽度和字体大小都不同。为了让我的博士论文布局更加一致,我决定将所有图形都设为 100% 大小,然后缩放它们IPE
。所以我创建了一个模板,其大小与我的文档的IPE
大小相同。(如果图像不使用整个文本大小,则可以像我的示例一样使用 PDF 裁剪框。)\textwidth
\textheight
LaTeX
示例(快速而粗略)2
我取出我的一张图形并缩放了它的副本 - 您会看到线宽和文本大小相同,只是图形元素的大小发生了变化。
从希腊字母“my”可以看出,文本标签的对齐方式在缩放时非常重要。示例中的“my”与其基线对齐,因此如果您缩小图像,它们会接近 x 轴。您还可以将它们的垂直对齐方式设置为“顶部”,这样可以避免出现这种情况。
我不是使用 IPE 的专家,所以我不确定最好的方法是什么 - 你可以在邮件列表中提问http://old.nabble.com/Ipe---General-f1929.html。还有一些选项可以使文本标签随图形缩放,但标准选项保持其原有的大小。
一些优点IPE
:
- 您可以使用与文档中相同的 LaTeX 字体和字体大小
- 您甚至可以使用用户定义的命令,只需将它们包含在
LaTeX preamble
IPE 文档中即可(我已经定义了很多经常与命令一起使用的数学符号。我将定义保存在单独的 .tex 文件中,这样我就可以在\input{}
我的LaTeX
文档序言中以及在我所有的 IPE 图形中一致地使用它们 - 你可以“导入”并修改
pdftoipe
使用命令!通过其他软件(如 gnuplot、mathematica 或 inkscape)创建的 PDF 文件 - 你可以在 IPE 文档中使用任何你想要的 LaTeX 代码(据我所知)
includegraphics
您可以将文件直接保存为(可使用 IPE 编辑!!)PDF 或 EPS,并可在您的LaTeX
文档中使用- 您还可以保存为文本格式
.ipe
,这样您就可以通过文本操作编辑文件(如果您知道该怎么做 - 我不会),但是为了包含图形,您必须通过终端命令将其“渲染”为 PDF 或 EPS 以应用更改 - 它有一个 GUI 和非常强大的捕捉功能(但我建议阅读或至少浏览一下手册http://ipe7.sourceforge.net/manual/manual.pdf因为许多强大的功能并不“明显”,但很容易学习
- 还有用于命令行转换图形的命令等等。
- 它适用于 Linux、Windows 和 MacOS X(但不正式支持 OS X)
- 它正在积极开发,并拥有一个反应非常迅速的开发者和用户社区
- 我尝试添加示例图形的原始 PDF 文件(可以使用 IPE 编辑),但我看不到直接在此处上传它的方法。我尝试添加 XML 源代码,但似乎对于答案来说太长了,而且无法完整显示。
我终于上传了示例 PDF 文件这里(抱歉有广告,请务必点击正确的下载按钮!): 链接至 pdf 文件
答案3
我在这方面取得了很大成功pgfplots 包。它不调整图形大小,而是使用 LaTeX 和 pgf 包来创建图形。我已经有一段时间没用过 GnuPlot 了,但据我所知,pfgplots 可以创建的图类型与 GnuPlot 可以创建的图类型非常相似。例如,您可以让它从文件中读取数据,也可以指定要绘制的函数。甚至还有有限的 3D 绘图。
对我来说,最好的部分是,如果你想改变图形大小,你只需添加一个命令,如“width=6cm”,图表就会自动调整大小,但字体大小保持不变。此外,如果标签中有数学表达式,它们将以与论文相同的字体排版,从而呈现出非常漂亮、一致的外观。