表格标题中有脚注,但表格列表中没有

表格标题中有脚注,但表格列表中没有

我遇到了以下问题:我的表格是通过 格式化的caption[title]{long description...}。现在我需要将来源添加到其中一些表格中,作为添加到标题的脚注,如下例所示:

在此处输入图片描述

我尝试过这个:在图的 \caption 中使用 \footnote但问题是脚注也会出现在文档开头的表格列表中。

请注意,“红狐狸 - 属性”是 ,[title]其余文本是{long description},用法如下:从 scrrprt 类中的标题添加表格标题

另外,我不会对每个标题都使用脚注,因此解决方案必须灵活,提供添加脚注的选项(但不是强制性的)。

上面的格式可以吗?

寻找一种既安全又不会产生不良后果的解决方案。

梅威瑟:

\documentclass[a4paper, 12pt, headsepline, smallheadings]{scrreprt}
\usepackage[labelfont={small,bf}, textfont=small, labelsep=colon,singlelinecheck=false,format=plain, parindent=1em]{caption}
\newlength\myindention
\setlength\myindention{1em} 
\usepackage{chngcntr}
\counterwithout{table}{chapter}

\let\oldcaption\caption
\renewcommand*\caption[2][]{%
\oldcaption[#1]{#1\\\hspace*{\myindention}#2}%
}

\begin{document}

\listoftables

\chapter{Introduction}
\begin{table}[h]
\caption[title table 1]{description table 1}
\fbox{content}
\end{table}

\end{document} 

谢谢。

答案1

如果仅有的区别在于,有时您需要\footnotemark在标题末尾添加一个,您可以定义一个切换按钮(带星号的宏的泛化)+来添加它。

\documentclass{scrreprt}

\usepackage[labelfont={small,bf}, textfont=small, labelsep=colon,
    singlelinecheck=false,format=plain, parindent=1em]{caption}


\usepackage{xparse}

\newlength\myindention
\setlength\myindention{1em} 

\let\oldcaption\caption
\RenewDocumentCommand { \caption } { t{+} O{} m } {%
    \oldcaption[#2]{%
        #2%
        \IfBooleanT{#1}{\footnotemark}
        \\%
        \hspace*{\myindention}#3
    }%
}

\begin{document}

\listoftables

\chapter{Introduction}
\begin{table}[h]
\caption[title table 1]{description table 1}
\fbox{content}
\end{table}

\begin{table}[h]
\caption+[title table 2]{description table 2}
\fbox{content}
\end{table}
\footnotetext{Source.}

\end{document}

然后\caption像在 MWE 中一样工作并\caption+执行相同的操作,但\footnotemark在标题末尾添加内容(即行\IfBooleanT)。为了清楚起见:

  • 附有来源的表格:\caption+[title]{description}以及\footnotetext之后
  • 未含来源的表格:\caption[title]{description}

答案2

虽然不是很优雅,但确实有效:

\documentclass[a4paper, 12pt, headsepline, smallheadings]{scrreprt}
\usepackage[labelfont={small,bf}, textfont=small, labelsep=colon,singlelinecheck=false,format=plain, parindent=1em]{caption}
\newlength\myindention
\setlength\myindention{1em}
\usepackage{chngcntr}
\counterwithout{table}{chapter}
\usepackage{xparse}

\let\oldcaption\caption
\RenewDocumentCommand\caption{D [] {} D [] {} m}{%
  \def\tempa{}%
  \def\tempb{#1}%
  \def\tempc{#2}%
  \ifx\tempa\tempb\def\tempb{#3}\fi%
  \ifx\tempa\tempc\let\tempc\tempb\fi%
  \oldcaption[\tempb]{\tempc\\\hspace*{\myindention}#3}%
  }

\begin{document}

\listoftables

\chapter{Introduction}
\begin{table}[h]
\caption[title table 1][title table 1\footnotemark]{description table 1}
\fbox{content}
\end{table}

Anywhere on the same page where the float appears\footnotetext{blah}
but at least before the next footnote\footnote{the nextone}

\end{document}

在此处输入图片描述

我希望其他人能够提出更好的建议,因此,只有在时间紧迫的情况下我才会推荐这个!

相关内容