![重新定义 \LaTeX 命令](https://linux22.com/image/313002/%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%20%5CLaTeX%20%E5%91%BD%E4%BB%A4.png)
从我如何才能看到 \LaTeX 命令的“实现”?和如何书写 (La)TeX (带括号) [或任何其他与 TeX 相关的徽标],我了解到\LaTeX
实现为
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
该\kern
参数需要根据所使用的字体进行调整,正如 Knuth 在TUGboat 文章。但是,当尝试在上面的代码中更改该参数时,我收到错误! Undefined control sequence. <argument> \z
。
我怎样才能调整命令(以及命令)\kern
的值?\LaTeX
\TeX
\documentclass{article}
\renewcommand{\LaTeX}{L\kern -.20em{\sbox \z@ T\vbox to\ht \z@ {\hbox {\check@mathfonts \fontsize \sf@size \z@ \math@fontsfalse \selectfont A}\vss }}\kern -.10em\TeX}
\begin{document}
\LaTeX
\end{document}
答案1
正在使用的命令是\z@
,而不是\z
。将重新定义包装在\makeatletter
/ 中\makeatother
。
\documentclass{article}
\makeatletter
\renewcommand{\LaTeX}{L\kern -.20em{\sbox \z@ T\vbox to\ht \z@ {\hbox {\check@mathfonts \fontsize \sf@size \z@ \math@fontsfalse \selectfont A}\vss }}\kern -.10em\TeX}
\makeatother
\begin{document}
\LaTeX
\end{document}