我正在使用 LaTeX 撰写论文报告。我必须在报告中解释我在 Simulink 中创建的一些模型。我不知道如何将这些 Simulink 模型导入 LaTeX。有人能帮我吗?
答案1
您可以执行以下操作;我使用 Matlab 2013,但我怀疑在旧版本中也可以做到这一点。
- 去文件>>打印,然后点击打印。
- 在下面设备选项, 写
-dpdf
。 - 在下面发给,有两个单选按钮可供选择;选择文件。
- 按打印;对话框将提示您选择文件的路径。
然后,在 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
环境的过程,我最近要求Simulink
和Stateflow
团队考虑将附加功能纳入print
和sfprint
未来版本中的功能。
据我所知,这些功能在过去几年中已经得到了改进,因此我认为它们仍然可以进一步开发。
我请求了以下功能:
print
:
- 自动裁剪边距/空白的选项。
- 用于指定裁剪选项的边距/空白的选项。
sfprint
:
- 打印到 的选项
.pdf
。[ 选项已存在于print
]。 - 选项来指定光栅图像分辨率。[选项已存在于
print
]。 - 自动裁剪边距/空白的选项。
- 用于指定裁剪选项的边距/空白的选项。
联系Mathworks
获得更多见解。
我的范围只考虑了pdflatex
。社区的其他意见可能会有用。你们中的许多人可能有我不清楚的需求,而这些需求最好由你们自己来表达。你们的意见也表明,支持开发这些功能是值得的。
To: US MathWorks Support <[email protected]>
Re: Specifying image resolution with sfprint [ ref:_00Di0Ha1u._500i0THMmD:ref ]