
El breve ejemplo siguiente muestra que \bfseries
tiene su efecto, pero se superpone al \em
efecto de . Si \rmfamily
simplemente significa "no añadir nada", eso también explica por qué básicamente no tiene ningún efecto. Sin embargo, tengo curiosidad por saber si hay una declaración \un-em
/ \remove-previous-declarations
o algo así.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Hello, \em my name \bfseries is Enrico. \rmfamily And now what?
\end{document}
Sé que puedo limitar el texto enfatizado usando el \emph
comando en lugar de la \em
declaración, pero tengo curiosidad por saberlo.
Respuesta1
Puede utilizar \emreset
para cancelar el efecto de \em
y normalfont
o \mdseries
para cancelar el efecto de \bfseries
.
\documentclass{article}
\begin{document}
Hello, \em my name \emreset\bfseries is Enrico. \normalfont And now what?
\end{document}
O puede utilizarlo {}
para limitar el alcance efectivo.
\documentclass{article}
\begin{document}
Hello, {\em my name} {\bfseries is Enrico.} And now what?
\end{document}
O simplemente use TextFontCommand con parámetro.
\documentclass{article}
\begin{document}
Hello, \emph{my name} \textbf{is Enrico.} And now what?
\end{document}
Respuesta2
La acción de \rmfamily
no es “no hacer nada”.
En el modelo NFSS, adoptado por LaTeX alrededor de 1994, las fuentes se caracterizan por cuatro atributos independientes:
- codificación
- familia
- forma
- serie
a lo que podríamos añadir el tamaño. Estos atributos son independientes entre sí. La codificación es un poco peculiar y no la abordaré.
Hay algunos comandos predefinidos que cambian un atributo a la vez:
\rmfamily
,\sffamily
,\ttfamily
\upshape
,\itshape
,\scshape
,\slshape
\mdseries
,\bfseries
Los paquetes de fuentes que admiten fuentes más ricas pueden definir otros comandos para formas y series.
También hay otra declaración "abstracta", a saber \em
, que solía definirse como "si la fuente actual no está inclinada, hazlo \itshape
, en caso contrario hazlo" \upshape
. El significado se cambió recientemente para admitir una serie de comandos, en el sentido de poder especificar de manera diferente qué “énfasis dentro del énfasis” se realiza. No compliquemos las cosas, que tu ejemplo es fácil.
Suponiendo que comienzas con \normalfont
, obtienes
Hola, <rmfamily/itshape/mdseries>mi nombre <rmfamily/itshape/bfseries>es Enrico. <rmfamily/itshape/bfseries>¿Y ahora qué?
El último \rmfamily
comando no hace nada, porque la familia ya estaba \rmfamily
: nunca cambiaste de familia, ¿verdad?
No hay ningún comando que "deshaga el último cambio", porque esto no tiene sentido en el modelo NFSS: los comandos enumerados anteriormente nunca deben usarse en el documento, a menos que seandentro de un grupo. Por regla general de TeX, un grupo limita el alcance de una selección de fuente, por lo que cuando haces algo como
{\em text}
la elección de fuente realizada por \em
desaparece y la fuente vuelve a ser la vigente cuando se inició el grupo.
Generalmente, prefiero \itshape text
si quiero cursiva en una celda de alineación, porque \textit{text}
haría que LaTeX girara más ruedas sin obtener ganancia.
¡Sí! Los comandos enumerados anteriormente tienen una contraparte de comando con argumento:
\textrm
,\textsf
,\texttt
\textup
,\textit
,\textsc
,\textsl
\textmd
,\textbf
\emph
El último es “abstracto” y la fuente que elige depende del contexto, al igual que \em
. Tales comandosson preferiblespara cambiar la fuente en el texto corriente: use \emph{my name is Enrico}
en lugar de {\em my ...}
, porque \emph
también se encarga de la corrección de cursiva que podría ser necesaria antes o después del cambio de fuente.
¿Qué haces si quieres que el énfasis interior se realice como negrita ascendente? Declaras en el preámbulo del documento algo como
\DeclareEmphSequence{\itshape,\upshape\bfseries,\itshape\bfseries}
Ejemplo.
\documentclass{article}
\DeclareEmphSequence{\itshape,\upshape\bfseries,\itshape\bfseries}
\begin{document}
Hello, \emph{my name \emph{is Enrico.}} And now what?
\emph{Hello, \emph{my name \emph{is Enrico.} And} now} what?
\end{document}
En el segundo ejemplo (artificial), verá que los atributos se revierten uno por uno a medida que finalizan los distintos grupos anidados.