O que tem de errado com \bf, \it, etc.?

Os comandos de seleção de fonte do LaTeX 2.09 eram \rm, \sf, \tt, \it, \sl, \em e \bf; eles eram comandos modais; então, você os usava como em:

{\bf Fred} was {\it here\/}.
com a mudança de fonte incluída em um grupo, para limitar seu efeito; note o comando de correção de itálico \/ que era necessário no fim de uma seção de itálicos.

Com o lançamento do LaTeX 2e no verão de 1994, esses comandos simples foram descontinuados, mas, por estarem enraizado nos cérebros dos usuários de LaTeX, os comandos em si ainda estão presentes no LaTeX, com suas semânticas de LaTeX 2.09. Essas semânticas são parte da razão que os levou a serem descontinuados: cada \xx se sobrepõe a quaisquer outros atributos de fonte, mantendo apenas o tamanho. Então, por exemplo,

{\bf\it Here we are again\/}
ignora \bf e produz texto em itálico, com peso médio (e a correção do itálico tem um efeito real), enquanto
{\it\bf happy as can be\/}
ignora \it e produz caracteres verticais com peso negrito (e a correção do itálico fica sem ter o que fazer). O mesmo acontece se você combinar seleções de fontes do LaTeX 2e com comandos antigos:
\textbf{\tt all good friends}
ignora o \textbf que engloba o texto e produz texto na fonte typewriter com peso médio.

Então, por que esses comandos foram descontinuados?  — é por conta de confusões como a do exemplo anterior. Os comandos alternativos (LaTeX 2e) são discutidos no restante desta resposta.

Comandos de fonte do LaTeX 2e vêm em duas formas: comandos modais e comandos de bloco de texto. A configuração padrão de comandos modais oferece os pesos \mdseries e \bfseries, as formas \upshape, \itshape, \scshape e \slshape, e as famílias \rmfamily, \sffamily e \ttfamily. Uma seleção de fonte exige uma família, uma forma e uma série ou peso (assim como um tamanho, é claro). Alguns exemplos

{\bfseries\ttfamily and jolly good company!}
produz texto com fontes typewriter em negrito (mas note a falta de uma fonte typewriter em negrito nas fontes Computer Modern), ou
{\slshape\sffamily Never mind the weather\/}
(note a correção do itálico, também necessária em fontes inclinadas).

Comandos de bloco de texto do LaTeXe[[[LBRACE]]][[[RBRACE]]] pegam as duas primeiras letras dos comandos modais e formam um comando \textxx a partir delas. Então, \bfseries becomes \textbf{text}, \itshape vira \textit{text}, e \ttfamily becomes \texttt{text}. Comandos de bloco podem ser agrupados, como em:

\textit{\textbf{Never mind the rain}}
para produzirem texto itálico em negrito (note que os comandos de bloco fornecem correções do itálico onde necessário), e eles também podem ser agrupados com comandos modais do LaTeX 2e
\texttt{\bfseries So long as we're together}
para produzirem texto typewriter em negrito, ou
{\slshape \textbf{Whoops!  she goes again}\/}
para uma instância de texto inclinado em negrito da família de fonte em uso no momento (note a correção do itálico, novamente, aplicada ao fim do grupo de comando modal).

Os novos comandos (como dito acima) ignoram comandos do mesmo tipo. Em quase todos os casos, isso meramente apaga ideias absurdas como a de fontes “verticais inclinadas”, ou fontes “teletype roman”. Apesar disso, algumas coisas estranhas acontecem logo de cara. A primeira é o conflito entre \itshape (ou \slshape) e \scshape: enquanto muitos afirmam que uma fonte versalete em itálico é tipograficamente insensata, tais fontes existem. O pacote smallcap de Daniel Taupin permite seu uso em fontes EC, e técnicas semelhantes podem ser usadas para abranger outros grupos de fontes. O segundo é o conflito entre \upshape e \itshape: Knuth oferece uma fonte vertical itálica que o LaTeX usa para o símbolo de “£” no grupo de fonte padrão. A combinação é tão estranha que, ao mesmo tempo em que há uma forma de fonte definida, não existe qualquer comando padrão do LaTeX; para usar a forma, o usuário (excêntrico) precisa dos mais simples comandos de seleção de fonte do LaTeX:

{\fontshape{ui}\selectfont Tra la la, di dee}
smallcap.sty
smallcap


Do you have any question? Ask on: latex.net.br - we love qood questions!