5

Matlabを使用して、いくつかの実験の結果を要約したpdfドキュメントを作成したいと思います。理想的には、2つのマルチパネル図と少しのテキストを使用して、実験ごとに1ページを作成します。

それが道だと思いましたpublish.mが、pdfへの公開はページ分割の挿入をサポートしておらず、図の品質(かなり悪い)も図のサイズ(2つの図が占めることを意味します)も制御できませんページ全体)、またはテキストをヘッダー/フッターに詰め込むこともできません。

Matlab内からレイアウトをある程度制御できるマルチページPDFを他にどのように作成できますか?

4

6 に答える 6

5

Matlab ReportGeneratorToolboxがあります。これは非常に簡単に実行できます。もちろん、いくらかのお金がかかります。

Matlabからマークアップテキストを書き出してから、他のツールを使用してPDFに変換することができます。可能なコンバーター:

  • LaTeXを書き出し、PdfLaTeXを使用してPDFを生成します
  • reStructuredTextを書き出し、Pythondocutilsを使用してPDFを生成します
  • DocBook XMLを書き出してから、任意のDocBookからPDFへのコンバーターを使用します
  • HTMLを書き出してから、ブラウザまたはOpenOfficeでPDFに印刷します。

これが必要ない場合は、Matlabのドキュメントを参照してください。公開されている図の画像サイズ/解像度を指定することができ、改行を挿入する可能性があると思います。

于 2010-01-15T14:01:27.170 に答える
1

本当にPDF生成を制御したい場合は、iTextJavaPDFライブラリを見てください。MATLABからJavaライブラリをかなり簡単に使用できます。

于 2010-01-18T17:14:11.700 に答える
1
  1. 公開されるループ内のプロットを含むexample.mファイルを次に示します。

    x = -5 : 5
    for i=1:3
      plot(x, x .^ i );
      snapnow;
      disp('<latex>\clearpage</latex>')
    end
    
  2. MATLABインストールディレクトリからサンプルのxsl-stylesheetファイルを取得します

    ...\toolbox\matlab\codetools\private\mxdom2latex.xsl
    

    たとえば、example.mファイルの横にcustom_mxdom2latex.xslとしてコピーします。

  3. カスタム.xslファイルで、出力の順序を破壊する次の悪意のある行を見つけます。

    <xsl:apply-templates select="text"/>
    <xsl:apply-templates select="mcode"/>
    <xsl:apply-templates select="img"/>
    <xsl:apply-templates select="mcodeoutput"/>
    
  4. 行を次のように置き換えます。

    <xsl:apply-templates select="text|mcode|img|mcodeoutput"/>
    
  5. 公開:

    opts.format='latex';opts.stylesheet='custom_mxdom2latex.xsl'
    publish('example', opts)
    

    完了です:)

PSうん、文書化されていない、それは残念だ。

于 2013-06-03T15:51:00.727 に答える
0

MathWorksは、出力のスタイルを設定できるレポートジェネレータツールボックスpublishを実行します。基本的には、関数のより洗練されたバージョンです。

于 2010-01-15T13:59:12.073 に答える
0

結局、私はLaTeXを使用しました。これは、HTMLを使用する場合よりもはるかに高品質のドキュメントを提供するためです。

残念ながら、LaTeXへの公開に関しても、publish.mはかなり制限されています。たとえば、ループ内に複数の図を追加する場合、ページ分割を設定することはできず、ページに正確にN個の図を表示するように図のサイズを調整することは非常に困難です。

そのため、LaTeXファイルを直接書き込む関数(ファイル交換からのexport_figを使用して図を保存する)と、pdfにコンパイルする関数を作成しました。このようにして、LaTeXファイルを簡単に生成でき、フォーマットに対して多くの力を持っています。

于 2010-02-17T03:36:52.907 に答える
0

上記のようにLaTeXにはい。方程式を公開すると、とにかく最終的には素晴らしい出力に必要であることがわかります。そのパスに進むと、次のマークアップが適切に機能します。次に、TexWorksを使用してLaTeXをPDFに変換します。副次的な利点(そして私がこの道を進んだ本当の理由)は、組み込みのpdfコンバーターで得られるよりも見栄えの良い方程式を得ることでした。私が他のことをしている間、ダウンロードとインストールは1、2時間かかりました、そしてそれはpdfに直接行くときより少し速く走ります。

%% 
% <latex>
% \clearpage
% </latex>

補足:Matlab 2012bで新しい方程式が作成されるたびに、思い出せないエラーが発生しました(方程式が表示されましたが、エラーが発生しました)。LaTeXに切り替えると、これは停止しましたが、必要なすべての方程式機能を取得するには、これらの行を挿入したMatlabで指定された設定ファイルが必要でした。

\ usepackage {amsmath}

\ usepackage {amssymb}

LaTeXまたはTeXworksについて、これらのパッケージがpdfLaTeX + MakeIndex+BibTeXに公開するときにデフォルトでTeXworksが使用する機能に追加された機能を知るのに十分な知識がありません。

于 2013-03-19T18:12:39.883 に答える