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
输出:
希望能帮助到你! :)