2012-02-17 15 views
8

Un comando del modulo xlabel('$<stuff>$','interpreter','latex'); produce un'etichetta dell'asse che è composta da TeX utilizzando un carattere presumibilmente ComputerModern. Tuttavia, le etichette del segno di spunta (ad es. 0, 1, 2, ...) appaiono nel carattere predefinito (Helvetica?). Mi piacerebbe sincronizzare tutti i caratteri nella figura (preferibilmente su ComputerModern).MATLAB: caratteri figura

A tal fine, presumo che un comando del modulo set(0,'DefaultAxesFontName', '<fontname>') possa essere utile. Tuttavia, ho bisogno di conoscere il nome esatto o il percorso del carattere utilizzato dall'interprete TeX MATLAB. Come posso recuperare un valore di stringa per il nome del font o un percorso che punta al file di font per il carattere di figura di default e il carattere di default interpretato da TeX?

risposta

4

Si potrebbe anche tracciare l'asse zecche con il lattice, guarda qui: http://alex.bikfalvi.com/research/latex_in_matlab_ticks/

In realtà, il comando ha giustamente mget il font di default (quando non si utilizza il lattice):

get(0,'defaultaxesfontname') 

Ma io non ha trovato nessuno per ottenere il font di lattice predefinito. Forse sarebbe possibile usando le routine java interne (per avere qualche idea, guarda http://undocumentedmatlab.com/)

+0

Grazie. La funzione 'plotTickLatex2D' è eccellente. Sono costantemente sorpreso dal fatto che qualcosa di questa natura non sia incorporato di default in MATLAB. Si prega di avvisare se si trova un modo per impostare il carattere dell'etichetta del segno di spunta dell'asse per essere equivalente al carattere utilizzato dall'interprete TeX per altre parti della figura (ad es., Etichetta dell'asse). Questa sarebbe una soluzione più efficiente per i casi in cui le etichette di graduazione richiedono solo un carattere diverso e non simboli di tipo TeX, di per sé. – user001

1

Puoi download the computer modern font e installarlo sul tuo computer locale. Per Mac, è necessario scaricare il formato OTF (non sono sicuro su macchine Windows).

Poi, researt MATLAB, ed è possibile utilizzare

set(0,'DefaultAexsFontName', 'CMU Serif') 

per rendere le cose sembrano carattere lattice.

Problemi correlati