6

Matlab から Latex 出力を生成する際に、コマンド ウィンドウで次のコマンドを使用しました。

publish('filename.m',struct('format','latex','showCode',false,  ...
        'maxWidth',3,'outputDir','Desktop'));

生成されたラテックス ファイルのグラフィックス幅は常に 4 インチです。
maxWidth を 5、6、1000 など に変更しても、グラフィックスの幅は常に同じ 4 インチのままです。

Matlab から直接ラテックスのグラフィック幅を変更するにはどうすればよいですか?

4

1 に答える 1

2

maxWidthオプションは、png、bmp などのピクセル画像のみに影響するようです。実際の画像サイズに影響するため、maxWidth を 3 に設定すると、最大 3 ピクセル幅の画像が得られます。widthhtml や latex の引数のように、フォーマット自体によって制御されることはありません。PUBLISH 関数は XML を中間形式として使用しますが、これは現在の XML スキーマ設計の問題であると思います。

latex 形式の PUBLISH では、デフォルトで epsc2 印刷ドライバーが使用され、EPS 形式でベクター画像が生成されます。したがって、maxWidth は単純に無視されます。パブリッシュ呼び出しで使用...'imageFormat','png',...すると、出力 png ファイルのサイズが に従って変化することがわかりますmaxWidth。とにかく、ラテックスのデフォルトのスタイルシートで設定されているように、texドキュメントの画像のサイズは4インチになります(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 引数を変更するだけです。

于 2013-02-21T18:14:46.403 に答える