在从Matlab生成Latex输出时,我在命令窗口中使用了以下内容:
publish('filename.m',struct('format','latex','showCode',false, ...
'maxWidth',3,'outputDir','Desktop'));
Run Code Online (Sandbox Code Playgroud)
生成的乳胶文件的图形宽度始终为4英寸.即使我
将maxWidth更改为5,6,1000等,图形宽度仍然保持不变:4in.
如何直接从Matlab改变乳胶中的图形宽度?
看起来maxWidth
选项只影响像素图像,如 png、bmp 等。它会影响实际图像大小,因此将 maxWidth 设置为 3 时,您将获得最大 3 像素宽度的图像。它不受格式本身控制,就像width
html 或 Latex 中的参数一样。PUBLISH函数使用XML作为中间格式,我相信这是当前XML模式设计的问题。
对于 Latex 格式,PUBLISH 默认使用 epsc2 打印驱动程序并生成 EPS 格式的矢量图像。所以 maxWidth 被简单地忽略。如果您...'imageFormat','png',...
在发布调用中使用,您会注意到输出 png 文件的大小根据maxWidth
. 无论如何,tex 文档中图像的大小将为 4 英寸(在 maxWidth 较低的情况下图像分辨率较差),如 Latex 的默认样式表中设置的那样。
看起来没有办法改变 PUBLISH 中的这种行为。
您可以修改 xml 样式表 (matlabroot/toolbox/matlab/codetools/private/mxdoom2latex.xls)。
检查这些行:
<xsl:template match="img">
\includegraphics [width=4in]{<xsl:value-of select="@src"/>}
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
复制此文件,修改并使用选项指定新文件stylesheet
。
或者只需更改输出 .tex 文件中的宽度参数。
归档时间: |
|
查看次数: |
2068 次 |
最近记录: |