
Qual é o problema com esta mesa estúpida?
\begin{table}[h]
\centering{
\begin{tabular} {l l l l l l l l}
\hline
B & F & C & P & B \lor F & P \lor C & \lnot (F \land C) & \lnot (P \land B) \\ % ERROR= missing $ inserted
T & T & T & T \\
\hline
\end{tabular}
}
\end{table}
Responder1
O LaTeX é bom para compor matemática, mas não é clarividente: ele não sabe que você deseja compor alguma fórmula matemática, a menos que você diga.
Vários comandos podem ser usados apenas no modo matemático e gerar um erro ao encontrá-los fora desse modo é a melhor maneira de informar ao usuário que algo está errado.
Na verdade, o primeiro erro que surge ao compor seu código é
! Missing $ inserted.
<inserted text>
$
l.5 B & F & C & P & B \lor
F & P \lor C & \lnot (F \land C) & \lnot ...
o que significa exatamente que o TeX encontrou um comando matemático em um lugar impróprio. O autor do TeX poderia tê-lo programado para usar o modo matemático para um símbolo fora do lugar, mas isso facilmente levaria a uma composição tipográfica inadequada.
Há umgrandediferença entre
B $\lor$ F
e
$B\lor F$
conforme mostrado na imagem a seguir:
A principal diferença é o formato das letras. As letras que denotam variáveis matemáticas foram escritas em itálico durante séculos e o uso do modo matemático em toda a fórmula garante isso. Certas tradições tipográficas usam tipo vertical para variáveis maiúsculas, principalmente o francês, e é possível configurar o TeX para que siga esse estilo diferente. Em qualquer caso, você tem a garantia de que as letras serão compostas conforme desejado, independentemente do contexto, quando encontradas em uma fórmula matemática.
Qualquer bom guia do LaTeX lhe dirá quais são os comandos que o trazem para o modo matemático; existem vários, especialmente se você fizer
\usepackage{amsmath}
para carregar um pacote especializado em composição tipográfica matemática, que fornece dezenas de ambientes e comandos que resolvem muitos problemas com fórmulas matemáticas complicadas: alinhamentos multilinhas, equações divididas, matrizes, pontos, o que for.
Dito isto, qual é a melhor maneira de compor sua tabela em que todas as células devem estar no modo matemático? Fácil, use o modo matemático para tudo isso:
\begin{table}[htp] % <---- don't forget t and p
\centering
$% start math mode
\begin{array} {l l l l l l l l}
\hline
B & F & C & P & B \lor F & P \lor C & \lnot (F \land C) & \lnot (P \land B) \\
T & T & T & T \\
\hline
\end{array}
$
\end{table}
Observe que \centering
é uma declaração que não aceita argumentos: significa “durante o ambiente atual, escrita de forma centralizada”.
O array
ambiente é o análogo matemático de tabular
: deve ser emitido no modo matemático, por isso é cercado por $
sinais e todas as células usarão implicitamente o modo matemático.
Você pode querer digitar “T” (para “verdadeiro”, se bem entendi seu objetivo) em tipo vertical, para significar que não é uma variável. Você pode definir
\newcommand{\True}{\mathrm{T}}
no preâmbulo e digite a segunda linha como
\True & \True & \True & \True \\
e sua tabela resultaria em
Por que usar um comando longo em vez de uma única letra? Porque acrescentasignificadoà sua entrada. Esse “T” específico é usado com um significado muito específico (verdade lógica) que é diferente de qualquer outro uso dele. Melhor ainda, se você alterar a definição no preâmbulo para
\newcommand{\True}{\top}
uma única execução do LaTeX mudarátodosaqueles T's (e apenas aqueles que significam “verdadeiro”) para um símbolo diferente (que é freqüentemente usado por lógicos, aliás, junto com \bottom
para “falso”).
Definir macros para tarefas específicas é um dos recursos mais úteis do (La)TeX: desta forma, seu documento será o mais independente possível de um estilo específico; você não codifica uma convenção específica, portanto permanece livre para alteraruniformementesua convenção se as circunstâncias (leia um árbitro ou editor exigente, por exemplo) assim o exigirem.