
Estoy intentando crear una figura en Python cuyo texto coincida (al menos estrechamente) con la fuente del modo matemático de Latex. Sin embargo, no encuentro ninguna información en línea que proporcione resultados cercanos a la fuente deseada, particularmente en los caracteres griegos. Por ejemplo, Latex produce lo siguiente:
\documentclass{article}
\usepackage{textgreek}
\begin{document}
\textit{testθτμ}
$test\theta\tau\mu$
\end{document}
Estoy intentando replicar la segunda línea de texto. Según otras respuestas en SE y la información que encontré en línea, probé las siguientes fuentes y tuve los siguientes problemas:
Computadora moderna: demasiado rizado/cursivo
Computer Modern Sans: estilo diferente, más notable en tau
New Computer Modern 10: demasiado rizado/cursivo
Nuevas matemáticas modernas informáticas: no en cursiva
Matemáticas modernas latinas: no cursiva
¿Hay algo que me falta aquí? ¿Simplemente no encuentro las variantes en cursiva de las fuentes matemáticas, o el modo matemático usa una fuente completamente diferente? Cualquier pista sería apreciada; Cualquier enlace a una descarga sería muy apreciado.
Respuesta1
Classic TeX no utilizaafuente matemática. Las fuentes sólo tienen 127 caracteres y se utilizan tantas fuentes (hasta 16) por expresión matemática. (El sistema permite 256 caracteres por fuente, pero en 1980 se consideró demasiado radical utilizar 8 bits, por lo que sólo se utiliza la mitad inferior de cada fuente)
entonces
\documentclass{article}
\showoutput
\begin{document}
$test\theta\tau\mu+1$
\end{document}
utiliza cmmi10.pfb
para test
(con las letras en posiciones ascii estándar). Utiliza la misma fuente pero las posiciones para Ctrl-R
, Ctrl-\
y Ctrl-V
para el griego y usa cmr10.pfb
para +
y 1
.
Esto hace que sea muy complicado usar fuentes matemáticas TeX de otros sistemas, incluso si pueden usar fuentes Tipo 1.
Una fuente matemática Unicode tiene todos estos caracteres en una sola fuente, en posiciones estándar, lo que hace que sea mucho más fácil de usar en otros sistemas.
Procesando con LuaLaTeX
\documentclass{article}
\usepackage{unicode-math}
\showoutput
\begin{document}
$test\theta\tau\mu+1$
\end{document}
Todos los caracteres provienen del latín Modern Math ( latinmodern-math.otf
) en espacios Unicode estándar, tenga en cuenta que la cursiva matemática esseparadocaracteres.
La cadena resultante funcionará con cualquier fuente matemática Unicode, no solo con Latin Modern.
Por ejemplo, en este sitio seleccionará cualquier fuente que haya instalado localmente (aquí utiliza el símbolo de interfaz de usuario Segoe de Windows)
Respuesta2
(demasiado largo para un comentario, por lo tanto publicado como respuesta)
En esta respuesta, me refiero principalmente a la afirmación del OP de que Latin Modern Math (LMM) "no parece tener cursiva [matemática]". Estoy desconcertado por esta afirmación. De hecho, el siguiente ejemplo, que debe compilarse con XeLaTeX o LuaLaTeX, demuestra que LMM tiene letras latinas y griegas en cursiva matemática.
Por supuesto, debe utilizar glifos en cursiva de texto en lugar de cursiva matemática si desea escribir algo en cursiva en modo texto.
El unicode-math
paquete proporciona el comando \symup
para escribir símbolos en modo vertical.
\documentclass{article}
\usepackage{unicode-math} % for '\setmathfont' macro; load 'fontspec' package automatically
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}
\begin{document}
\textit{abcxyz} $abcxzy$ $\theta\tau\mu$ abcxyz $\symup{\theta\tau\mu}$
\end{document}
Respuesta3
Esta publicación muestra otra herramienta además de las otras buenas respuestas. Lo siguiente se basa en su MWE
\documentclass{article}
\usepackage{textgreek}
\begin{document}
\textit{testθτμ}%ϑ
$test\theta\tau\mu$
\end{document}
Es posible que puedas utilizarfuentes pdfen un shell de su elección para generar una tabla de todas las fuentes del PDF (reemplacé algunas partes por [...]):
$ pdflatex Example.SE.tex; echo "\nTable for Ryan White:"; pdffonts Example.SE.pdf
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex)
[...]
Output written on Example.SE.pdf (1 page, 39405 bytes).
Transcript written on Example.SE.log.
Table for Ryan White:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
MSKRKD+CMTI10 Type 1 Builtin yes yes yes 4 0
TPJLSH+grmi1000 Type 1 Builtin yes yes yes 5 0
OIWUEJ+SFTI1000 Type 1 Custom yes yes yes 6 0
RYTSZC+CMMI10 Type 1 Builtin yes yes yes 7 0
SDXKYB+CMR10 Type 1 Builtin yes yes yes 8 0
Obtengo una tabla similar por $ latex Example.SE.tex; vipdfm Example.SE.dvi; echo "\nTable for Ryan White:"; pdffonts Example.SE.pdf
:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
BGNOPA+CMTI10 Type 1C Builtin yes yes yes 4 0
DOYMNM+grmi1000 Type 1C Builtin yes yes yes 5 0
VQMNVE+SFTI1000 Type 1C WinAnsi yes yes yes 6 0
SIZLWA+CMMI10 Type 1C Builtin yes yes yes 7 0
ZIUSPE+CMR10 Type 1C Builtin yes yes yes 8 0
Encontrará descripciones de las abreviaturas comoCMTI10(Computer Modern Italic, "más condensado y ligeramente más claro", tamaño 10 puntos) enhttps://ctan.org/tex-archive/fonts/cm/mf. Otras informaciones están disponibles enhttps://eng.m.fontke.com/font/10030505/detail/.SFTI1000aparece en SFTI1000 como "nombre de posdata" de Computer Modern.grmi1000parece ser una cursiva de laClaudio Beccari griegofuentes, ver
https://ctan.org/tex-archive/fonts/greek/cbfonts/fonts/tfm/cbgreekyhttps://ctan.org/pkg/cbgreek-complete. Si elimina \usepackage{textgreek}
y \textit{testθτμ}
de su archivo y vuelve a compilar, solo quedarán CMMI10 (Computer Modern Italic, "no condensado y no tan ligero", 10 puntos) y CMR10 (Computer Modern Italic, "básico", 10 puntos).
Por lo tanto, una respuesta precisa de un nerd a su pregunta (antes de editar) "¿Cuál es la fuente del modo matemático de Latex?" esCMMI10 (Computer Modern Italic, "no condensado y no tan ligero", 10 puntos)con respecto a la configuración mencionada anteriormente.
Observa las diferencias conLuaTeX:
$ lualatex Example.SE.tex; echo "\nTable for Ryan White:"; pdffonts Example.SE.pdf
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)
[...]
Output written on Example.SE.pdf (1 page, 12154 bytes).
Transcript written on Example.SE.log.
Table for Ryan White:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
EJJTSY+LMRoman10-Italic CID Type 0C Identity-H yes yes yes 4 0
RYTSZC+CMMI10 Type 1 Builtin yes yes no 5 0
JFRMQG+LMRoman10-Regular CID Type 0C Identity-H yes yes yes 6 0
LMRomanoes latín moderno.
Compilando
\documentclass{article}
\usepackage{textgreek}
\usepackage{unicode-math} % ADDED
\begin{document}
\textit{testθτμ}
$test\theta\tau\mu$
\end{document}
da
$ lualatex Example.SE.tex; echo "\nTable for Ryan White:"; pdffonts Example.SE.pdf
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)
[...]
Output written on Example.SE.pdf (1 page, 6180 bytes).
Transcript written on Example.SE.log.
Table for Ryan White:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
EJJTSY+LMRoman10-Italic CID Type 0C Identity-H yes yes yes 4 0
WLUBUQ+LatinModernMath-Regular CID Type 0C Identity-H yes yes yes 5 0
JFRMQG+LMRoman10-Regular CID Type 0C Identity-H yes yes yes 6 0