Utilice una fuente matemática personalizada solo en partes de un documento

Utilice una fuente matemática personalizada solo en partes de un documento

Muy parecido aestepregunta Me gustaría tener una fuente matemática sans serif diferente en (pequeñas) partes de mi documento. Como lo sugiereesteResponda a dicha pregunta, esto se puede lograr usando \DeclareMathAlphabetlas fuentes Computer Modern de la siguiente manera.

\documentclass{article}

\DeclareMathVersion{sans}
\SetSymbolFont{operators}{sans}{OT1}{cmbr}{m}{n}
\SetSymbolFont{letters}{sans}{OML}{cmbrm}{m}{it}
\SetSymbolFont{symbols}{sans}{OMS}{cmbrs}{m}{n}
\SetMathAlphabet{\mathit}{sans}{OT1}{cmbr}{m}{sl}
\SetMathAlphabet{\mathbf}{sans}{OT1}{cmbr}{bx}{n}
\SetMathAlphabet{\mathtt}{sans}{OT1}{cmtl}{m}{n}
\SetSymbolFont{largesymbols}{sans}{OMX}{iwona}{m}{n}

\begin{document}

1234 CQ $1234 CQ$

\sffamily\mathversion{sans}
1234 CQ $1234 CQ$

\end{document}

Ejemplo moderno de computadora


Sin embargo, en mi documento, me gustaría utilizar Roboto como fuente sans serif. Hacerlo da como resultado diferencias notables entre el documento y la fuente matemática.

\documentclass{article}

\usepackage[light,medium]{roboto}

\DeclareMathVersion{sans}
\SetSymbolFont{operators}{sans}{OT1}{cmbr}{m}{n}
\SetSymbolFont{letters}{sans}{OML}{cmbrm}{m}{it}
\SetSymbolFont{symbols}{sans}{OMS}{cmbrs}{m}{n}
\SetMathAlphabet{\mathit}{sans}{OT1}{cmbr}{m}{sl}
\SetMathAlphabet{\mathbf}{sans}{OT1}{cmbr}{bx}{n}
\SetMathAlphabet{\mathtt}{sans}{OT1}{cmtl}{m}{n}
\SetSymbolFont{largesymbols}{sans}{OMX}{iwona}{m}{n}

\begin{document}

1234 CQ $1234 CQ$

\sffamily\mathversion{sans}
1234 CQ $1234 CQ$

\end{document}

Ejemplo de robot 1

Tenga en cuenta, por ejemplo, las diferentes formas del dígito 1 o la letra Q. Obviamente, me gustaría que la fuente matemática y la fuente sans serif del documento sean lo más similares posible. Ciertamente, esto no funcionará (fácilmente) para símbolos especiales, pero obtener números, letras e idealmente letras griegas de la fuente Roboto ya sería genial.


Cambiando el primero \SetSymbolFont, ya puedo acercarme un paso más.

\documentclass{article}

\usepackage[light,medium]{roboto}

\DeclareMathVersion{sans}
\SetSymbolFont{operators}{sans}{OT1}{Roboto-LF}{l}{n}
\SetSymbolFont{letters}{sans}{OML}{cmbrm}{m}{it}
\SetSymbolFont{symbols}{sans}{OMS}{cmbrs}{m}{n}
\SetMathAlphabet{\mathit}{sans}{OT1}{cmbr}{m}{sl}
\SetMathAlphabet{\mathbf}{sans}{OT1}{cmbr}{bx}{n}
\SetMathAlphabet{\mathtt}{sans}{OT1}{cmtl}{m}{n}
\SetSymbolFont{largesymbols}{sans}{OMX}{iwona}{m}{n}

\begin{document}

1234 CQ $1234 CQ$

\sffamily\mathversion{sans}
1234 CQ $1234 CQ$

\end{document}

Ejemplo de robot 2

Ahora elnúmerosson de la fuente correcta! Sin embargo , intentar el mismo enfoque para el segundo \SetSymbolFontfalla.

\SetSymbolFont{letters}{sans}{OML}{Roboto-LF}{l}{it}

resultados en

LaTeX Font Warning: Font shape `OML/Roboto-LF/l/it' undefined
(Font)              using `OML/cmm/m/it' instead on input line 19.

y la fuente que falta es evidente en el resultado.

Ejemplo de robot 3

¿Hay alguna manera de que también pueda obtener letras (y letras griegas) en la fuente correcta?


En caso de que haya enfoques tanto con pdflatexcomo xelatex/ lualatex, me interesaría principalmente pdflatex, ya que también estoy usando el microtypepaquete, que es bien sabido que no es totalmente compatible con xelatex/ lualatex. Sin embargo , si este último puede hacer la cosa, pero pdflatexno puede, todavía puedo considerar la posibilidad de deshacerme microtype.

información relacionada