从 scrrprt 类中的标题添加表格标题

从 scrrprt 类中的标题添加表格标题

我迫切希望找到一种方法,让文档中的所有表格都具有相同的标题,该标题通过 用于表格列表caption[title]{long description...}。原因是我的表格源自 R (xtable),每次我重新计算它们时,它都会使用上述确切的格式,而我无法更改这一点。所以不幸的是,我无法使用任何其他解决方案。这对我来说非常重要,因为我的文档中有很多表格。

这是 MWE。如您所见,标题缺失,只有标签可见。较长的描述中的缩进是故意的。

编辑:

我制作了一张图片来更好地说明这一点: 在此处输入图片描述

  \documentclass[a4paper, 12pt, headsepline, smallheadings]{scrreprt}
\usepackage[labelfont={small,bf}, textfont=small,   labelsep=colon,singlelinecheck=false,format=plain, parindent=1em]{caption}
\newlength\myindention
\DeclareCaptionFormat{myformat}%
{#1#2\\\hspace*{\myindention}#3}
\setlength\myindention{1em}
\captionsetup{format=myformat}

\usepackage{chngcntr}
\counterwithout{table}{chapter} 

\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}

\end{document}

感谢您的帮助。此致,汤姆。

答案1

如果您确定所有标题都具有这种格式,请在序言中添加以下几行:

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

并删除以下内容

\DeclareCaptionFormat{myformat}%
{#1#2\\\hspace*{\myindention}#3}

\captionsetup{format=myformat}

你应该实现你的愿望。

平均能量损失

\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}

\begin{table}[h]
\caption[title table 2]{description table 2}
\fbox{content}
\end{table}

\end{document} 

输出:

在此处输入图片描述

相关内容