Latex/Teoremas
Queremos dizer com "teorema" qualquer tipo de enunciado cuja apresentação seja feita de forma destacada do restante do texto e com numeração sequencial própria. Essa abordagem é comumente utilizada para teoremas matemáticos, mas pode ser usada para qualquer coisa. LaTeX provê um comando que permitirá facilmente a definição de qualquer enunciado de teoremas.
Básico
[editar | editar código-fonte]Primeiramente, esteja certo que você tem o pacote amsthm habilitado:
\usepackage{amsthm}
O modo mais fácil é o seguinte:
\newtheorem{name}{Saída impressa}
coloque isso no preâmbulo. O primeiro argumento é o nome que você usará como se referenciar a ele, o segundo argumento é a saída LaTeX que será impressa onde usar esse teorema. Por exemplo:
\newtheorem{mydef}{Definicão}
definirá o ambiente mydef
; se você usar dessa forma:
\begin{mydef}
Aqui é uma nova definição
\end{mydef}
Aparecerá dessa maneira:
- Definição 3 Aqui é uma nova definição
com a quebra de linha separando isso do restante do texto.
Enumeração
[editar | editar código-fonte]Frequentemente as enumerações (counters) são determinadas por seção, por exemplo "Teorema 2.3" refere-se ao terceiro teorema na segunda seção do documento. Nesse caso, especifique o teorema da seguinte forma:
\newtheorem{name}{Saída impressa}[numberby]
onde numberby é o nome do nível da seção (seção/subseção/etc.) onde a enumeração será dada.
Por padrão, cada teorema usa sua própria enumeração. Entretanto é comum para tipos similares de teoremas (e.g. Teoremas, Lemas and Corolários) compartilharem a mesma enumeração. Nesse caso, defina o teorema subsequente como:
\newtheorem{name}[counter]{Saída impressa}
onde counter é o nome da enumeração a ser usada. Geralmente será o nome do teorema geral.
O comando \newtheorem pode ter no máximo um argumento opcional.
Você também pode criar um ambiente de teorema que não é enumerado usando o comando newtheorem*
[1]. Por exemplo,
\newtheorem*{mydef}{Definição}
define o ambiente mydef
, que irá gerar definições sem enumerações. Isso requer o pacoteamsthm
.
Provas
[editar | editar código-fonte]O ambiente proof
[1] pode ser usado para adicionar prova de um teorema. O uso básico é:
\begin{proof}
Aqui vai minha prova
\end{proof}
Isso apenas adiciona Proof em itálico no início do texto dado como argumento e um quadrado branco no final do argumento (símbolo Q.E.D., também conhecido como tombstone). Se você está escrevendo em outra linguagem diferente do Inglês, deve usar babel com o argumento correto e a palavra Proof impressa será traduzida de acordo com idioma; de qualquer forma, o nome do ambiente no arquivo-fonte se mantém como proof
.
Se você gostaria de manualmente nomear a prova, inclua o nome entre colchetes:
\begin{proof}[Prova de um teorema importante]
Aqui vai a prova muito importante
\end{proof}
Se a última linha da prova é mostrada algum termo matemático então o símbolo Q.E.D. aparecerá na linha vazia subsequente. Para colocar o símbolo Q.E.D. no final da mesma linha, use o comando \qedhere
:
\begin{proof}
Aqui minha prova:
\[
a^2 + b^2 = c^2 \qedhere
\]
\end{proof}
O método acima não funciona com o ambiente depreciado eqnarray*
. Nesse caso use align*
.
Para usar um símbolo Q.E.D. personalizado, redefina o comando \qedsymbol. Para esconder completamente o símbolo Q.E.D., redefina ele para ser branco:
\renewcommand{\qedsymbol}{}
Estilos
[editar | editar código-fonte]Isso adiciona a possibilidade de alterar a saída dos ambientes definidos por \newtheorem
usando o comando \theoremstyle
[1] no cabeçalho:
\theoremstyle{stylename}
o argumento é o estilo que você deseja usar. Todos os teoremas subsequentemente definidos usarão esse estilo. Aqui está uma lista de possíveis estilos pré-definidos:
stylename | Description | Appearance |
---|---|---|
plain | Usado para teoremas, lemas, proposições, etc. (default) | Teorema 1. Texto do teorema. |
definition | Usado para definições e exemplos | Definição 2. Texto com definição. |
remark | Usado para observações e notas | Nota 3. Text com nota. |
Estilos customizados
[editar | editar código-fonte]Para definir seu próprio estilo, use o comando \newtheoremstyle
[1]:
\newtheoremstyle{stylename}% nome do estilo utilizado
{spaceabove}% medida do espaço acima do teorema. Ex.: 3pt
{spacebelow}% medida do espaço abaixo do teorema. Ex.: 3pt
{bodyfont}% nome da fonte a ser usada no corpo do teorema
{indent}% medida do espaço para identar
{headfont}% nome da fonte do título
{headpunctuation}% pontuação entre o título e o corpo do teorema
{headspace}% espaço após o título; " " = espaço normal entre palavras
{headspec}% Manualmente especifica o título
(Quaisquer argumentos que são deixados em branco serão assumidos com seus valores padrão). Aqui está um exemplo headspec:
\thmname{#1}\thmnumber{ #2}:\thmnote{ #3}
que se parecerá algo como:
Definition 2: Topologia
para o seguinte:
\begin{definition}[Topology]...
(O argumento de nota, que nesse caso é Topologia, é sempre opcional, mas não aparecerá por padrão a não ser que você especifique isso como no head spec acima).
Conflitos
[editar | editar código-fonte]O ambiente do teorema conflita com outros ambientes, por exemplo wrapfigure. Uma maneira de contornar isso é redefinir o teorema, por exemplo da seguinte maneira:
% Fix latex
\def\smallskip{\vskip\smallskipamount}
\def\medskip{\vskip\medskipamount}
\def\bigskip{\vskip\bigskipamount}
% Teorema
\newcounter{thm}[section]
\renewcommand{\thethm}{\thesection.\arabic{thm}}
\def\claim#1{\par\medskip\noindent\refstepcounter{thm}\hbox{\bf \arabic{chapter}.\arabic{section}.\arabic{thm}. #1.}
\it\ %\ignora espaços
}
\def\endclaim{
\par\medskip}
\newenvironment{thm}{\claim}{\endclaim}
Nesse caso o teorema se parecerá como isso:
\begin{thm}{Claim}\label{lyt-prob}
A apresentação do teorema.
Após as modificações.
\end{thm}