He configurado un documento para mostrar una palabra de una manera específica. También he usado el paquete times para configurar la fuente del documento como se muestra.
\documentclass[a4paper,11pt,openany,oneside]{sphinxmanual}
\usepackage[T1}{fontenc}
\usepackage[english]{babel}
\usepackage{times}
\usepackage{color}
\definecolor{myred}{RGB}{165,0,33}
\DeclareRobustCommand\accuroam{%
\usefont{OT1}{cmr}{m}{n}Accu%
\usefont{OT1}{cmss}{m}{n}\textcolor{myred}{ROAM}
}%
\begin{document}
...
\end{document}
Todo esto parece funcionar hasta que \accuroam
se encuentra el comando. Luego cambia el texto que lo sigue a cmss de peso normal (igual que ROAM en \accuroam).
¿Cómo puedo solucionar este problema para que solo se cambie la palabra y no el resto del texto?
Nota: Actualmente uso pdflatex como constructor y todavía no puedo aprovechar xelatex.
Cualquier ayuda es bien apreciada.
Respuesta1
No estoy seguro de que quieras cambiar a Computer Modern, especialmente si la fuente del documento principal es Times.
El problema es, como ya se ha dicho, que \usefont...
le dice a TeX que utilice la fuente elegida a partir de ese momento (respetando la agrupación).
Mi sugerencia es
\DeclareRobustCommand\accuroam{%
\textnormal{Accu\color{myred}\sffamily ROAM}%
}
Con \textnormal
usted elige la fuente del documento principal (en el tamaño actual); dentro de él puedes cambiar el color y la familia de fuentes; en la llave de cierre, \sffamily
finalizará su alcance.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{mathptmx}
\usepackage{color}
\definecolor{myred}{RGB}{165,0,33}
\DeclareRobustCommand\accuroam{%
\textnormal{Accu\color{myred}\sffamily ROAM}%
}
\begin{document}
We describe \accuroam{} which is a very bright idea.
\end{document}
Respuesta2
Los comandos de cambio de fuente soncambiarcomandos. Es decir, se aplican a todo el contenido siguiente hasta que se encuentre otro cambio o el grupo finalice.
Corrija el problema colocando cada fuente especial dentro de un grupo con el texto al que debe aplicar estilo. También agregué un final %
a la línea que contiene el texto rojo para evitar espacios falsos en la salida:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{mathptmx} % `times' is obsolete
\usepackage{color}
\definecolor{myred}{RGB}{165,0,33}
\DeclareRobustCommand\accuroam{%
{\usefont{OT1}{cmr}{m}{n}Accu}%
{\usefont{OT1}{cmss}{m}{n}\textcolor{myred}{ROAM}}%
}%
\begin{document}
Test\dots \accuroam{}\dots Test.
\end{document}
Tenga en cuenta también que eltimes
El paquete está obsoleto. Las alternativas más nuevas son lamathptmx
paquete o newtxtext
/ newtxmath
.
Respuesta3
No veo ninguna razón para volver a la codificación OT1 ya que de todos modos estás usando T1:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{mathptmx}% `times' is obsolete
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{color}
\definecolor{myred}{RGB}{165,0,33}
\DeclareRobustCommand\accuroam{%
{%
\fontencoding{T1}%
\fontfamily{cmr}%
\fontseries{m}%
\fontshape{n}%
\selectfont Accu%
\fontfamily{cmss}%
\selectfont\textcolor{myred}{ROAM}%
}%
}%
\begin{document}
Test\dots \accuroam{}\dots Test.
\end{document}
He utilizado los comandos de especificación de fuentes más largos (en lugar de \usefont...
) sólo para dejar claro lo que está pasando. Tenga en cuenta que el segundo interruptor solo requiere una especificación de familia porque el primer interruptor ya garantiza que la codificación, la forma y la serie sean correctas.