人们用什么来修改数字?

人们用什么来修改数字?

我通常在 Matlab 中为我的文章创建图表:各种数值和分析解的图。我不喜欢的一点是,图表和最终论文中的字体不同。另一件事是,将排版良好的数学直接放入图表中很麻烦。

我的解决方案:碎片

psfrag允许用 LaTeX 替换 Postscript 文件中的文本,因此我会AA在图中想要的位置放置一个标签(例如),然后在 LaTeX 中写入\psfrag{AA}{$my formula$}

这不是一个很好的解决方案,因为它取决于psfrag(期刊不喜欢这样),所以我使用fragmaster.pl它使用命令从主文件和辅助文件在本地创建修改后的 pdf 和 eps 文件\psfrag...然后我\includegraphics将这些生成的文件放在我的文章中。

该解决方案是小的绕了好远,所以我会重复一下标题中的问题:

使用外部程序(例如 Matlab)生成漂亮图形的完整解决方案是什么?


稍后添加:

在发布了几个答案之后,我发现没有一个答案专门解决期刊问题。有好几次,编辑们都回复我说:“我们想发表你的论文,请确保你给我们的图表是最终版本,并且在排版过程中不会发生任何变化”……

如果您愿意的话(并且您知道答案),请修改您的答案以包含有关期刊如何喜欢您的解决方案的信息。

答案1

一种解决方案是将图形导出为 LaTeX 友好格式,例如 TikZ。

如果您使用 MATLAB,有一个项目旨在将 MATLAB 图形导出为 TikZ 代码:

http://github.com/nicki/matlab2tikz

如果你正在使用R,我是生成 TikZ 代码的图形设备的合著者 - 可在克兰。开发版本可从以下网址下载R-锻造您可以在以下位置找到最前沿的源代码GitHub

Inkscape可以与一个插件导出到 TikZ 以执行常规图形转换任务。

将图形导出为 TikZ 等格式的优点在于,由于 LaTeX 处理所有文本,因此字体使用或排版不会出现中断。对于 R 图形设备,用户还可以使用所有 LaTeX 命令和包来排版任意数学符号。

问题更新回复

TikZ 的一个优点是图形可以外化。这意味着用于创建图形的代码被分离出来并用于编译独立图形。在后续运行中,独立文件将作为图像包含在内。使用此系统,您可以充分利用 TikZ 的全部功能,然后将您的文档和一些静态图像文件提供给 Journal,对您的 TeX 源进行最小的更改(基本上打开或关闭开关)。

自动外部化 pdftricks 和 TikZ 图片自动外部化 tikz 图形的脚本

答案2

我用overpic包裹\includegraphics,它本质上结合了命令和环境的功能picture。它的使用方式与环境非常相似,picture可以放置箭头、文本、数学、圆圈等,就像您在 LaTeX 中手动绘制图形一样,但它还接受图像文件作为参数,并用作放置这些元素的背景。

因此,我所做的就是从外部生成图形(例如使用 Matlab 或 Mathematica),这样它们就不会包含任何标签或文本。然后我使用这些图像作为背景,并在其上放置 LaTeX 生成的标签和其他功能。

此包的一个特别优点是,通过[grid]指定选项,它会在背景图像上生成一个带编号的网格,以帮助您确定元素的放置位置。一旦它们全部位于正确的位置,只需删除该[grid]选项即可。

答案3

我也使用 Matlab 来创建图表,但我使用矩阵碎片导出 EPS 图形的 psfrag 版本而不是 Laprint。

不过,我对“日志问题”的解决方案更通用一些。由于它不容易推广,因此尚未为其编写任何可移植代码,但概要如下:

  • 用于endfloat将所有数字发送到文档末尾

  • 隐藏字幕\renewcommand\@makecaption[2]{}

  • 创建一个仅包含带有图形的页面的新文档(现在除了图形本身之外应该是空白的);例如,使用pdfpagespdftk

  • 用于pdfcrop将每页裁剪为图形的精确尺寸

然后,我有一些其他的宏可以在后续的文档编译中使用这些预生成的图形,但这只有当期刊实际要使用你的 TeX 源时才有用。

答案4

使用 TikZ ;-) 好吧,我知道这有点回避问题,但我现在基本上在 TikZ 中创建了我文档的所有图形,包括简单的函数图。基本函数可以通过\plotTikZ 中的命令直接绘制,如果这不起作用,TikZ 能够使用外部文本文件中的数据生成图,因此您可以从 Matlab 导出原始数字数据并在 TikZ 中创建图。

对于更复杂的东西,比如 2D 阴影和 3D 图,我做过类似的事情,比如导出到 PStricks 并手动编辑输出以用 LaTeX 标签替换程序生成的标签。对于没有 PStricks 导出器的程序(我认为可能包括 Matlab),我通常可以将我的图形导出为 SVG(或 PS)文件,将它们导入 Inkscape,然后从那里导出为 PStricks - 虽然我最近发现 Inkscape 有一个插件可以直接导出到 TikZ,这应该会让事情变得更容易。(至少更容易修改生成的 LaTeX 源)

相关内容