在 gsm-l 类中自定义标题

在 gsm-l 类中自定义标题

我使用 gsm-l 类(amsbook 的一个派生类)来编写我的数学书。然而,在页眉上,出现了相同的章节号和节号,就像这样(左边的数字 1 是章节号,右边的数字 1 是节号)。

在此处输入图片描述

我想删除每个章节名称和部分名称前面的数字,或者将章节名称前面的数字自定义为罗马数字。那么我该怎么做?

这是一个 MWE。

\documentclass{gsm-l}
\usepackage[papersize={160mm,240mm},inner=20mm, outer=15mm, vmargin=15mm]{geometry}
\geometry{includeheadfoot}
\usepackage{graphicx}
\usepackage{amssymb, amsmath}
\usepackage{mathtools}
\usepackage{fouriernc}
\usepackage{esvect}
\usepackage{graphicx}
\usepackage{remreset}
\makeatletter
\@removefromreset{section}{chapter}
\makeatother
\usepackage[utf8]{vietnam}
\usepackage{makeidx}
\usepackage{lipsum}
\begin{document}
\chapter{This is the first chapter}
\section{This is the first section}
\lipsum
\end{document}

请帮我。

谢谢。

答案1

您可以将其添加到您的序言中:

\makeatletter
\def\partrunhead#1#2#3{%
  \@ifnotempty{#2}{{\@ifnotempty{#1}{#1 }}\@ifnotempty{#3}{}}#3}
\let\chapterrunhead\partrunhead
\let\sectionrunhead\partrunhead
\makeatother

(简短)解释:我搜索了gsm-l.cls哪些命令负责页眉,发现是\partrunhead。在这里,我们只是修改了的定义\partrunhead,删除了页码和点。请注意,由于我们必须使用\makeatletter和。\makeatother\@ifnonempty

编辑:现在,您应该得到您想要的,或者可以修改此代码以实现此目的:

\makeatletter
\@removefromreset{section}{chapter}
\def\partrunhead#1#2#3{%
  \@ifnotempty{#2}{{\@ifnotempty{#1}{#1 }}\@ifnotempty{#3}{}} Chapter  \Roman{chapter} : #3}
\let\chapterrunhead\partrunhead
\def\sectionrunhead#1#2#3{ %
   \@ifnotempty{#2}{{\@ifnotempty{#1}{#1 }}\@ifnotempty{#3}{}} \arabic{section}. #3}
\makeatother

相关内容