将 Simulink 图形保存为 eps 的快速简便的解决方案:

将 Simulink 图形保存为 eps 的快速简便的解决方案:

我正在使用 LaTeX 撰写论文报告。我必须在报告中解释我在 Simulink 中创建的一些模型。我不知道如何将这些 Simulink 模型导入 LaTeX。有人能帮我吗?

答案1

您可以执行以下操作;我使用 Matlab 2013,但我怀疑在旧版本中也可以做到这一点。

  1. 文件>>打印,然后点击打印
  2. 在下面设备选项, 写-dpdf
  3. 在下面发给,有两个单选按钮可供选择;选择文件
  4. 打印;对话框将提示您选择文件的路径。

然后,在 LaTeX 中,只需使用包\includegraphics中的graphicx文件插入刚刚保存的 pdf。

笔记:根据我的经验,大多数人倾向于将 Simulink 图表作为光栅图形图像插入,因为这些图像的尺寸太小,以至于模型难以辨认,即使放大也是如此。使用矢量图形格式(例如 pdf)可以轻松避免这个问题,我建议您这样做。

答案2

首先,使用 Matlab 命令将您的 Simulink 模型保存为图形:

另存为(h,'文件名.ext')

或者

saveas(h,'文件名','格式')

按照以下指示 此 MathWoks 链接

在您的 LaTeX 文件中使用(如果您将 Simulink 模型保存为 eps 文件):

\begin{figure}
  \centering       
    \includegraphics{myfile.eps}
\end{figure}

还,本网站可能会引起兴趣。

答案3

将 Simulink 图形保存为 eps 的快速简便的解决方案:

上述解决方案不起作用或不完全是我想要的,所以这是我的解决方案。

步骤1: 打开您的 Simulink 项目并在 MATLAB 工作区中输入: print -dmeta -s dummy.emf并将其更改dummy为您的 Simulink 文件的名称。

这样做的目的是将您的 Simulink 图形保存为 emf 文件格式。

第2步: 将 emf 文件转换为 eps:

使用在线转换器像这样

(步骤 3:)像往常一样使用\includegraphics将您的图形放置在 LaTeX 文档中。

相较于其他方法的优势:

  • 自动删除不必要的空白
  • 无需额外的 Mathworks 代码片段
  • 对于像我这样的初学者来说很容易理解

答案4

模型快照Simulink

  • 打开Simulink您想要打印到文件的系统。
  • 切换到Matlab应用程序并运行以下代码:
    • print -dpdf -s <outputFileName>.pdf %vector format
    • print -dpng -r225 -s <outputFileName>.png %raster format

对于vector格式:我使用的是 r2013b,pdf尽管文档完全省略了它,但它具有此功能。您的用法可能会有所不同。

对于raster格式:默认分辨率-r90可能很糟糕。查找褪色的连接线。我发现-r200在创建.png文件时会直接发生这种情况。

模型快照Stateflow

  • 打开Stateflow您想要打印到文件的系统。
  • 切换到Matlab应用程序并运行以下代码:
    • sfprint(gcs, 'png', '<outputFileName>.png')

对于vector格式:sfprint尚不具备.pdf输出功能。您需要使用.eps.svg和转换器。latex环境中存在进行转换的包。即便如此,您可能也不想latex每次编译时都进行转换。[参见功能请求, 以下。]

对于raster格式:sfprint目前还没有指定分辨率的选项。即便如此,我相信这个命令仍然比该File --> Print方法提供了更好的分辨率。

.PDF自动裁剪

要将.pdf边距裁剪至最小,请在打印输出中使用以下代码.pdf

  • !pdfcrop <outputFileName>.pdf <outputFileName>.pdf

功能请求

为了改进从Mathworks产品导出图像到latex环境的过程,我最近要求SimulinkStateflow团队考虑将附加功能纳入printsfprint未来版本中的功能。

据我所知,这些功能在过去几年中已经得到了改进,因此我认为它们仍然可以进一步开发。

我请求了以下功能:

print

  • 自动裁剪边距/空白的选项。
  • 用于指定裁剪选项的边距/空白的选项。

sfprint

  • 打印到 的选项.pdf。[ 选项已存在于print]。
  • 选项来指定光栅图像分辨率。[选项已存在于print]。
  • 自动裁剪边距/空白的选项。
  • 用于指定裁剪选项的边距/空白的选项。

联系Mathworks获得更多见解。

我的范围只考虑了pdflatex。社区的其他意见可能会有用。你们中的许多人可能有我不清楚的需求,而这些需求最好由你们自己来表达。你们的意见也表明,支持开发这些功能是值得的。

To: US MathWorks Support <[email protected]>
Re: Specifying image resolution with sfprint [ ref:_00Di0Ha1u._500i0THMmD:ref ]

相关内容