我是 LaTeX 新手,所以需要你们的帮助。
我想知道如何更改章节样式,以便将章节编号放入 LaTeX 中的章节标题右侧,尤其是回忆录类。因此,我希望它显示为 [章节编号] 章节标题 [章节编号]
例如,假设一个章节有三个部分,如第一部分、第二部分和第三部分。那么它们应该像这样出现:
1. section one 1.
1. section two 2.
1. section three 3.
有人能帮我做这件事吗?
答案1
如果你这样做不是希望章节编号位于章节标题的右侧在目录中(参见 BernS 的回答),您可以使用 titlesec 包来重新定义节标题布局:
\documentclass{memoir}
\usepackage{lipsum}
\usepackage[explicit]{titlesec}
% \titleformat{<command>}[<shape>]{<format>}{<label>}{<sep>}{<before>}[<after>]
\titleformat{\section}[hang]{\normalfont\Large\bfseries}%
{\thechapter.}{4pt}%
{#1 \arabic{section}.}
\begin{document}
\tableofcontents
\chapter{Chapter}
\section{Section one}
\lipsum[1]
\section{Section two}
\lipsum[2]
\section{Section three}
\lipsum[3]
\end{document}
感谢 Raphink 的回答我的问题关于我正确阅读文档时遇到的问题。请考虑对他的回答投赞成票。;-)
答案2
可以手动重新定义\section
(和\section*
,假设这有意义)命令来实现这一点。目前
\section{<sec title>}
生产<chapnum> \quad <sec title> \quad <secnum>
;并且\section*{<sec title>}
生产<chapnum> \quad <sec title>
。
前者在目录中生成通常的条目,因为手动重新定义\section{...}
不包括 的重新定义\thesection
。此外,对节的引用将默认引用为<chapnum>.<secnum>
(或更具体地说是\thechapter.\arabic{section}
)。但是,如果需要,可以更改此行为以及节命令的行为。
基本的重新定义来自Vincent Zoonekynd 的 LaTeX 页面关于部分内容。这是一个最小的例子:
\documentclass{memoir}
\usepackage[margin=15mm]{geometry}% Page layout
\usepackage{lipsum}% Dummy text
% Taken from http://zoonek.free.fr/LaTeX/LaTeX_samples_section/0.html
\makeatletter
\def\section{\@ifstar\unnumberedsection\numberedsection}
\def\numberedsection{\@ifnextchar[%]
\numberedsectionwithtwoarguments\numberedsectionwithoneargument}
\def\unnumberedsection{\@ifnextchar[%]
\unnumberedsectionwithtwoarguments\unnumberedsectionwithoneargument}
\def\numberedsectionwithoneargument#1{\numberedsectionwithtwoarguments[#1]{#1}}
\def\unnumberedsectionwithoneargument#1{\unnumberedsectionwithtwoarguments[#1]{#1}}
\def\numberedsectionwithtwoarguments[#1]#2{%
\ifhmode\par\fi
\removelastskip
\vskip 3ex\goodbreak
\refstepcounter{section}%
\noindent
\begingroup
\leavevmode\Large\bfseries\raggedright
\thechapter\quad
#2
\quad\arabic{section}
\par
\endgroup
\vskip 2ex\nobreak
\addcontentsline{toc}{section}{%
\protect\numberline{\thesection}% ToC entry
#1}%
}
\def\unnumberedsectionwithtwoarguments[#1]#2{%
\ifhmode\par\fi
\removelastskip
\vskip 3ex\goodbreak
% \refstepcounter{section}%
\noindent
\begingroup
\leavevmode\Large\bfseries\raggedright
\leavevmode\Large\bfseries\raggedright
\thechapter\quad
#2
% \quad\arabic{section}
\par
\endgroup
\vskip 2ex\nobreak
\addcontentsline{toc}{section}{%
% \protect\numberline{\thesection}% ToC entry
#1}%
}
\makeatother
\begin{document}
\chapter{First chapter} \lipsum[1]
\section{First section} \lipsum[2]
\section{Second section} \lipsum[3]
\section{Third section} \lipsum[4]
\section{Final section} \lipsum[5]
\end{document}
...以及相关输出:
我用的是geometry
包裹只是为了布局目的(所以 MWE 适合一页)和lipsum
包裹用于虚拟文本。
答案3
以下内容应该看起来像您想要的那样(如文中所述,所以“[章节]”。标题[部分]。”):
\documentclass{memoir}
\usepackage{lipsum}
\usepackage[utf8x]{inputenc}
\newcommand\secstore{}
\newcommand\mythesection{\arabic{chapter}.}
\newcommand\mysection[1]{%
\let\secstore\thesection%
\let\thesection\mythesection%
\section{#1 \arabic{section}.}%
\let\thesection\secstore%
}%
\begin{document}
\chapter{Test}
\mysection{This is section 1}
\lipsum[1]
\mysection{This is section 2}
\lipsum[2]
\mysection{This is section 3}
\lipsum[3]
\end{document}
如果您希望它与示例中的“[section]. 标题 [section].”相同,则应更改上面的以下命令:
\newcommand\mythesection{\arabic{section}.}
无论如何,也可以保存和重载,\section
这样就不需要使用了\mysection
。
以下是上述解决方案提供的输出: