목차 편집

목차 편집

이것은 사이트의 첫 번째 질문입니다. "Chapter"라는 단어를 모두 대문자로 만들고 장 제목 앞에 ":"를 넣고 싶습니다. 나는 보고서 문서 클래스를 사용했고 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

나는 코드를 보다 최소한의 작업 예제로 줄이는 것부터 시작했습니다. 실제 문서에서는 분명히 그렇게 하고 싶지 않지만~해야 한다서문을 잘라내고 정리하세요. 때로는 다른 옵션을 사용하여 패키지를 여러 번 로드하고 충돌하는 패키지 또는 다른 패키지에 전달된 옵션과 충돌하는 패키지를 로드합니다. 예를 들어 pagestylesto를 전달하면 titlesec해당 패키지의 바닥글/머리글 사촌이 로드됩니다. 그러면 그 사촌은 fancyhdr문서 레이아웃의 해당 측면을 제어하기 위해 경쟁하게 됩니다. 선택하다. 하나, 다른 것 또는 둘 다. 하지만 둘 다는 아닙니다. 또한 이 옵션 없이 로드하면 titlesec오류가 발생하지 않는 주문이 발생하지 않는 경우 잠재적인 충돌이 발생할 수도 있습니다.

\xpatch그런 다음 'Chapter'를 'CHAPTER'로 설정하고 숫자 단어 뒤에 중지를 추가하도록 명령을 조정했습니다 . 콜론을 요청하신 건 알지만 솔직히 그게 이상해 보인다고 생각합니다. 그러나 이 형식을 정말로 선호하거나 사용해야 하는 경우에는 .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} 

챕터의 ToC 라인이 수정되었습니다.

관련 정보