我的問題與問題不同表格環境中的註腳因為我已經知道如何在表格環境中設定腳註。但我不知道如何正確使用在一張表中一起出現的兩個或多個腳註。另一個問題不是處理這個特殊問題。
我有這個乳膠文件:
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\begin{document}
Text before the table\footnote{This is the 1st footnote}
\begin{tabular}{cl}
$k_B$ & Boltzmann constant\footnotemark $k_B = 1,380649 \cdot 10^{23} J/K$\\
$f$ & degrees of freedom\footnotemark \\
\end{tabular}
\footnotetext{named after Boltzmann}
\footnotetext{Another word for possibilities}
Text after the table\footnote{This is the last footnote}
\end{document}
我得到了這個身體,這還可以:
有四個帶有腳註的點,每個點都有自己獨特的編號,這是應該的。這裡一切都很好。
但我得到這些註腳:
正如您所看到的,第二個腳註(表中兩個腳註中的第一個)的編號錯誤。數字應該是 1-2-3-4,但他們是1-3-3-4。
我怎樣才能得到正確的數字?
=== 對答案的反應 ===
弗蘭發布一個答案但他的解決方案只是一個較弱的解決方法,在具有數十個腳註的較大文件中無法正常工作。
假設您正在寫一本書,帶有兩個腳註的表格位於第580 頁。希望所有腳註都是正確的即使在添加或刪除前面的腳註之後也是如此。
一個例子:
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum}
\begin{document}
\chapter*{Issue with footnotes in tables}
\lipsum[1]
% ===========================================================
% Toggle the next line
% Subsequently added text with a new footnote \footnote{additional footnote}
% ===========================================================
\lipsum[66]
Old text with a footnote\footnote{an old footnote} before the table.
\section*{Table}
\begin{tabular}{cl}
$k_B$ & Boltzmann constant\footnotemark[2]\ $k_B = 1,380649 \cdot 10^{23} J/K$\\
$f$ & degrees of freedom\footnotemark[3] \\
\end{tabular}
\addtocounter{footnote}{2}
\footnotetext[2]{named after Boltzmann}
\footnotetext[3]{Another word for possibilities}
Text immediately after the table\footnote{immediately after the table}
\lipsum[75]
Text with a footnote\footnote{This is the last footnote}
\end{document}
此程式碼產生以下輸出:
但隨後我在表格前添加了一些文字和另一個腳註:
% ===========================================================
% Toggle the next line
Subsequently added text with a new footnote \footnote{additional footnote}
% ===========================================================
我得到這個:
現在不僅頁面底部腳註中的數字是錯誤的,而且表格本身中的數字也是錯誤的。
答案1
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\begin{document}
Text before the table\footnote{This is the 1st footnote}
\begin{tabular}{cl}
$k_B$ & Boltzmann constant\footnotemark[2]\ $k_B = 1,380649 \cdot 10^{23} J/K$\\
$f$ & degrees of freedom\footnotemark[3] \\
\end{tabular}
\addtocounter{footnote}{2}
\footnotetext[2]{named after Boltzmann}
\footnotetext[3]{Another word for possibilities}
Text after the table\footnote{This is the last footnote}
\end{document}
編輯
當(1)您不在浮點數中使用它時,可以根據要求進行某種類型的自動調整,為表註釋創建一個新環境,並且(2)當然,每個表的\tablefootnotemark
s 數量相同 :\tablefootnotext
\documentclass[a6paper,twocolumn]{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum,calc,booktabs,parskip}
\newcounter{tablefootnote}
\newcommand\tablefootnotemark{\footnotemark\addtocounter{tablefootnote}{1}} %
\newenvironment{foo}%
{\edef\ntnotes{\thetablefootnote}\setcounter{footnote}%
{\value{footnote}-\value{tablefootnote}}}%
{\edef\ntnotes{\thefootnote}\setcounter{tablefootnote}{0}}
\newcommand\tablefootnotext[1]{\addtocounter{footnote}{1} \footnotetext{\texttt{[table]} #1}}
\begin{document}
\raggedright
Bla \footnote{footnote 1} bla \footnote{footnote 2} Bla, \footnote{footnote 3} before the table.
\begin{tabular}{cl}\toprule
$foo$ & bah\tablefootnotemark \\
$foo$ & bah\tablefootnotemark \\
$foo$ & bah\tablefootnotemark \\
$foo$ & bah\tablefootnotemark \\\bottomrule
\end{tabular}
\begin{foo}
\tablefootnotext{footnote 4}
\tablefootnotext{footnote 5}
\tablefootnotext{footnote 6}
\tablefootnotext{footnote 7}
\end{foo}
Bla \footnote{footnote 8} bla \footnote{footnote 9} Bla, \footnote{footnote 10} after the table.
\begin{tabular}{cl}\toprule
$foo$ & bah\tablefootnotemark \\
$foo$ & bah\tablefootnotemark \\
$foo$ & bah\tablefootnotemark \\\bottomrule
\end{tabular}
\begin{foo}
\tablefootnotext{footnote 11}
\tablefootnotext{footnote 12}
\tablefootnotext{footnote 13}
\end{foo}
Bla \footnote{footnote 14} bla \footnote{footnote 15} Bla, \footnote{footnote 16} after the second table.
\begin{tabular}{cl}\toprule
$foo$ & bah\tablefootnotemark \\
$foo$ & bah\tablefootnotemark \\\bottomrule
\end{tabular}
\begin{foo}
\tablefootnotext{footnote 17}
\tablefootnotext{footnote 18}
\end{foo}
Bla \footnote{footnote 19} bla \footnote{footnote 20} Bla, \footnote{footnote 21} after the third table.
\end{document}
答案2
腳註通常與 一起使用longtable
。看表中的註腳:
\documentclass{scrbook}
\usepackage{longtable}
\begin{document}
Text before the table\footnote{This is the 1st footnote}
\begin{longtable}{cl}
$k_B$ & Boltzmann constant\footnote{named after Boltzmann} $k_B = 1,380649 \cdot 10^{23} J/K$\\
$f$ & degrees of freedom\footnote{Another word for possibilities} \\
\end{longtable}
Text after the table\footnote{This is the last footnote}
\end{document}
或者,如果您想堅持使用該tabular
環境,請添加footnotehyper
包:
\documentclass{scrbook}
\usepackage{footnotehyper}
\begin{document}
Text before the table\footnote{This is the 1st footnote}
\begin{tabular}{cl}
$k_B$ & Boltzmann constant\footnote{named after Boltzmann} $k_B = 1,380649 \cdot 10^{23} J/K$\\
$f$ & degrees of freedom\footnote{Another word for possibilities} \\
\end{tabular}
Text after the table\footnote{This is the last footnote}
\end{document}