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