Frequentemente, é necessário alterar o alinhamento de uma célula p (‘parágrafo’) mas são comuns os problemas no final de uma linha da tabela. Com uma célula p que se pareça com:
é possível encontrar mensagens de erro se queixando de um... & \centering blah ... \\
\noalign
“fora de lugar” ou uma “tabulação de alinhamento” a mais ou algo parecido. O problema é que o comando \ significa coisas diferentes em circunstâncias diferentes: o ambiente tabular
muda o significado para um valor a ser usado na tabela, e
\centering
, \raggedright
e \raggedleft
mudam de significado para algo incompatível. Observe que o problema surge apenas na última célula de uma linha: como cada célula é definida em uma caixa, suas configurações são perdidas no & (ou no \ ) que a encerra.
Antigamente, o valor real de \ que o ambiente
tabular
usava estava disponível apenas como um comando interno. Hoje em dia, o valor é um comando público, e você pode, em princípio, usá-lo explicitamente:
(mas essa é uma maneira verborrágica de fazer as coisas).... & \centering blah ... \tabularnewline
O pacote array fornece um comando \arraybackslash
que restaura o \ a seu significado correto (dentro de tabelas); o comando pode ser usado nas especificações de preâmbulo referentes ao “formato de campo” do array:
\begin{tabular}{... >{\centering\arraybackslash}p{50mm}} ...
Os comandos \tabularnewline
e \arraybackslash
são adições (um tanto) modernas ao LaTeX e ao pacote array
, respectivamente. No caso improvável de que nenhum dos dois esteja disponível, o usuário pode tentar a (antiga) solução que preserva o significado de \ :
que se usa dentro de uma tabela assim:\newcommand\PBS[1]{\let\temp=\\% #1% \let\\=\temp }
ou no preâmbulo assim:... & \PBS\centering blah ... \\
\begin{tabular}{...>{\PBS\centering}p{5cm}}
This question on the Web: http://latex.net.br/faq/FAQ-tabcellalign.html
Do you have any question? Ask on: latex.net.br - we love qood questions!