Это мой первый вопрос на сайте, я хочу сделать слово «Глава» заглавными буквами и поставить «:» перед названием главы. Я использовал класс документа отчета, и единственные пакеты для TOC — это \usepackage[toc,page], \usepackage[nottoc,notlof,notlot]{tocbibind} Я не знаю, предназначены ли они для модификации или нет... Я на самом деле просто пользователь латекса, и это моя первая попытка написать диссертацию
\documentclass[12pt,a4paper]{report}
\usepackage{amsmath,amssymb,amsthm,amsfonts,mathrsfs}
\usepackage{graphicx,epsfig,subfig}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{array}
\usepackage[toc,page]{appendix}
\usepackage[labelfont=bf]{caption}
\usepackage{xpatch}
\usepackage{fmtcount}
\renewcommand{\thechapter}{\NUMBERstring{chapter}}
\renewcommand{\thesection}{\arabic{chapter}.\arabic{section}}
\renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}}
\makeatletter
\input{fc-british.def}
\xpatchcmd{\@chapter}% <cmd>
{\numberline{\thechapter}}% <search>
{\@chapapp~\thechapter\quad}% <replace>
{}{}% <success><failure>
\makeatother
\newcolumntype{L}[1]{>
{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>
{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>
{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\usepackage{caption}
\usepackage[pagestyles]{titlesec}
\titleformat{\chapter}[display]
{\normalfont\LARGE\bfseries\centering}
{\centering\MakeUppercase{\chaptertitlename}\ \thechapter}{20pt}{\Large}
\titlespacing*{\chapter}
{0pt}{50pt}{40pt}
\geometry{verbose,a4paper,tmargin=30mm,bmargin=25mm,
lmargin=30mm,rmargin=25mm}
\renewcommand{\baselinestretch}{1.65}
\usepackage{fancyhdr}
\usepackage{psfrag}
\usepackage{array}
\usepackage{booktabs}
\usepackage{float}
\usepackage{caption}
\usepackage{multirow}
\usepackage[shortlabels]{enumitem}
\usepackage[monochrome]{xcolor}
\usepackage{pdflscape}
\usepackage[toc,page]{appendix}
\usepackage{titlesec}
\usepackage{amsmath}
\usepackage[nottoc,notlof,notlot]{tocbibind}
\renewcommand\bibname{References}
\makeatletter
\newcommand*{\rom}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\newtheorem{theorem}{Theorem}
\newtheorem{acknowledgement}{Acknowledgement}
\newtheorem{algorithm}{Algorithm}
\newtheorem{axiom}{Axiom}
\newtheorem{case}{Case}
\newtheorem{claim}{Claim}
\newtheorem{conclusion}{Conclusion}
\newtheorem{condition}{Condition}
\newtheorem{conjecture}{Conjecture}
\newtheorem{corollary}{Corollary}
\newtheorem{criterion}{Criterion}
\newtheorem{definition}{Definition}
\newtheorem{example}{Example}
\newtheorem{exercise}{Exercise}
\newtheorem{lemma}{Lemma}
\newtheorem{notation}{Notation}
\newtheorem{problem}{Problem}
\newtheorem{proposition}{Proposition}
\newtheorem{remark}{Remark}
\newtheorem{solution}{Solution}
\newtheorem{summary}{Summary}
\numberwithin{equation}{chapter}
\numberwithin{theorem}{chapter}
\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyfoot[C]{\bfseries\large\thepage} % except the center
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
\begin{document}
\addcontentsline{toc}{chapter}{Contents}
\tableofcontents
\chapter{General Introduction}\label{chapter:Intro}
\section{Introduction}
Composite steel-concrete construction
\end{document}
решение1
Я начал с сокращения вашего кода до более минимального рабочего примера. Хотя вы, очевидно, не хотите делать этого в вашем реальном документе, выдолженобрежьте и организуйте преамбулу. Вы загружаете пакеты несколько раз, иногда с разными параметрами, и загружаете конфликтующие пакеты или пакеты, которые конфликтуют с параметрами, переданными другим пакетам. Например, pagestyles
переданный в titlesec
загрузит кузен нижнего/заголовка этого пакета. Этот кузен затем будет конкурировать за fancyhdr
контроль над этим аспектом макета вашего документа. Выберите. Один, другой или ни один. Но не оба. Вы также загружаете titlesec
без этого параметра, что также создает потенциальные конфликты, если вы случайно не наткнетесь на заказ, который не вызовет ошибку.
Затем я скорректировал \xpatch
команду, чтобы установить «Глава» как «ГЛАВА» и поставить точку после числового слова. Я знаю, что вы просили двоеточие, но, честно говоря, я думаю, что это выглядит странно. Однако вы можете легко заменить на .
a :
, если вы действительно предпочитаете (или обязаны использовать) этот формат.
\documentclass{report}
\usepackage[toc,page]{appendix}
\usepackage{xpatch}
\usepackage[british]{fmtcount}% set dialect in a standard way the package recommends
% \usepackage[pagestyles]{titlesec}% use of pagestyles conflicts with use of fancyhdr
\usepackage{titlesec}% use of pagestyles conflicts with use of fancyhdr
\usepackage{fancyhdr}
\usepackage[nottoc,notlof,notlot]{tocbibind}
\renewcommand{\thechapter}{\NUMBERstring{chapter}}
\renewcommand{\thesection}{\arabic{chapter}.\arabic{section}}
\makeatletter
\xpatchcmd{\@chapter}% <cmd>
{\numberline{\thechapter}}% <search>
{\MakeUppercase{\@chapapp}~\thechapter.\quad}% <replace>% <= \MakeUppercase for the capitalisation; added . for dot
{}{}% <success><failure>
\makeatother
\titleformat{\chapter}[display]
{\normalfont\LARGE\bfseries\centering}
{\centering\MakeUppercase{\chaptertitlename}\ \thechapter}{20pt}{\Large}
\titlespacing*{\chapter}
{0pt}{50pt}{40pt}
\setcounter{tocdepth}{5}
\fancypagestyle{plain}{%
\fancyhf{}% clear all header and footer fields
\fancyfoot[C]{\bfseries\large\thepage}% except the center
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}}
\begin{document}
\addcontentsline{toc}{chapter}{Contents}
\tableofcontents
\chapter{General Introduction}\label{chapter:Intro}
\section{Introduction}
Composite steel-concrete construction
\end{document}