使用Matlab,我想創建一個總結幾個實驗結果的pdf文檔。理想情況下,我會爲每個實驗設置一個頁面,其中包含2個多面板數字和一些文本。「Publish」to pdf
我認爲publish.m
是要走的路,但是,發佈到pdf不支持插入分頁符,我既不能控制圖形質量(這是相當糟糕的),也不是數字大小(這意味着2個數字佔據整個頁面),我也不能將文本填充到頁眉/頁腳中。
我怎麼能創建一個多頁PDF與一些控制從Matlab內的佈局?
使用Matlab,我想創建一個總結幾個實驗結果的pdf文檔。理想情況下,我會爲每個實驗設置一個頁面,其中包含2個多面板數字和一些文本。「Publish」to pdf
我認爲publish.m
是要走的路,但是,發佈到pdf不支持插入分頁符,我既不能控制圖形質量(這是相當糟糕的),也不是數字大小(這意味着2個數字佔據整個頁面),我也不能將文本填充到頁眉/頁腳中。
我怎麼能創建一個多頁PDF與一些控制從Matlab內的佈局?
存在Matlab報告生成器工具箱,它可以很容易地做到這一點。 當然它花了一些錢。
您可以嘗試從Matlab寫出一些標記文本,然後使用其他工具將其轉換爲PDF。可能的轉換器:
如果你不想要這個,看看Matlab文檔。 您可以指定發佈圖形的圖像大小/分辨率,我認爲存在插入換行符的可能性。
MathWorks做了一個Report Generator toolbox,它允許你設置你的輸出樣式 - 基本上它是publish
函數的一個更有趣的版本。
如果你真的想要控制pdf的生成,看看iText Java PDF library - 你可以很容易地從MATLAB使用Java庫。
最後,我使用了LaTeX,因爲它提供的文檔質量遠高於通過HTML訪問的文檔。
不幸的是,即使涉及發佈到LaTeX,publish.m也相當有限。例如,如果在循環中添加多個數字,則不可能設置分頁符,並且調整圖形大小以在頁面上精確地顯示N個數字是非常困難的。
因此,我寫了一個函數來直接編寫LaTeX文件(使用export_fig從文件交換中保存數字),另一個編譯爲pdf。 通過這種方式,我可以輕鬆生成LaTeX文件,並且在格式化方面我擁有很多功能。
看一看https://github.com/Jubobs/pretty_publish – Jubobs 2014-08-07 16:45:52
對於LaTeX是的,如上所述。如果您發佈方程式,您最終會發現對於良好輸出而言必要的。一旦你走上了這條路,下面的標記效果很好。然後,我使用TexWorks將LaTeX轉換爲pdf。一個副作用(以及我走上這條路的真正原因)是要獲得比我內置的pdf轉換器更好的方程。下載和安裝需要一兩個小時,而我在做其他事情時,運行速度要比直接閱讀pdf時要快一些。
%%
% <latex>
% \clearpage
% </latex>
旁註:一些錯誤,我不記得了與在Matlab 2012B每個新方程上來(等式出現了,我只是有一個錯誤)。當我切換到LaTeX時,這停止了,但我需要一個在Matlab中指定的首選項文件,插入這些行以獲得我想要的所有等式功能。
\ usepackage {} amsmath
\ usepackage {} amssymb
我不知道有足夠的瞭解乳膠或TEXworks的知道添加到發佈到pdfLaTeX當什麼TEXworks的默認情況下使用什麼樣的能力,這些包+ MakeIndex +中文提供
這是一個陰謀文件example.m在循環中被公開:
x = -5 : 5
for i=1:3
plot(x, x .^ i);
snapnow;
disp('<latex>\clearpage</latex>')
end
從MATLAB安裝目錄
...\toolbox\matlab\codetools\private\mxdom2latex.xsl
採取抽樣XSL樣式表文件和明年將它複製到你的example.m文件,比方說,作爲custom_mxdom2latex.xsl。
查找您的自定義的.xsl文件中的以下邪惡線,破壞的輸出順序:
<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)
大功告成:)
附:是的,沒有記錄,這是一個遺憾。
謝謝您的建議。當然,報表生成器工具箱恰好是我無法訪問的那些工具箱之一。 不幸的是,這是不可能發佈到PDF指定圖像尺寸/分辨率和換行符,因爲我在這個問題提到的(看看Matlab的文檔和服務請求確認)。 我想這將是學習足夠乳膠做出一個很好的文件,或者使用發佈到HTML使一些快之間難以取捨。 – Jonas 2010-01-15 18:57:01
在M-File註釋中使用預格式化文本(單元格>插入文本標記>預格式化文本)怎麼辦?它支持換行符。 爲了能夠定義圖像的大小,第一使用'打印-dpng'命令(見'幫助print')來創建一個單獨的圖像文件,然後在您的發佈M-文件生成的文件(<>)。您可以指定選項來定義打印圖像的大小。 –
2010-01-15 20:09:49
對不起,我的意思是'分頁符',而不是'換行符'。 – Jonas 2010-02-17 03:35:36