Когда я делаю \footnote{}
для значения в таблице, сноска не отображается. Как мне его показать? Кроме того, можно ли отображать его внизу таблицы, а не внизу страницы?
Сноски для таблиц в LaTeX
Ответ 1
Это классическая трудность в LaTeX.
Проблема в том, как сделать разметку с помощью поплавков (рисунков и таблиц, похожих объектов) и сносок. В частности, трудно подобрать место для размещения с уверенностью, что освобождение места для связанных сносок не вызовет проблем. Так что стандартные tabular
и figure
среды даже не пробуют.
Что ты можешь сделать:
- Притворяться. Просто поместите вертикальный пропуск в жестком коде внизу заголовка и затем напишите сноску самостоятельно (используйте размер
\footnotesize
для размера). Вы также должны сами управлять символами или нумерацией с помощью\footnotemark
. Простая, но не очень привлекательная, и сноска не появляется внизу страницы. - Используйте
tabularx
,longtable
,threeparttable[x]
(слава Джозефу) илиctable
которые поддерживают это поведение. - Управляйте этим вручную. Используйте
[h!]
(Или[H]
с пакетом поплавка), чтобы указать, где будет появляться поплавок, и\footnotetext
на той же странице, чтобы разместить сноску там, где вы хотите. Снова используйте\footnotemark
чтобы установить символ. Хрупкий и требует ручной обработки каждого экземпляра. - Пакет
footnotes
обеспечивает средуsavenote
, которая может быть использована для этого. - Мини-страница (код украден прямо, и прочитайте выражение об отказе от длинных текстов заголовка в этом случае):
\begin{figure} \begin{minipage}{\textwidth} ... \caption[Caption for LOF]% {Real caption\footnote{blah}} \end{minipage} \end{figure}
Дополнительная справка: TeX FAQ пункт Сноски в таблицах.
Ответ 2
Лучший способ сделать это без головной боли - использовать команду \tablefootnote
из пакета tablefootnote
. Добавьте в свою преамбулу следующее:
\usepackage{tablefootnote}
Это просто работает без необходимости дополнительных хитростей.
Ответ 3
Если ваша таблица уже работает с tabular
, то проще всего переключить ее на longtable
, не забывая добавлять
\usepackage{longtable}
Например:
\begin{longtable}{ll}
2014--2015 & Something cool\footnote{first footnote} \\
2016-- & Something cooler\footnote{second footnote}
\end{longtable}
Ответ 4
Используйте среду minipage. Вот пример:
\begin{minipage}{6cm}
\begin{tabular}{|l|c|c|}
\hline
A & 1 & 2 \footnote{This is a footnote.} \\
\hline
B & 2 & 1 \\
\hline
C & 3 & 3 \\
\hline
\end{tabular}
\end{minipage}
Ответ 5
Возможно, не такой элегантный метод, который, я думаю, является лишь вариацией того, что говорили другие, заключается в том, чтобы просто жестко его кодировать. Во многих журналах есть шаблон, который каким-то образом допускает сноски к таблицам, поэтому я стараюсь держать вещи довольно простыми. Хотя на самом деле уже есть несколько невероятных пакетов, и я думаю, что этот поток хорошо справляется с этой задачей.
\documentclass{article}
\begin{document}
\begin{table}[!th]
\renewcommand{\arraystretch}{1.3} % adds row cushion
\caption{Data, level$^a$, and sources$^b$}
\vspace{4mm}
\centering
\begin{tabular}{|l|l|c|c|}
\hline
\textbf{Data} & \textbf{Description} & \textbf{Level} & \textbf{Source} \\
\hline
\hline
Data1 & Description. . . . . . . . . . . . . . . . . . & cnty & USGS \\
\hline
Data2 & Description. . . . . . . . . . . . . . . . . . & MSA & USGS \\
\hline
Data3 & Description. . . . . . . . . . . . . . . . . . & cnty & Census \\
\hline
\end{tabular}
\end{table}
\footnotesize{$^a$ The smallest spatial unit is county, $^b$ more details in appendix A}\\
\end{document}
Ответ 6
Наверное, лучшим решением является просмотр пакетов threeparttable/threeparttablex.
Ответ 7
В таблицах я использовал\footnotetext.
Ответ 8
\begin{figure}[H]
\centering
{\includegraphics[width=1.0\textwidth]{image}}
\caption{captiontext\protect\footnotemark}
\label{fig:}
\end{figure}
\footnotetext{Footnotetext}
Ответ 9
Что сказал @dmckee.
Не сложно написать свой собственный код очереди для заказа на заказ. Что вам нужно сделать:
- Введите код в очередь Latex code — как крючок в emacs: очень стандартная техника, если не каждый лакейский хакер может на самом деле сделать это правильно;
- Временно переопределить
\footnote
, чтобы добавить макрос сноски в очередь; - Убедитесь, что hook вызывается, когда таблица/фигура завершается, и мы возвращаемся в обычный вертикальный режим.
Если это интересно, я показываю код, который делает это.