与目录相关的问题

与目录相关的问题

\mathsection我想在内容中使用chapter,正如我所说,Gonzalo Medina 为我弄清楚了在章节中使用 \mathsection

但是,当我使用他的解决方案时,目录就出错了,如下所示:

在此处输入图片描述

这是我的模板的代码:

 \documentclass[11pt,a4paper]{amsbook}
 \usepackage{bbold,amscd,amsmath,amssymb,amsfonts,ifthen,amsthm}
 \usepackage[utf8]{vietnam}
 \usepackage{titlesec}
 \usepackage[all]{xypic} 
 \usepackage{kpfonts}`
 %%%%% FOR SEARCHING LABELS AND REFS %%%%%%%%%%%%%%%
 \usepackage{color}
 \usepackage[color,notref,notcite]{showkeys}
 \definecolor{refkey}{rgb}{0,0,0}
 \definecolor{labelkey}{rgb}{0,0,1}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \usepackage{newcent}   
 %\usepackage[unicode]{hyperref}
 \usepackage{cmap}

 %%%%%MARGIN %%%%%%%%%%%%%%%%%%%
 \oddsidemargin 2cm %0.3cm
 \evensidemargin 2cm % 3cm
 \topmargin2cm
 \textwidth12cm %15
 \textheight18.5cm %22
 \headheight3ex
 \headsep5ex
 \topskip3ex
 %% FOR TYPESETTING VIETNAMESE WITH AMSART %%%%%%
 \def\firstofone#1{#1}
 \let\uppercase\firstofone
 \let\MakeUppercase\firstofone
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  

 %STYLE%%%%%%%%%%%
 \def\thepart{\Roman{part}}
 \def\thechapter{\arabic{chapter}}
 \def\thesection{\arabic{section}}
 \def\labelenumi{\roman{enumi})}
 %\numberwithin{thm}{section}
 \numberwithin{equation}{section}
 \titleformat{\chapter}[display]
 {\normalfont\huge\filcenter\scshape}{\chaptertitlename\ \thechapter}{0.2pt}{}
 \titleformat{\section}
 {\normalfont\Large\bfseries}{\S\thesection.}{0.1em}{}

 %THEOREM%%%%%%%%%%%%%%%%
 \theoremstyle{plain}
 \newtheorem{thm}{Theorem}[section]
 \newtheorem{dl}[thm]{Định lý}
 \newtheorem{bd}[thm]{Bổ đề}
 \newtheorem{hq}[thm]{Hệ quả}
 \newtheorem{md}[thm]{Mệnh đề}
 \theoremstyle{definition}
 \newtheorem{nx}[thm]{Nhận xét} 
 \newtheorem{chuy}[thm]{Chú ý}
 \newtheorem{dn}[thm]{Định nghĩa}
 \newtheorem{vidu}[thm]{Ví dụ} 
 \newtheorem{bt}{}[section]
 % miscellaneous 



 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\pagestyle{myheadings}
\begin{document}
\parskip4pt
\renewcommand{\baselinestretch}{1.1}

\frontmatter

\tableofcontents  
\normalsize
\chapter*{Lời nói đầu}
Thử xem thế nào.\\ 
Let's try it.\\
\chapter*{Các ký hiệu}
\markleft{\sc Các ký hiệu}
\markright{\sc Các ký hiệu}
Ta sẽ dùng các ký hiệu sau \\
We will use these following notations.\\
\mainmatter

\pagenumbering{arabic}


\markleft{\hfill \sc Nguyễn Minh Hà}
\chapter{Hướng của đoạn thẳng}

\markright{\sc Hướng của đoạn thẳng\hfill\ }
\section{Hình thang và hình bình hành}
We define the following figure.\\
\section{Đoạn thẳng}
We define the following arc.\\
\backmatter

\begin{thebibliography}{99}
\end{thebibliography}
\end{document}

那么,我该如何修复我的模板以获取正确的内容\mathsection、部分数量、部分名称和页数?

答案1

由于您的文档类是amsbook,而不是标准类之一,最好不要使用titlesec;以下代码包含部分单元的必要重新定义,并且还会在目录中的数字前面添加符号:

\documentclass[11pt,a4paper]{amsbook}
 \usepackage{bbold,amscd,amsmath,amssymb,amsfonts,ifthen,amsthm}
 \usepackage[utf8]{vietnam}
 \usepackage[all]{xypic} 
 \usepackage{kpfonts}
 %%%%% FOR SEARCHING LABELS AND REFS %%%%%%%%%%%%%%%
 \usepackage{color}
 \usepackage[color,notref,notcite]{showkeys}
 \definecolor{refkey}{rgb}{0,0,0}
 \definecolor{labelkey}{rgb}{0,0,1}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \usepackage{newcent}   
 %\usepackage[unicode]{hyperref}
 \usepackage{cmap}

 %%%%%MARGIN %%%%%%%%%%%%%%%%%%%
 \oddsidemargin 2cm %0.3cm
 \evensidemargin 2cm % 3cm
 \topmargin2cm
 \textwidth12cm %15
 \textheight18.5cm %22
 \headheight3ex
 \headsep5ex
 \topskip3ex
 %% FOR TYPESETTING VIETNAMESE WITH AMSART %%%%%%
 \def\firstofone#1{#1}
 \let\uppercase\firstofone
 \let\MakeUppercase\firstofone
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  

 %STYLE%%%%%%%%%%%
 \def\thepart{\Roman{part}}
 \def\thechapter{\arabic{chapter}}
 \def\thesection{\arabic{section}}
 \def\labelenumi{\roman{enumi})}
 %\numberwithin{thm}{section}
 \numberwithin{equation}{section}

 %THEOREM%%%%%%%%%%%%%%%%
 \theoremstyle{plain}
 \newtheorem{thm}{Theorem}[section]
 \newtheorem{dl}[thm]{Định lý}
 \newtheorem{bd}[thm]{Bổ đề}
 \newtheorem{hq}[thm]{Hệ quả}
 \newtheorem{md}[thm]{Mệnh đề}
 \theoremstyle{definition}
 \newtheorem{nx}[thm]{Nhận xét} 
 \newtheorem{chuy}[thm]{Chú ý}
 \newtheorem{dn}[thm]{Định nghĩa}
 \newtheorem{vidu}[thm]{Ví dụ} 
 \newtheorem{bt}{}[section]
 % miscellaneous 

% Chapter and section headings
\makeatletter
\def\@makechapterhead#1{\global\topskip 5.5pc\relax
  \begingroup
  \fontsize{\@xivpt}{18}\bfseries\centering
    \ifnum\c@secnumdepth>\m@ne
      \leavevmode \hskip-\leftskip
      \rlap{\vbox to\z@{\vss
          \centerline{\normalsize\mdseries
              \@xp{\scshape{\chaptername}}\enspace\thechapter}
          \vskip 2pc}}\hskip\leftskip\fi
     \normalfont\scshape#1\par \endgroup
  \skip@34\p@ \advance\skip@-\normalbaselineskip
  \vskip\skip@ }
\def\@makeschapterhead#1{\global\topskip 7.5pc\relax
  \begingroup
  \fontsize{\@xivpt}{18}\normalfont\scshape\centering
  #1\par \endgroup
  \skip@34\p@ \advance\skip@-\normalbaselineskip
  \vskip\skip@ }
\def\@sect#1#2#3#4#5#6[#7]#8{%
  \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
  \ifnum #2>\c@secnumdepth \let\@secnumber\@empty
  \else \@xp\let\@xp\@secnumber\csname the#1\endcsname\fi
 \ifnum#2=1 \def\@secnumber{\S\thesection}\fi
 \ifnum #2>\c@secnumdepth
   \let\@svsec\@empty
 \else
    \refstepcounter{#1}%
    \edef\@svsec{\ifnum#2<\@m
       \@ifundefined{#1name}{}{%
         \ignorespaces\csname #1name\endcsname\space}\fi
       \@nx\textup{%
         \csname the#1\endcsname.}\enspace
    }%
  \fi
  \@tempskipa #5\relax
  \ifdim \@tempskipa>\z@ % then this is not a run-in section heading
    \begingroup\ifnum#2=1\relax\noindent\textbf{\S}\fi #6\relax% NEW
    \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}%
    \endgroup
  \csname #1mark\endcsname{#7}%
    \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
  \else
  \def\@svsechd{#6\hskip #3\@svsec
    \@ifnotempty{#8}{\ignorespaces#8\unskip
       ñññ\@addpunct.}%
    \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
  }%
  \fi
  \global\@nobreaktrue
  \@xsect{#5}}
\def\section{\@startsection{section}{1}%
  \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
  {\normalfont\bfseries}}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\pagestyle{myheadings}
\begin{document}
\parskip4pt
\renewcommand{\baselinestretch}{1.1}

\frontmatter

\tableofcontents  
\normalsize
\chapter*{Lời nói đầu}
Thử xem thế nào.\\ 
Let's try it.\\
\chapter*{Các ký hiệu}
\markleft{\sc Các ký hiệu}
\markright{\sc Các ký hiệu}
Ta sẽ dùng các ký hiệu sau \\
We will use these following notations.\\
\mainmatter

\pagenumbering{arabic}


\markleft{\hfill \sc Nguyễn Minh Hà}
\chapter{Hướng của đoạn thẳng}

\markright{\sc Hướng của đoạn thẳng\hfill\ }
\section{Hình thang và hình bình hành}
We define the following figure.\\
\section{Đoạn thẳng}
We define the following arc.\\
\backmatter

\begin{thebibliography}{99}
\end{thebibliography}
\end{document}
\documentclass[11pt,a4paper]{amsbook}



\begin{document}

\chapter{Test Chapter}
\section{Test Numbered Section}
\section*{Test Unnumbered Section}

\end{document}

在此处输入图片描述

我还更改了链接问题中的答案,不再使用titlesec

最后说明一下:AMS 文档类别是为提交给 AMS 而设计的,因此它们具有非常具体的设置,正如您所见,可能很难覆盖。

如果您不必使用 AMS 类之一,我建议您切换到另一个文档类;这样做可能是一个不错的选择,因为现在可以使用现有包(与 AMS 类不兼容)轻松更改格式。例如,以以下文档为例,它以最小的努力生成您的格式(在文档和目录中),并且还结合了来自的一些样式设置amsbook

\documentclass{book}
\usepackage[compact]{titlesec}
\usepackage[titles]{tocloft}
\usepackage{chngcntr}

\counterwithout{section}{chapter}

\newlength\mylen
\renewcommand\cftchappresnum{\chaptername~}
\renewcommand\cftchapaftersnum{.}
\renewcommand\cftchapfont{\normalfont}
\renewcommand\cftchappagefont{\normalfont}
\settowidth\mylen{\cftchappresnum\cftchapaftersnum} % extra space
\addtolength\cftchapnumwidth{\mylen}
\renewcommand\cftsecdotsep{\cftnodots}
\renewcommand\cftsecpresnum{\S}
\renewcommand\cftsecaftersnum{.}

\titleformat{\chapter}[display]
  {\normalfont\LARGE\scshape\filcenter}{\chaptertitlename\ \thechapter}{15pt}{}
\titleformat{\section}
{\normalfont\Large\bfseries}{\S\thesection.}{0.5em}{}

\begin{document}

\tableofcontents

\frontmatter
\chapter{Test Chapter}
\chapter{Test Chapter}

\mainmatter
\chapter{Test Chapter}
\section{Test Section}
\section{Test Section}
\chapter{Test Chapter}
\section{Test Section}
\section{Test Section}

\end{document}

相关内容