我想让章节/部分编号出现在 scrbook 文档的左边距。
虽然以下代码对章节/部分编号执行了此操作,但它并没有对 \themysection 编号执行此操作,因为我定义了一个新命令 \mysection,按字母顺序对章节进行编号。
您可以在下面找到 MWE。
有人知道如何让 \mysection 数字出现在左边距吗?
\documentclass[12pt,a4paper,bibtotoc, chapterprefix=false]{scrbook}
\usepackage[left=3.5cm,right=3.5cm,top=4cm,bottom=3.5cm]{geometry}
\renewcommand*\othersectionlevelsformat[3]{%
\ifnum\value{mysection}>0%
\llap{\themysection\autodot\enskip}%
\else%
\llap{#3\autodot\enskip}%
\fi%
}
\renewcommand*\chapterformat{\llap{\thechapter\autodot\enskip}}
\newcounter{mysection}[chapter]
\renewcommand{\themysection}{\thechapter.\Alph{mysection}}
\newcommand{\mysection}[1]{
\stepcounter{mysection}
\section*{\themysection~#1}
\addcontentsline{toc}{section}{\themysection~#1}
}
\begin{document}
\chapter{First chapter}
\section{First first section}
Text text text
\section{First second section}
Text text text
\mysection{Appendix}
\end{document}
答案1
用了\othersectionlevelsformat
也没用。
\documentclass[
12pt,
a4paper,
bibliography=totoc,
chapterprefix=false
]{scrbook}
\usepackage[left=3.5cm,right=3.5cm,top=4cm,bottom=3.5cm]{geometry}
\renewcommand*\chapterformat{\makebox[0pt][r]{\thechapter\autodot\enskip}}
\renewcommand*\sectionformat{\makebox[0pt][r]{\thesection\autodot\enskip}}
\newcounter{mysection}[chapter]
\renewcommand{\themysection}{\thechapter.\Alph{mysection}}
\newcommand{\mysection}[1]{%
\stepcounter{mysection}%
\section*{\makebox[0pt][r]{\themysection\enskip}#1}%
\addcontentsline{toc}{section}{\protect\numberline{\themysection}#1}%
}
\begin{document}
\tableofcontents
\chapter{First chapter}
\section{First first section}
Text text text
\section{First second section}
Text text text
\mysection{Appendix}
\end{document}
请注意,该bibintoc
选项已被弃用。