
У меня возникли некоторые проблемы с подписями в таблицах longtable. Я пытаюсь набрать текст для диссертации (поэтому использую класс, который не писал), и в моей школе требуется двойной интервал для основного текста, но одинарный интервал для текста подписей. Насколько я могу судить через Google, longtable форматирует свои подписи с помощью форматирования, указанного в классе. Я использую некоторые обычные таблицы и некоторые таблицы longtable, поэтому форматирование подписей в разных таблицах отличается, что выглядит странно...
Я нашел ответ на свой почти точный вопросздесьно когда я пытаюсь использовать предложенный там ответ, я получаю сообщение об ошибке, в котором говорится, что пакет "caption" не рекомендуется к использованию и не поддерживается. Этот ответ был опубликован несколько лет назад, поэтому я не совсем уверен, что изменилось с тех пор.
В любом случае, любая помощь будет оценена по достоинству! Я довольно базовый пользователь латекса, поэтому буду признателен за любые примеры, которые я могу вырезать/вставить/исправить, чтобы я мог учиться. Спасибо!
решение1
Я не знаю, какой класс документов вы используете, но, прочитав ваш вопрос, он наверняка загружает setspace
и использует \doublespacing
.
Чтобы избежать загрузки caption
пакета для настройки longtable
интервала между субтитрами, можно загрузить etoolbox
пакет и поместить в преамбулу следующую строку:
\AtBeginEnvironment{longtable}{\singlespacing}
Таким образом, у вас будет одинарный интервал внутри всех ваших longtable
s.
Обратите внимание также на строку
\setlength{\LTcapwidth}{\linewidth}
чтобы сделать longtable
подпись охватывающей всю строку
\documentclass{article}
\usepackage{longtable}
\usepackage{setspace}
\usepackage{lipsum} % just for the example
\usepackage{etoolbox}
\AtBeginEnvironment{longtable}{\singlespacing}
\setlength{\LTcapwidth}{\linewidth}
\begin{document}
\doublespacing
\lipsum[1]
\begin{table}[h]
\centering
\begin{tabular}{llll}
1 & 1 & 1 & 1\\
1 & 1 & 1 & 1
\end{tabular}
\caption{Table very very very very very very very very very very very very very long caption}
\label{table}
\end{table}
\begin{longtable}{llll}
1 & 1 & 1 & 1\\
1 & 1 & 1 & 1\\
\\
\caption{Longtable very very very very very very very very very very very very very long caption}
\label{longtable}
\end{longtable}
\lipsum[1-2]
\end{document}
Выход:
РЕДАКТИРОВАТЬ
Если вы получили какую-либо ошибку, это означает, что ваш класс документа не загружается setspace
.
В этом случае замените строку
\AtBeginEnvironment{longtable}{\singlespacing}
с
\AtBeginEnvironment{longtable}{\linespread{1}\selectfont}
и все должно быть хорошо.