
Я отчаянно ищу способ дать всем моим таблицам в документе одинаковый заголовок, который используется в списке таблиц через 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}
Выход: