我有一个包含以下包的主文档。
\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 工具之一(尽管是可选的)。array
siunitx
array
加载几个包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
。
几点说明。
hyperref
应该最后加载(只有少数包需要在其后加载)ftnxtra
和都fnpos
使用脚注,所以超链接会中断;因此有必要用 禁用它们hyperfootnotes=false
:效果是一样的,也就是没有超链接,但是,至少,您不会收到烦人的警告。