
Я хочу добавить сегмент линии длиной около 3 см, который следует за названием раздела в моей книге. Как можно изменить следующий код? Я добавляю, \rule{3cm}{.45pt}
но он замечает превышение емкости.
\documentclass[oneside,11pt]{book}
\usepackage{siunitx}
\usepackage{fancybox}
\usepackage{pgf,tikz}
\usepackage[textwidth=16.25cm,textheight=19cm]{geometry} %kho sach 18x23
\usepackage[mathscr]{eucal}
\usepackage{graphics, graphpap}
\begin{document}
\tableofcontents
\chapter{First Chapter}
\pagebreak
\section{Perimeter {\rule{3cm}{.45pt}} }
\begin{enumerate}
\item first item
\item second item
\end{enumerate}
\end{document}
решение1
Без каких-либо пакетов: сделайте быстрое и грубое переопределение \@sect
, базового макроса для \section
команд etc.
Переопределение проверяет, subsection
используется ли раздел или что-то еще и т. д., а затем применяет \rule
.
Изменяйте \ruledistskip
длину по желанию...
\documentclass[oneside,11pt]{book}
\usepackage{siunitx}
\usepackage{fancybox}
\usepackage{pgf,tikz}
\usepackage[textwidth=16.25cm,textheight=19cm]{geometry} %kho sach 18x23
\usepackage[mathscr]{eucal}
\usepackage{graphics, graphpap}
\newlength\ruledistskip
\setlength{\ruledistskip}{5em}
\makeatletter
\let\l@tex@sect\@sect
\def\@sect#1#2#3#4#5#6[#7]#8{%
\l@tex@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{#8\ifnum0=\pdfstrcmp{#1}{section}%
\hskip\ruledistskip\rule{3cm}{.45pt}%
\fi}%
}
\makeatother
\begin{document}
\tableofcontents
\chapter{First Chapter}
\clearpage
\section{Perimeter}
\subsection{Ruleless}
\begin{enumerate}
\item first item
\item second item
\end{enumerate}
\end{document}