Сноски не отображаются в makecell, используемом в longtable

Сноски не отображаются в makecell, используемом в longtable

Я использую сноску внутри makecell внутри longtable и хотя счетчик сноски отображается, текст не появляется в конце страницы. Вот MWE

\documentclass{article}

\usepackage{longtable}
\usepackage{makecell}

\title{A longtable example}

\begin{document}

\begin{center}
\begin{longtable}{|l|l|l|}
\caption{A sample long table.} \label{tab:long} \\

\hline \multicolumn{1}{|c|}{\textbf{First column}} & \multicolumn{1}{c|}{\textbf{Second column}} & \multicolumn{1}{c|}{\textbf{Third column}} \\ \hline 
\endfirsthead

One & \makecell{abcdef\footnote{Test2} \\ ghjijklmn} & 123.456778 \\

\end{longtable}
\end{center}

\end{document}

решение1

Проблема исходит от \makecell: кажется, что по какой-то причине он ведет себя как ячейки до \endheadили \endfootв длинной таблице. Обходной путь заключается, как объясняется в longtableдокументации, в использовании \footnotemark, и \footnotetextв любой другой «нормальной» ячейке, которая попадет на ту же страницу.

Поскольку вы загружаете makecell, я воспользовался возможностью упростить код для заголовков ваших столбцов, используя команду \thead. Я также добавил немного отступов для сноски с помощью команды \gape. \documentclass{article}

\usepackage{longtable}
\usepackage{makecell}
\title{A longtable example}
\renewcommand\theadfont{\normalsize\bfseries}

\begin{document}
\vspace*{12cm}

\setlength\extrarowheight{3pt}
\begin{longtable}{|l|l|l|}
\caption{A sample long table.} \label{tab:long} \\

\hline \thead{First column} & \thead{Second column} & \thead{Third column} \\ \hline
\endfirsthead

One & \makecell{abcdef\gape{\footnotemark} \\ ghjijklmn} & \footnotetext{Test2}123.456778 \footnote{Test3} \\

\hline
\end{longtable}

\end{document} 

введите описание изображения здесь

Связанный контент