&引用;出版「;至pdf
使用Matlab,我想创建一个pdf文档,总结几个实验的结果。理想情况下,每个实验我会有一页,有两个多面板图和一点文本 我认为&引用;出版「;至pdf,pdf,matlab,publish,Pdf,Matlab,Publish,使用Matlab,我想创建一个pdf文档,总结几个实验的结果。理想情况下,每个实验我会有一页,有两个多面板图和一点文本 我认为publish.m将是一个不错的选择,但是,发布到pdf不支持插入分页符,我既不能控制图形质量(这相当糟糕),也不能控制图形大小(这意味着两个图形占据整个页面),也不能将文本填充到页眉/页脚中 除此之外,我如何在Matlab中创建一个对布局有一定控制的多页pdf?MathWorks做了一个可以让您对输出进行风格化的设计-基本上,它是一个更为奇特的publish函数版本。有
publish.m
将是一个不错的选择,但是,发布到pdf不支持插入分页符,我既不能控制图形质量(这相当糟糕),也不能控制图形大小(这意味着两个图形占据整个页面),也不能将文本填充到页眉/页脚中
除此之外,我如何在Matlab中创建一个对布局有一定控制的多页pdf?MathWorks做了一个可以让您对输出进行风格化的设计-基本上,它是一个更为奇特的
publish
函数版本。有Matlab Report Generator工具箱,可以很容易地实现这一点。
当然要花点钱
您可以尝试从Matlab编写一些标记文本,然后使用其他工具将其转换为PDF。可能的转换器:
- 写出LaTeX,然后使用PdfLaTeX生成PDF
- 写出StructuredText,然后使用Python文档生成PDF
- 写出DocBookXML,然后使用任何DocBook到PDF转换器
- 写出HTML,然后用浏览器或OpenOffice将其打印为PDF
您可以为已发布的图形指定图像大小/分辨率,我认为存在插入换行符的可能性。如果您真的想控制pdf生成,请查看--您可以从MATLAB非常轻松地使用Java库。最后我使用了LaTeX,因为它提供的文档质量比我通过HTML时要高很多 不幸的是,publish.m即使在向LaTeX发布时也相当有限。例如,如果在一个循环中添加多个图形,则无法设置分页符,调整图形大小以在一个页面上精确获得N个图形是非常困难的 因此,我编写了一个函数来直接编写LaTeX文件(使用文件交换中的export_fig来保存图形),并编写了另一个函数来编译为pdf。
通过这种方式,我可以轻松生成LaTeX文件,并且我在格式化方面有很大的能力。如上所述,LaTeX是。如果您发布了方程式,您最终会发现这对于良好的输出是必要的。一旦走上这条路,下面的标记就可以很好地工作。然后我使用TexWorks将LaTeX转换为pdf。一个附带的好处(也是我走这条路的真正原因)是得到比内置pdf转换器更好看的方程。下载和安装花了一两个小时,而我正在做其他事情,它运行速度比直接使用pdf时快了一点
%%
% <latex>
% \clearpage
% </latex>
%%
%
%\clearpage
%
旁注:在Matlab2012b中,每个新方程都出现了一些我不记得的错误(方程出现了,我只是有一个错误)。当我切换到LaTeX时,这就停止了,但我需要在Matlab中指定一个偏好文件,插入这些行以获得我想要的所有等式功能
\usepackage{amsmath}
\usepackage{amssymb}
我对LaTeX或TeXworks了解不够,无法了解这些软件包在发布到pdfLaTeX+MakeIndex+BibTeX时默认使用的TeXworks中添加了哪些功能
x = -5 : 5
for i=1:3
plot(x, x .^ i );
snapnow;
disp('<latex>\clearpage</latex>')
end
并将其复制到example.m文件旁边,例如,作为custom_mxdom2latex.xsl<xsl:apply-templates select="text"/>
<xsl:apply-templates select="mcode"/>
<xsl:apply-templates select="img"/>
<xsl:apply-templates select="mcodeoutput"/>
你完成了:)是的,没有记录,很遗憾。谢谢你的建议。当然,报表生成器工具箱恰好是我无法访问的工具箱之一。不幸的是,正如我在问题中提到的,无法指定要发布到pdf的图像大小/分辨率和换行符(查看Matlab文档和服务请求证实了这一点)。我想学习足够多的LaTeX来制作一个漂亮的文档,或者使用发布到HTML来快速制作一些东西,这两者之间是一个折衷的选择。在M-File注释中使用预格式化文本(单元格>插入文本标记>预格式化文本)怎么样?它支持换行。为了能够定义图像大小,首先使用
print-dpng
命令(请参见help print
)创建一个单独的图像文件,然后将生成的文件包含在已发布的M文件中()。你可以指定选项来定义打印图像的大小。对不起,我指的是“分页符”,而不是“换行符”。该死,我刚刚被扔到MATLAB,在我与R/Swave的正面体验之后,它的报告看起来很糟糕。。。
<xsl:apply-templates select="text"/>
<xsl:apply-templates select="mcode"/>
<xsl:apply-templates select="img"/>
<xsl:apply-templates select="mcodeoutput"/>
<xsl:apply-templates select="text|mcode|img|mcodeoutput"/>
opts.format='latex';opts.stylesheet='custom_mxdom2latex.xsl'
publish('example', opts)