в\documentclass{tufte-book}
Обычный заголовок для главы будет таким:
\chapter{6}
и т. д. Но как мне сделать так, чтобы номер главы отображался как автоматический счетчик, без необходимости заполнять этот фактический номер. Я знаю, что у этой главы уже есть счетчик, связанный с ней, но если вы просто оставите скобки пустыми, то, очевидно, номер главы не будет напечатан.
(Я перемещаю главы, поэтому хочу, чтобы счетчик отображался без необходимости менять всю строку номеров глав каждый раз, когда глава разбивается на части. Насколько я понимаю, я не могу поместить команду в скобки, например
\chapter{\counter}
решение1
Редактировать после комментария @DavidCarlisle о refstepcounter:
\newcounter{mychapter}
\newcommand{\aasc}{\refstepcounter{mychapter}\let\newtitle\themychapter}
\newcommand{\mychapter}[1]
{%
\aasc%
\ifnum\pdfstrcmp{#1}{}=0
\chapter{\newtitle.}%
\else
\chapter{\newtitle.\space #1}%
\fi
}
Теперь работает с метками и ссылками... Спасибо @DavidCarlisle...
СтарыйОтвет
Попробуйте в преамбуле следующее:
\newcommand{\aasc}{\addtocounter{chapter}{1}\let\newtitle\thechapter}
\newcommand{\mychapter}[1]
{
\aasc
\ifnum\pdfstrcmp{#1}{}=0
\chapter{\newtitle.}
\else
\chapter{\newtitle.\space #1}
\fi
}
Это работает для пустых и непустых глав... но пустые не должны содержать даже пробела...
решение2
Аргументом к этому \chapter
являетсязаголовокне номер. Как и в большинстве классов, главы нумеруются автоматически.
Хотя класс tufte отключает нумерацию разделов по умолчанию как часть своего стиля, вы можете разрешить нумерацию глав и разделов, установив
\setcounter{secnumdepth}{2}
Однако дизайн на самом деле основан на ненумерованных заголовках, поэтому альтернативой было бы использование класса, разработанного для нумерованных заголовков. Однако с помощью строки выше вы получаете
\documentclass{tufte-book}
\setcounter{secnumdepth}{2}
\begin{document}
\mainmatter
\chapter{Intro}
\section{zzzz}
zzzz
\chapter{Something}
\section{zzzz}
zzzz
\end{document}
решение3
Используйте пакет cleveref
и в преамбуле вы можете настроить ссылки по своему желанию. Для меня я использую следующую настройку для глав:
\crefname{chapter}{Chapter}{Chapters}
\Crefname{chapter}{Chapter}{Chapters}
\crefformat{chapter}{Chapter #1}
\crefrangeformat{chapter}{#1}
Обратите внимание, что вы можете заменить Chapter
и Chapters
сокращенными формами, такими как Ch
. Вы также можете дополнительно настроить нумерацию, добавив точку \crefformat{chapter}{Chapter. #1}
или скобки, такие как \crefformat{chapter}{Chapter. (#1)}
, которые автоматически поставят скобки для номеров глав. Вот пример кода:
\documentclass[]{report}
\usepackage{cleveref}
% Define formats
\crefname{chapter}{Chapter}{Chapters}
\Crefname{chapter}{Chapter}{Chapters}
\crefformat{chapter}{Chapter #1}
\crefrangeformat{chapter}{#1}
\begin{document}
\chapter{First Chapter}
\label{ch:first}
For more information about this topic please refer to \cref{ch:fifth,,ch:third,,ch:fourth}
\chapter{Second Chapter}
\label{ch:second}
In \cref{ch:first}, we introduced (topic name). Here, we address the problem in more detail.
\chapter{Third Chapter}
\label{ch:third}
\chapter{Fourth Chapter}
\label{ch:fourth}
\chapter{Fifth Chapter}
\label{ch:fifth}
\end{document}
Прелесть \cref
команды в том, что она автоматически обрабатывает порядок глав, разделов или плавающих элементов, на которые есть ссылки. Например, я намеренно написал, \cref{ch:fifth,,ch:third,,ch:fourth}
где пятая глава ставится первой в ссылках, но все равно \cref
показывает их в порядке появления после компиляции документа.