私の質問は質問と異なります表形式環境の脚注なぜなら、表形式で脚注を設定する方法は既に知っているからです。しかし、1 つの表に一緒に表示される 2 つ以上の脚注を正しく使用する方法がわかりません。もう 1 つの質問は、この特別な問題を扱うものではありません。
次のような LaTeX ドキュメントがあります:
\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}
このボディを入手しました。問題ありません。
脚注のあるポイントが 4 つあり、それぞれに固有の番号が付けられています。これは当然のことです。ここではすべて問題ありません。
しかし、次のような脚注があります:
ご覧のとおり、2番目の脚注(表内の2つの脚注のうちの最初の脚注)の番号が間違っています。番号は1~2-3-4ですが、1です-3-3-4.
正しい数字を取得するにはどうすればいいですか?
=== 回答に対する反応 ===
フランが投稿答えしかし、彼の解決策は単なる弱い回避策であり、数十の脚注を含む大きな文書では適切に機能しません。
本を書いていて、2 つの脚注がある表が 580 ページにあるとします。Fran の回避策のように脚注を作成し、3 か月後に別の脚注がある別のテキストを 215 ページに追加します。先行する脚注を追加または削除した後でも、すべての脚注が正しいことを望みます。
例:
\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
同じである 場合に、テーブル ノートの新しい環境を作成する\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}