
Я сейчас использую \documentclass{book}
и хотел бы убрать римскую цифру перед частями моего TOC. Сейчас это выглядит так:
Раньше я использовал \part*
и , \addcontentsline{toc}{part}{this is the first part}
но потом решил, что мне нужна \part
нумерация для другого кода, поэтому мне придется использовать строго \part
.
решение1
Вам не обязательно использовать версию со звездочкой, если вы не хотите, чтобы в toc
. С этой newlinetospace
опцией нет необходимости использовать необязательный аргумент для удаления разрыва строки в заголовках: он автоматически преобразуется в горизонтальный пробел в оглавлении и заголовках.
\documentclass[12pt,a4paper,oneside]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[newlinetospace, newparttoc]{titlesec}
\titleformat{\part}[display]{}{}{1em}{\sffamily\huge}
\usepackage{titletoc}
\titlecontents{part}[0em]
{\vspace{2em}\large\bfseries\sffamily\relax}
{\contentslabel[\relax]{0em}}{}{\hfill\contentspage}
\begin{document}
\tableofcontents
\part{Introduction}
Bla
\part{Example 1:\\Foo}%
Bla
\part{Example 2:\\Bar}%[
Bla
\part{Appendix}
Bla
\end{document}
Соответствует ли это вашим требованиям?
Если вы считаете, что ответ соответствует вашим требованиям, пожалуйста, проголосуйте за ответ, нажав на красный треугольник слева и на галочку под ним.
решение2
Вы можете исправить
\@part
(определено вbook.cls
) и удалите вставку \thepart
и последующий пробел ( \hspace{1em}
):
\documentclass{book}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@part}% <cmd>
{\thepart\hspace{1em}}% <search>
{}% <replace>
{}{}% <success><failure>
\makeatother
\begin{document}
\tableofcontents
\part{First part}
\end{document}