Problema com \tabular em booktabs

Problema com \tabular em booktabs

Eu tenho um documento mestre com os seguintes pacotes.

\documentclass[11pt,a4paper, twoside]{report}
 \usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{fancyhdr}
\usepackage{geometry}
\usepackage{upgreek}
\usepackage{tikz}%Rahmen der Titelseite
\usepackage{textpos}%Befehl \begin{textblock}
\usepackage{hyperref}
\usepackage{booktabs} %Für die schönen Tabellen
\usepackage{pdfpages}
\usepackage{siunitx}
\usepackage{url}
\geometry{a4paper,left=30mm,right=30mm, top=3cm, bottom=2cm} 
%\pagestyle{fancy}
    %\fancyhead[OR]{\chaptermark}
\usepackage{framed}
\usepackage{ftnxtra}
\usepackage{fnpos}

Não consigo fazer as seguintes linhas funcionarem:

\begin{table} 
\centering
\caption{Messwerte für die spez. Wärmekapazität des Kalorimeters}
\label{Tab:Waermekap:Kal}
\begin{tabular}{p{3cm}p{3cm}} %p{Spaltenbreite} 
\toprule
 \textbf{Parameter} & \textbf{Wert}\\
\midrule
$m_\text{Warmw.}$ & $0{,}0602$\,kg\\
$m_\text{Kaltw.}$ & $0{,}1693$\,kg\\
$m_\text{Kal}$ & $0{,}2355$\,kg\\
$T_\text{Mittel}$ & $311{,}15$\,K\\
$T_\text{Kaltw.}$ & $297{,}45$\,K\\
$T_\text{Warmw.}$ & $353{,}15$\,K\\
\bottomrule
\end{tabular} 
\end{table}

Ao tentar compilar, o TexMaker me envia o erro:

"! Falta # inserido no preâmbulo de alinhamento. &l.91 \begin{tabular}{p{3cm} p{3cm}}%p{Spaltenbreite} "

Alguém vê o erro?

Responder1

O ftnxtraparece quebrar tabular. Isso funciona sem erros.

\documentclass[11pt,a4paper, twoside]{report}
 \usepackage[utf8]{inputenc}
\usepackage[german]{babel}

\usepackage{booktabs} %Für die schönen Tabellen

\usepackage{siunitx}

%\usepackage{ftnxtra}
\usepackage{fnpos}

\begin{document}

\begin{table} 
\centering
\caption{Messwerte für die spez. Wärmekapazität des Kalorimeters}
\label{Tab:Waermekap:Kal}
\begin{tabular}{p{3cm}p{3cm}} %p{Spaltenbreite} 
\toprule
 \textbf{Parameter} & \textbf{Wert}\\
\midrule
$m_\text{Warmw.}$ & $0{,}0602$\,kg\\
$m_\text{Kaltw.}$ & $0{,}1693$\,kg\\
$m_\text{Kal}$ & $0{,}2355$\,kg\\
$T_\text{Mittel}$ & $311{,}15$\,K\\
$T_\text{Kaltw.}$ & $297{,}45$\,K\\
$T_\text{Warmw.}$ & $353{,}15$\,K\\
\bottomrule
\end{tabular} 
\end{table}

\end{document}

Responder2

O ftnxtraé incompatível com o arraypacote, que é carregado pelo siunitx. Este é um impedimento para o uso do pacote: arrayestá entre as ferramentas LaTeX “padrão” (embora seja opcional).

Vários pacotes carregam array, pois auxilia na construção de tabelas mais complexas que os tipos permitidos pelas funções do kernel.

O que acontece é que ftnxtraredefine \@tabularmas já é tarde para fazer isso, se arrayjá tiver sido carregado.

Você pode carregá-lo antes siunitxe qualquer outro pacote carregando array, mas não tenho certeza se ele fará o que afirma.

\documentclass[11pt,a4paper, twoside]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{amsmath}
\usepackage{booktabs} %Für die schönen Tabellen
\usepackage{ftnxtra}
\usepackage{siunitx}
\usepackage{fnpos}
\usepackage[
  hyperfootnotes=false,% doesn't work with fnpos and ftnxtra
]{hyperref}

\sisetup{locale=DE} % German conventions for numbers

\setlength{\textheight}{8cm} % just to minimize output

\begin{document}

\begin{table} 
\centering
\caption{Messwerte für die spez. Wärmekapazität des Kalorimeters\footnote{Xyz}}
\label{Tab:Waermekap:Kal}
\begin{tabular}{p{3cm}p{3cm}S[table-format=1.1]} %p{Spaltenbreite} 
\toprule
 \textbf{Parameter} & \textbf{Wert}\\
\midrule
$m_\text{Warmw.}$            & \SI{0,0602}{\kilo\gram} & 1.1\\
$m_\text{Kaltw.}$            & \SI{0,1693}{\kilo\gram} & 0.1\\
$m_\text{Kal}$\footnote{Abc} & \SI{0,2355}{\kilo\gram}\\
$T_\text{Mittel}$            & \SI{311,15}{\kelvin}\\
$T_\text{Kaltw.}$            & \SI{297,45}{\kelvin}\\
$T_\text{Warmw.}$            & \SI{353,15}{\kelvin}\\
\bottomrule
\end{tabular} 
\end{table}

\end{document}

Adicionei uma Scoluna apenas para teste e algumas notas de rodapé. Observe que as unidades devem ser inseridas usando \SI.

insira a descrição da imagem aqui

Algumas notas.

  1. hyperrefdeve ser carregado por último (apenas alguns pacotes precisam ser carregados depois dele)
  2. Ambos ftnxtrabrincam fnposcom notas de rodapé, para que os hiperlinks sejam quebrados; portanto, é necessário desativá-los com hyperfootnotes=false: o efeito é o mesmo, ou seja, sem hiperlinks, mas, pelo menos, você não recebe avisos irritantes.

informação relacionada