多行和长表中的脚注不会打印

多行和长表中的脚注不会打印

multirow为什么当我使用环境时会打印脚注mpsupertabular,而在中则不会longtable,它如何运行?感谢您的解决方案。这里有一个例子:注释3没有打印:

% !TEX TS-program = arara   
\documentclass{scrbook}
\usepackage{supertabular}
\usepackage{longtable}  
\usepackage{multirow}

\begin{document}
\begin{center}
\tablehead{\hline}
\tabletail{\hline}
\tablecaption{mpsupertabular}
\begin{mpsupertabular}{|c|c|c|}
\multirow{2}{*}{primo\footnote{note 1}}&1&1\\*\cline{2-3}
&1&2\footnote{note 2}\\ \hline
\end{mpsupertabular}
\end{center}

\begin{longtable}{|c|c|c|}
\hline\endhead
\hline\endfoot
\multirow{2}{*}{secundo\footnote{note 3}}&2&1\\*\cline{2-3}
&2&2\footnote{note 4}\\\hline 
\caption{longtable}
\end{longtable}
\end{document}
% arara: xelatex

此外,我使用诸如\gls{}& 之类的函数以及其他通过插入脚注做出反应的函数,对于我来说,使用\footnotemark&\footnotetext是不可能的。

答案1

您可以使用包来获取带有脚注和此环境选项的adjustbox居中表格minipage

\documentclass{scrbook}
\usepackage{supertabular}
\usepackage{longtable}  
\usepackage{multirow}
\usepackage{adjustbox}

\begin{document}

\begin{center}
\tablehead{\hline}
\tabletail{\hline}
\tablecaption{mpsupertabular}
\begin{mpsupertabular}{|c|c|c|}
\multirow{2}{*}{primo\footnote{note 1}}&1&1\\*\cline{2-3}
&1&2\footnote{note 2}\\ \hline
\end{mpsupertabular}
\end{center}

%\begin{table}
%\begin{minipage}{0.5\textwidth}
%\begin{longtable}{|c|c|c|}
%\hline\endhead
%\hline\endfoot
%\multirow{2}{*}{secundo\footnote{note 3}}&2&1\\*\cline{2-3}
%&2&2\footnote{note 4}\\\hline 
%\caption{longtable}
%\end{longtable}
%\end{minipage}
%\end{table}

\begin{adjustbox}{minipage=0.5\textwidth,margin=0pt \smallskipamount,center}
\begin{longtable}{|c|c|c|}
\hline\endhead
\hline\endfoot
\multirow{2}{*}{secundo\footnote{note 3}}&2&1\\*\cline{2-3}
&2&2\footnote{note 4}\\\hline 
\caption{longtable}
\end{longtable}
\end{adjustbox}
\end{document}

在此处输入图片描述

正如您在代码中看到的,还有另一种方法可以在不使用adjustbox包的情况下获得带有脚注(注释代码)的居中表格。我建议您取消注释此代码并尝试单独运行每个示例...

我看到了您的评论,在这种情况下您可以使用footnote包和它的savebox环境......

\documentclass{scrbook}
\usepackage{supertabular}
\usepackage{longtable}  
\usepackage{multirow}
\usepackage{footnote}

\begin{document}


\begin{center}
\tablehead{\hline}
\tabletail{\hline}
\tablecaption{mpsupertabular}
\begin{mpsupertabular}{|c|c|c|}
\multirow{2}{*}{primo\footnote{note 1}}&1&1\\*\cline{2-3}
&1&2\footnote{note 2}\\ \hline
\end{mpsupertabular}
\end{center}


\begin{savenotes}
\begin{longtable}{|c|c|c|}
\hline\endhead
%\hline\endfoot
\multirow{2}{*}{secundo\footnote{note 3}}&2&1\\*\cline{2-3}
&2&2\footnote{note 4}\\\hline 
\caption{longtable}
\end{longtable}
\end{savenotes} 

\end{document}

答案2

这是我longtable使用mbenotes包的脚注方法。

笔记: mbenotes只是一个mbenotes.sty文件,您可以根据需要轻松修改其中的命令,我已在我的解决方案中完成了此操作。以下是 MWE:

% !TEX TS-program = arara
\documentclass{scrbook} \usepackage{supertabular} \usepackage{longtable} \usepackage{multirow} \usepackage{mbenotes} % to print table notes! \usepackage{alphalph} % For extended counters!
%Redefined commands from the "mbenotes.sty", as per current requirements! \renewcommand*{\thetabnote}{\alphalph{\value{tabnote}}} \renewcommand{\tabnotesize}{\rmfamily\upshape\footnotesize} \renewcommand{\maketabmark}{{\hbox{\textsuperscript{{\rmfamily\itshape\scriptsize\thetabmark}}}}} \renewcommand{\tabnoteformat}{\addtolength{\baselineskip}{-1\baselineskip}\addtolength{\parskip}{0.7ex} \leavevmode\llap{\maketabmark}} % For printing a superscript style comma between two tabnote marks! \newcommand{\cmsp}{{\hbox{\textsuperscript{\rmfamily\itshape\scriptsize,\,!}}}} % usage: \tabnotemark[3]\cmsp\tabnotemark[4]
\begin{document}
\begin{center} \tablehead{\hline} \tabletail{\hline} \tablecaption{mpsupertabular} \begin{mpsupertabular}{|c|c|c|} \multirow{2}{}{primo\footnote{note 1}}&1&1\\cline{2-3} &1&2\footnote{note 2}\ \hline \end{mpsupertabular} \end{center}
\begin{longtable}{|c|c|c|} \hline\endhead %\hline\endfoot \multirow{2}{}{secundo\tabnotemark[3]}&2&1\\cline{2-3} &2&2\tabnotemark[4]\ \hline \caption{longtable}
\tabnotetext[3]{note 3} % save note 3 \tabnotetext[4]{note 4} % save note 4 \end{longtable}
\vspace*{-2em} \noindent\rule{0.4\textwidth}{.4pt}\hfil \vspace*{-3em}
\thetabnotes[] % prints table notes!
\end{document} % arara: xelatex

输出:

在此处输入图片描述

或者,如果您同意将页面上的所有脚注打印在页脚处,则可以使用包footnote并利用其\savenotes-\spewnotes组合或savenotes环境。以下是替代解决方案的 MWE:

% !TEX TS-program = arara
\documentclass{scrbook} \usepackage{supertabular} \usepackage{longtable} \usepackage{multirow} \usepackage{footnote} % to print table notes! \begin{document}
\savenotes \begin{longtable}{|c|c|c|} \hline\endhead \hline\endfoot \multirow{2}{}{secundo\footnote{note 3}}&2&1\\cline{2-3} &2&2\footnote{note 4}\\hline \caption{longtable} \end{longtable} \spewnotes
\begin{savenotes} \begin{longtable}{|c|c|c|} \hline\endhead \hline\endfoot \multirow{2}{}{secundo\footnote{note 3}}&2&1\\cline{2-3} &2&2\footnote{note 4}\\hline \caption{longtable} \end{longtable} \end{savenotes}
\end{document} % arara: xelatex

输出:

在此处输入图片描述

希望能帮助到你! :)

相关内容