![如何将第 1 章改为 1. 第 1 章](https://linux22.com/image/347295/%E5%A6%82%E4%BD%95%E5%B0%86%E7%AC%AC%201%20%E7%AB%A0%E6%94%B9%E4%B8%BA%201.%20%E7%AC%AC%201%20%E7%AB%A0.png)
有什么办法可以改变吗?我只能做第 1 章 1。我该如何将其更改为 1。第 1 章?
\documentclass[10pt,a4paper,oneside]{book}
\usepackage[cp1250]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\renewcommand{\chaptername}{Chapter \Roman{chapter}}
\renewcommand{\thechapter}{\arabic{chapter}.}
\begin{document}
\chapter{}
\end{document}
答案1
在我看来,\the...
过多地改变计数器格式宏永远不是一个好主意。
而是使用 将一些代码“注入”到章节标题命令中\@makechapterhead
,\xpatchcmd
有一个\chaptertitleformat
可以随意定义的钩子。
\documentclass[10pt,a4paper,oneside]{book}
\usepackage[cp1250]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{xpatch}
\newif\ifusestrangechapter
%\usestrangechapterfalse % Toggle the %
\usestrangechaptertrue
\makeatletter
\ifusestrangechapter
\xpatchcmd{\@makechapterhead}{%
\huge\bfseries \@chapapp\space \thechapter
}{
\huge\bfseries \chaptertitleformat%
}{\typeout{Success}}{}
\fi
\makeatother
\newcommand{\chaptertitleformat}{%
\thechapter.\ \chaptername\space \Roman{chapter}%
}
\begin{document}
\tableofcontents
\chapter{Foo}
\chapter{Foobar}
\end{document}
答案2
我不明白你为什么要重复章节编号,但它的工作原理如下:
\renewcommand{\chaptername}{\arabic{chapter}. Chapter \Roman{chapter}}
\renewcommand{\thechapter}{}