\@
e @ em nomes de macro
Nomes de macros contendo @ são para uso interno do LaTeX e, sem tratamento especial, não funcionam em utilização normal. Um bom exemplo dos problemas causados é discutido em
\@
no modo vertical”.
Os problemas que os usuários veem são causados quando se cópia partes de uma classe (arquivo cls
) ou de um pacote (arquivo sty
) para um documento, ou quando se inclui um arquivo de classe ou de pacote em um documento LaTeX por algum outro meio que não seja
\documentclass
ou \usepackage
. O LaTeX define comandos internos cujos nomes contêm o caractere @ para evitar conflitos entre seus nomes internos e nomes que normalmente utilizamos em nossos documentos. Para que esses comandos funcionem, \documentclass
e \usepackage
jogam com o significado de @.
Se você incluiu um arquivo de outra maneira (por exemplo, usando
\input
), você provavelmente pode resolver o problema usando o comando correto.
Se você estiver usando um fragmento de um pacote ou de uma classe, você pode se sentir confuso: livros, tais como a primeira edição do The LaTeX Companion, estão cheios de fragmentos de pacotes como exemplos para você empregar. A segunda edição do Companion torna mais claro como você deve usar esses fragmentos; além disso, o código de todos os exemplos está disponível no CTAN. Para ver a técnica na prática, veja o exemplo abaixo, do arquivo 2-2-7.ltx no diretório de exemplos do Companion:
(Esse exemplo aparece na página 29 de The LaTeX Companion, segunda edição.)\makeatletter \renewcommand\subsection{\@startsection {subsection}{2}{0mm}%name, level, indent {-\baselineskip}% beforeskip {0.5\baselineskip}% afterskip {\normalfont\normalsize\itshape}}% style \makeatother
A alternativa é tratar todos esses fragmentos como um pacote, agrupando-os em um arquivo sty
e incluindo-os com
\usepackage
; dessa forma, você esconde o código interno de seu LaTeX em algum lugar esperado, o que, frequentemente, parece ‘mais arrumado’.
This answer last edited: 2011-06-01
This question on the Web: http://latex.net.br/faq/FAQ-atsigns.html
Do you have any question? Ask on: latex.net.br - we love qood questions!