如何将第 1 章改为 1. 第 1 章

如何将第 1 章改为 1. 第 1 章

有什么办法可以改变吗?我只能做第 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}{}

相关内容