Мой вопрос отличается от вопросаСноска в табличной средепотому что я уже знаю, как устанавливать сноски в табличных средах. Но я не знаю, как правильно использовать две или более сносок, которые появляются вместе в одной таблице. Другой вопрос не касается этой специальной проблемы.
У меня есть этот латексный документ:
\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. Вы создаете сноски, как в обходном пути Фрэн, а через 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
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}