Когда я делаю это \footnote{}
для значения в таблице, сноска не отображается. Как мне заставить его появиться? Кроме того, можно ли отобразить его внизу таблицы, а не внизу страницы?
Ответы:
Это классическая сложность в LaTeX.
Проблема в том, как сделать разметку с помощью поплавков (рисунков и таблиц, аналогичные объекты) и сносок. В частности, трудно выбрать место для поплавка с уверенностью, что освобождение места для соответствующих сносок не вызовет проблем. Так что стандарт tabular
и figure
среда даже не пробуют.
Что ты можешь сделать:
\footnotesize
размер). Вы также должны сами управлять символами или числами \footnotemark
. Просто, но не очень привлекательно, и сноска не появляется внизу страницы.tabularx
, longtable
, threeparttable[x]
(престижность Иосиф ) или ctable
которые поддерживают такое поведение.[h!]
(или [H]
с пакетом float), чтобы контролировать, где будет отображаться float, и \footnotetext
на той же странице, чтобы разместить сноску там, где вы хотите. Опять же, используйте \footnotemark
для установки символа. Хрупкий и требует ручной обработки в каждом случае.footnotes
Пакет обеспечивает savenote
среду, которая может использоваться , чтобы сделать это.\ begin {рисунок} \ begin {minipage} {\ textwidth} ... \ caption [Заголовок для LOF]% {Настоящая подпись \ footnote {blah}} \ end {minipage} \ end {рисунок}
Дополнительная ссылка: TeX FAQ пункт Сноски в таблицах .
Лучший способ сделать это без головной боли - использовать
\tablefootnote
команду из tablefootnote
пакета. Добавьте в свою преамбулу следующее:
\usepackage{tablefootnote}
Он просто работает без дополнительных уловок.
Возможно, не очень элегантный метод, который, как мне кажется, является всего лишь вариантом того, что говорили некоторые другие люди, - это просто его жестко закодировать. Во многих журналах есть шаблоны, которые позволяют делать сноски к таблицам, поэтому я стараюсь делать все довольно просто. Хотя, действительно, уже есть несколько невероятных пакетов, и я думаю, что эта ветка хорошо указывает на это.
\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}
Если ваша таблица уже работает tabular
, то проще всего переключиться на нее longtable
, не забудьте добавить
\usepackage{longtable}
Например:
\begin{longtable}{ll}
2014--2015 & Something cool\footnote{first footnote} \\
2016-- & Something cooler\footnote{second footnote}
\end{longtable}
Используйте среду 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}
Вероятно, лучшее решение - взглянуть на пакеты threeparttable / threeparttablex.
Что сказал @dmckee.
Написать свой собственный код для организации очереди сносок несложно. Что вам нужно сделать:
\footnote
чтобы добавить макрос сноски в вашу очередь;Если это интересно, я покажу код, который это делает.