вопрос о форматировании заголовков разделов. В классе статьи я хочу отформатировать заголовки разделов следующим образом:
- Скрыть номер раздела в заголовке.
- Используйте верхний регистр.
- Добавьте пунктирное правило заголовка под заголовком (у меня есть пользовательские пунктирные линии, определенные в другом месте).
Я уже много раз пробовал использовать пакет titlesec, но так и не нашел даже близкого решения.
\titleformat{\section}{\centering\large\titlerule}{\thesection}{0.5em}{}
Это создает titlerule выше моего заголовка, но не ниже. Я пробовал разные места для \titlerule, но не могу найти правильное^^. Кроме того, \MakeUppercase не работает с titlename. Номера разделов видны. Может ли кто-нибудь помочь?
Лучше всего,
решение1
Вот так?
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}{\centering\large}{}{0em}{\MakeUppercase}[\titlerule]
\begin{document}
\section{This}
\end{document}
(Некоторые намеки были найдены ввстроенный заголовок главы заглавными буквами)
Общий синтаксис \titleformat
:
\titleformat{<command>}[<shape>]{<format>}{<label>}{<sep>}{<before-code>}[<after-code>]
<command>
здесь находится команда секционирования, которую вы хотите изменить\section
.<shape>
определяет общее размещение заголовка, см. страницу 3 в руководстве для списка опций. Это необязательный аргумент.<format>
содержит общие переключатели формата для текста заголовка, здесь\centering\large
.<label>
: Здесь вы размещаете код, который печатает номер раздела (\thesection
) и другие связанные с ним вещи, например словоГлавадля глав.<sep>
это расстояние от номера до заголовка (я просто изменил его на 0em)<before-code>
это просто код, помещенный перед текстом заголовка.\MakeUppercase
принимает аргумент (т. е.\MakeUppercase{text}
), но, как я понимаю, онtitlesec
построен так, что последний используемый макрос<before-code>
может принимать аргумент, и вы можете использовать его, как я.<after-code>
как и ожидалось, помещается после текста заголовка. Вы хотели правило после, поэтому я добавил его здесь. Это также необязательный аргумент, скобки ([]
) обычно обозначают необязательные аргументы в LaTeX, тогда как фигурные скобки ({}
) обозначают обязательные аргументы. По этой причине вы не можете опустить пустую пару фигурных скобок.
решение2
спасибо за помощь. Просто чтобы подвести итог полученному уроку, я хочу добавить пример того, как я отформатировал заголовки подразделов с помощью линий и т. д. Код такой:
\titleformat{\section}{\centering\large}{}{0em}{\MakeUppercase}[\titlerule]
\titleformat{\subsection}[block]{\upperdots\\\large}{\thesubsection}{1.5em}{\MakeUppercase}[\basedots]
Обратите внимание, что (верхние|базовые)точки — это пользовательские линии, определенные с помощью пакета dashrule. Результат может быть не идеальным, но пока выглядит нормально: