matlab プロットのフォントをラテックス フォントと同じに変換することは可能ですか。たとえば、次の方法でプロットのフォントを変更できます。
x = -pi:.1:pi;
y = sin(x);
plot(x,y)
set(gca,'FontName','Helvetica');
同じことをラテックスフォントで行うことは可能ですか(ラテックスが基本フォントとして使用するフォントの実際の名前がわからないため、ラテックスフォントと言います)。
ラテックス文字列内でフォントを定義できます。たとえば、セリフ フォント (Roman) とサン セリフ フォント (Helvetica だと思います) を切り替えるには、次のようにします。
text(0.5, 0.8, '\textsf{sans serif}','interpreter','latex')
text(0.5, 0.7, '\textrm{roman}','interpreter','latex')
text(0.5, 0.6, '$$\mathsf{math\,\,mode\,\,sans\,\,serif}$$','interpreter','latex')
text(0.5, 0.5, '$$\mathrm{math\,\,mode\,\,roman}$$','interpreter','latex')
免責事項: 私は専門家ではありません。
ただし、Linux のコマンドfc-list
はシステム上のすべてのフォントを一覧表示します。それらはすべて Matlab でサポートされていると思います。
ubuntu (およびおそらく他のディストリビューション) では、ラテックス フォントはLatin Modern、または略して lm と呼ばれます。それらはすべて次の方法で見つけることができます。
# fc-list | grep lmroman
/usr/share/texmf/fonts/opentype/public/lm/lmroman10-bold.otf: Latin Modern Roman,LM Roman 10:style=10 Bold,Bold
/usr/share/texmf/fonts/opentype/public/lm/lmroman7-italic.otf: Latin Modern Roman,LM Roman 7:style=7 Italic,Italic
... etc etc...
コロンと最初のコンマの間には、Latin Modern Romanのローマ字フォントの名前であるLatin Modern Roman と書かれています。
これらのフォントは、mathmode の latex で\textrm
(roman)、 (serif) などを呼び出すときに使用されると思います。\textsf
もちろん、fc-list
コマンドを使用してすべてを見つけることができます。
プロットでラテックス フォントを取得するには、次のコマンドを実行するだけです。
plot(rand(10), 'o');
xlabel('index', 'FontName', 'Latin Modern Roman', 'FontSize', 25);
ylabel('value', 'FontName', 'Latin Modern Roman', 'FontSize', 25);
set(gca, 'FontName', 'Latin Modern Roman', 'FontSize', 25);
そして結果は素晴らしいです:
PS: ラテン モダンはコンピューター モダンとまったく同じではありませんが、見た目は似ていて、実際の違いはわかりません。
Matlab の Interpreter オプションに関しては、私の知る限りでは、斧のラベルなど、プロットのすべてのテキスト要素には適用されません。
>> plot(rand(10), '.'); set(gca, 'Interpreter', 'latex');
Error using hg.axes/set
The name 'Interpreter' is not an accessible property for an instance of class 'axes'.
残念ながら、matlab のprint
機能には欠陥があり、eps ファイルや pdf ファイルにフォントを埋め込むことができません。このため、同じシステム上であっても、生成されたファイルのフォントが置換される場合があります。これに取り組むために、このライブラリではフォントを埋め込むことができます: http://www.mathworks.com/matlabcentral/fileexchange/23629-export-fig
Figure をエクスポートする前に、必ず Figure の背景を白に設定してください。また、ghostscript を呼び出すため、ライブラリが多くのメモリを消費する可能性があることに注意してください。
さらに、フォントを変更したい場合、インタープリターを変更するのはやり過ぎに思えます。
にエクスポートする.eps
場合は、後で簡単なテキスト エディターを使用して図を編集し、そこでフォントを交換することができます。少し面倒ですが、うまくいきます。各文字のカーニングを個別に変更することもできます (その位置がそこにハードコーディングされているため)。
各文字のフォントを個別に変更することもできます (Latex (つまり Computer Modern) のシンボルが必要で、残りのラベルを Helvetica で再度使用したい場合は、これを行うことがあります)。
MATLAB の Figure を LaTeX にエクスポートすることを目的としており、一貫したルック アンド フィール (フォントを含む) が必要な場合は、matlab2tikz (私がかつて開始したプロジェクト) を使用する必要があります。