booktabs の \tabular に関する問題

booktabs の \tabular に関する問題

次のパッケージを含むマスター ドキュメントがあります。

\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}

次の行が機能しません:

\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}

コンパイルしようとすると、TexMaker から次のエラーが送信されます:

"! アライメントのプリアンブルに挿入された # がありません。&l.91 \begin{tabular}{p{3cm} p{3cm}}%p{Spaltenbreite} "

誰か間違いに気づきましたか?

答え1

表形式ftnxtraが壊れているようです。これはエラーなしで動作します。

\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}

答え2

は、 によってロードされる パッケージftnxtraと互換性がありません。これは、パッケージの使用を阻止します。は、 「標準」LaTeX ツールの 1 つです (オプションではありますが)。arraysiunitxarray

いくつかのパッケージは をロードしますarray。これは、カーネル関数で許可されるタイプよりも複雑なテーブルの構築に役立つためです。

何が起こるかというと、ftnxtra再定義しますが、すでにロードされている\@tabular場合は、それを実行するには遅すぎます。array

siunitx他のパッケージをロードする前にこれをロードすることはできますarrayが、それが主張どおりに動作するかどうかはわかりません。

\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}

Sテスト用に列と脚注をいくつか追加しました。単位は を使用して入力する必要があることに注意してください\SI

ここに画像の説明を入力してください

いくつか注意点があります。

  1. hyperref最後にロードする必要があります(その後にいくつかのパッケージをロードするだけで済みます)
  2. ftnxtraと はどちらもfnpos脚注を扱うため、ハイパーリンクが壊れてしまいます。そのため、 を使用して脚注を無効にする必要がありますhyperfootnotes=false。効果は同じで、ハイパーリンクは表示されませんが、少なくとも煩わしい警告は表示されなくなります。

関連情報