tao phi greek matlab latex

greek - phi symbol matlab



Fuentes de látex en matlab (7)

¿Es posible convertir la fuente de un gráfico de matlab en el mismo tipo de fuentes de látex? Por ejemplo, puedo modificar la fuente de un diagrama de la siguiente manera:

x = -pi:.1:pi; y = sin(x); plot(x,y) set(gca,''FontName'',''Helvetica'');

¿Es posible hacer lo mismo, pero para las fuentes de látex (digo fuentes de látex, ya que no estoy seguro del nombre real de la fuente que usa el látex como fuente básica).


Para cualquier objeto de texto, solo necesita configurar la propiedad ''Interpreter'' en ''latex''. Entonces, por ejemplo, podrías hacer

xlabel(''$$/int_0^x/!/int_y dF(u,v)$$'',''Interpreter'',''latex'');

Para las etiquetas de marcado es más difícil , aunque puede haber archivos disponibles para hacerlo más fácil ( ejemplo ).


Para una coincidencia verdadera de las fuentes (incluido el kerning de estilo LaTeX, ligaduras, etc.), el texto de la figura de Matlab debe componerse con LaTeX. La secuencia de comandos de impresión , que utiliza psfrag , es una forma sencilla de hacerlo.


Puede definir la fuente dentro de las cadenas de látex. Por ejemplo, para cambiar entre la fuente serif (romana) y la fuente sans serif (Helvetica, supongo):

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'')


Si su objetivo es exportar figuras de MATLAB a LaTeX y desea una apariencia uniforme (incluidas las fuentes), debe usar matlab2tikz .


Si exporta a .eps , puede editar la figura luego con un editor de texto simple e intercambiar las fuentes allí. Es un poco complicado pero funciona. También puede cambiar el interletraje de cada carácter individualmente (porque su posición está codificada allí).

También es posible cambiar la fuente de cada personaje individualmente (a veces hago esto, si necesito un símbolo de Latex (es decir, computadora moderna), pero quiero que el resto de la etiqueta en Helvetica otra vez)


Recomiendo configurar el intérprete predeterminado para LaTex al comienzo de su secuencia de comandos / función:

set(0,''defaulttextinterpreter'',''latex'')

También puede descargar una versión de Computer Modern (The LaTeX Font Family) e instalarla en su máquina. Las técnicas pueden variar si está ejecutando Windows o Mac, para Mac necesitará descargar la versión OTF y agregarla al FontBook (Cmd-Space: FontBook)

A continuación, reinicie Matlab

Finalmente, puede usar la fuente LaTeX en Matlab:

set(0,''DefaultTextFontname'', ''CMU Serif'') set(0,''DefaultAxesFontName'', ''CMU Serif'')

Este es un buen trabajo para tener fuentes constantes en sus etiquetas de tic-tac, aunque tiene algunos problemas para exportar en algunos formatos.


Descargo de responsabilidad: no soy el experto.

Sin embargo, el comando fc-list Linux enumera todas las fuentes en su sistema, creo que todas son compatibles con Matlab.

En ubuntu (y posiblemente en otras distribuciones), la fuente de látex se llama Latin Modern o lm, para abreviar. Puede encontrarlos a todos a través de:

# 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...

Entre el colon y la primera coma dice Latin Modern Roman , que es el nombre de la fuente romana de Latin Modern, también hay:

  • Latin Modern Sans
  • Gorras romanas modernas latinas
  • Mono moderno latino
  • etcétera etcétera

Creo que estas fuentes se usan cuando llamas a /textrm (roman), /textsf (serif), etc., en latex en mathmode. Por supuesto, puede encontrarlos todos a través del comando fc-list .

Para obtener la fuente de látex en tus parcelas, simplemente ejecuta:

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);

Y el resultado es agradable:

PD: Latin Modern no es exactamente lo mismo que Computer Modern, pero se parecen y no sabría cuánto difieren realmente.

En cuanto a la opción de Intérprete de Matlab, a mi leal saber y entender, no se aplica a todos los elementos textuales de una trama, como las etiquetas de hacha:

>> 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''.

Desafortunadamente, la función de print de matlab es defectuosa, ya que no puede insertar fuentes en archivos eps o pdf. Por esta razón, los archivos generados pueden tener fuentes sustituidas, incluso en el mismo sistema. Para abordar esto, esta biblioteca le permite incrustar las fuentes: http://www.mathworks.com/matlabcentral/fileexchange/23629-export-fig

Asegúrese de establecer el fondo de su figura en blanco, antes de exportarlo y tenga en cuenta que la biblioteca puede tomar mucha memoria, ya que llama a ghostscript.

Además, cambiar el intérprete parece exagerado si desea cambiar la fuente.