O que os comandos dentro do logotipo do \LaTeX fazem?

O que os comandos dentro do logotipo do \LaTeX fazem?

Estou tentando digitar uma palavra de maneira semelhante ao \LaTeXlogotipo. Encontrei o código do logotipo (fornecido abaixo no MWE), mas ele usa muitos comandos que nunca vi antes, como \z@(que de acordo com uma pesquisa no Google é zero?) e uma sintaxe estranha ( T\vbox to \ht) que estou não estou acostumado.

Estou tentando entender cada etapa do comando, inclusive a sintaxe, e por que isso é feito dessa forma.

Um MWE se alguém sentir necessidade de brincar com o código:

\documentclass{standalone}
\begin{document}
\makeatletter
    L\kern -.36em{\sbox \z@ T\vbox to\ht \z@ {\hbox {\check@mathfonts \fontsize \sf@size \z@ \math@fontsfalse \selectfont A}\vss }}\kern -.15em\TeX
\makeatother
\end{document}

Responder1

\makeatletter %% access private macros
L%% print an L
\kern -.36em%% add a negative kern
{%% open a group
  \sbox \z@ T%% load box 0 with a T
  \vbox to\ht \z@ {%% start a vertical box as high as box 0
    \hbox {% start a horizontal box
      \check@mathfonts%% ensure the math fonts sizes are set up at the current font size
      \fontsize \sf@size \z@%% use the established font size for sub/superscripts
      \math@fontsfalse%% don't bother setting up all the math fonts for the new current size
      \selectfont%% select the font
      A%% print an A
    }%% finish the horizontal box
    \vss%% fill up the stated height
  }%% finish the \vbox
}%% end the group
\kern -.15em%% add a negative kern
\TeX%% print the TeX logo
\makeatother%% no more private macros allowed

Algumas notas.

\sbox\z@ Té completamente equivalente a \sbox{0}{T}; o código é reduzido ao número mínimo de tokens porque na época em que o LaTeX2e estava sendo desenvolvido a memória do computador era muito escassa. O código armazenado na definição de \LaTeXé de três tokens, enquanto \sbox{0}{T}possui sete.

O que são a \vboxe an \hboxpode ser encontrado no TeX por Tópico (disponível gratuitamente em qualquer distribuição TeX como texdoc texbytopicou no CTAN).

\check@mathfontsgarante que as fontes matemáticas estejam configuradas para o tamanho atual; normalmente isso só é feito quando uma fórmula matemática é iniciada. Este comando, em particular, define \sf@sizeo tamanho da fonte para sub/sobrescritos de primeiro nível. A macro \selectfontconfigura a fonte atual; com \math@fontsfalsedizemos para não fazer o trabalho necessário para configurar também as fontes matemáticas, porque queremos apenas imprimir um A no tamanho solicitado, não para compor texto arbitrário com matemática.

\vssé o mesmo que \vspace{0pt plus 1fil minus 1fil}, portanto, é um espaço infinitamente extensível e encolhível, que empurrará o \hboxque contém o A nivelado com o topo do \vbox. Assim, o topo do A estará na mesma altura da barra superior do T (e provavelmente também do topo do L).

A \kerné algo parecido com \hspace, mas não é extensível nem encolhível. Nestes locais é preferido porque não pode ser usado como ponto de quebra de linha (a menos que seja seguido por um salto).

A definição de \TeXé mais simples: o E é deslocado para baixo e alguns kerns são aplicados.


Como Barbara observa nos comentários, esta definição é estudada com muito cuidado para as fontes Computer Modern. Outras fontes podem dar um resultado não tão bom. O metalogopacote tenta “abstrair” os espaçamentos, para que o logotipo possa ser adaptado a outras fontes com o mínimo de complicações (mas são necessárias algumas tentativas para acertar os parâmetros).

informação relacionada