
Estou tentando criar uma figura em Python cujo texto corresponda (pelo menos de perto) à fonte do modo matemático do Latex. No entanto, não estou encontrando nenhuma informação on-line que forneça resultados próximos à fonte desejada, principalmente nos caracteres gregos. Por exemplo, Latex produz o seguinte:
\documentclass{article}
\usepackage{textgreek}
\begin{document}
\textit{testθτμ}
$test\theta\tau\mu$
\end{document}
Estou tentando replicar a segunda linha do texto. Com base em outras respostas sobre SE e nas informações que encontrei on-line, tentei as seguintes fontes e tive os seguintes problemas:
Computador moderno: muito encaracolado/cursivo
Computer Modern Sans: estilo diferente, mais perceptível no tau
New Computer Modern 10: muito encaracolado/cursivo
New Computer Modern Math: sem itálico
Matemática Latina Moderna: sem itálico
Há algo que estou perdendo aqui? Simplesmente não estou encontrando as variantes em itálico das fontes matemáticas ou o modo matemático está usando uma fonte totalmente diferente? Qualquer pista seria apreciada; quaisquer links para um download seriam muito apreciados.
Responder1
O TeX clássico não usaafonte matemática. As fontes têm apenas 127 caracteres e muitas (até 16) fontes por expressão matemática são usadas. (O sistema permite 256 caracteres por fonte, mas usar 8 bits foi considerado muito radical em 1980, então apenas a metade inferior de cada fonte é usada)
então
\documentclass{article}
\showoutput
\begin{document}
$test\theta\tau\mu+1$
\end{document}
usa cmmi10.pfb
for test
(com as letras em posições ascii padrão). Ele usa a mesma fonte, mas as posições para Ctrl-R
, Ctrl-\
e Ctrl-V
para o grego e usa cmr10.pfb
para +
e 1
.
Isso torna muito complicado usar fontes matemáticas TeX de outros sistemas, mesmo que eles possam usar fontes Tipo 1.
Uma fonte matemática Unicode possui todos esses caracteres em uma única fonte, em posições padrão, o que facilita muito o uso em outros sistemas.
Processando com LuaLaTeX
\documentclass{article}
\usepackage{unicode-math}
\showoutput
\begin{document}
$test\theta\tau\mu+1$
\end{document}
Todos os caracteres vêm do Latin Modern Math ( latinmodern-math.otf
) em slots Unicode padrão, observe que o itálico matemático éseparadopersonagens.
A string resultante funcionará com qualquer fonte matemática Unicode, não apenas com Latin Modern.
Por exemplo, neste site ele escolherá qualquer fonte que você instalou localmente (ele usa a fonte do Windows Segoe UI Symbol aqui)
Responder2
(muito longo para um comentário, portanto postado como resposta)
Nesta resposta, abordo principalmente a afirmação do OP de que Latin Modern Math (LMM) "não parece ter itálico [matemático]". Estou intrigado com esta afirmação. Na verdade, o exemplo a seguir, que precisa ser compilado com XeLaTeX ou LuaLaTeX, demonstra que o LMM possui letras latinas e gregas matemáticas e itálicas.
Claro, você deve usar glifos em itálico de texto em vez de itálico matemático se quiser escrever algo em itálico em modo de texto.
O unicode-math
pacote fornece o comando \symup
para escrever símbolos no 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}
Responder3
Este post mostra outra ferramenta além das outras boas respostas. O seguinte é baseado no seu MWE
\documentclass{article}
\usepackage{textgreek}
\begin{document}
\textit{testθτμ}%ϑ
$test\theta\tau\mu$
\end{document}
Você pode ser capaz de usarfontes pdfem um shell de sua preferência para gerar uma tabela com todas as fontes do PDF (substituí algumas 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
Eu recebo uma tabela semelhante 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
Você encontrará descrições das abreviaturas comoCMTI10(Computer Modern Italic, "mais condensado e um pouco mais leve", tamanho 10pt) emhttps://ctan.org/tex-archive/fonts/cm/mf. Outras informações estão disponíveis emhttps://eng.m.fontke.com/font/10030505/detail/.SFTI1000está listado no SFTI1000 como "nome pós-escrito" da Computer Modern.grmi1000parece ser um itálico doCláudio Beccari Gregofontes, veja
https://ctan.org/tex-archive/fonts/greek/cbfonts/fonts/tfm/cbgreekehttps://ctan.org/pkg/cbgreek-complete. Se você remover \usepackage{textgreek}
e \textit{testθτμ}
do seu arquivo e compilar novamente, apenas CMMI10 (Computer Modern Italic, "não condensado e não tão leve", 10pt) e CMR10 (Computer Modern Italic, "básico", 10pt) permanecerão.
Assim, uma resposta precisa de um nerd à sua pergunta (antes de uma edição) "Qual é a fonte do modo matemático do Latex?" éCMMI10 (Computer Modern Italic, "não condensado e não tão leve", 10pt)em relação à configuração mencionada acima.
Observe as diferenças paraLuaTeX:
$ 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
LMRomanoé o latim moderno.
Compilando
\documentclass{article}
\usepackage{textgreek}
\usepackage{unicode-math} % ADDED
\begin{document}
\textit{testθτμ}
$test\theta\tau\mu$
\end{document}
dá
$ 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