대문자로 된 목차 제목

대문자로 된 목차 제목

문서에 목차를 생성했으며 제목 "Contents"를 대문자로 만들고 싶습니다(예: "CONTENTS"). 내가 검색한 것은 제목이 아닌 테이블의 항목을 사용자 정의하는 방법뿐이었습니다. 어떻게 할 수 있습니까?

저는 ShareLaTeX에서 작업하고 XeLaTeX있으며 전체 서문은 다음과 같습니다.

\documentclass{article}

\usepackage
[   
    top=0.7in,
    bottom=1.2in,
    left=0.8in,
    right=0.8in,
]{geometry}

\usepackage{parskip}

\setlength{\parindent}{0cm}

\usepackage{amsmath}

\usepackage{unicode-math}

\usepackage{fontspec}


\usepackage[english,greek]{babel}

\setmainfont
[
    Ligatures=TeX,
    Extension=.otf,
    UprightFont=*,
    BoldFont=*Bold,
    ItalicFont=*It,
    BoldItalicFont=*BoldIt,
    Mapping=tex-text
]{GFSArtemisia}

\setsansfont[Mapping=tex-text]{GFSArtemisia.otf}

\setmathfont{latinmodern-math.otf}

\setmathfont[range=\varnothing]{Asana-Math.otf}

\setmathfont[range=\int]{latinmodern-math.otf}

\usepackage{listings}

\usepackage{multicol}

\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}

\usepackage{tikz}

\usepackage{lipsum}

\usepackage{hyperref}

\usepackage[normalem]{ulem}

\usepackage{mdframed}

답변1

일반적으로 touhami's솔루션은 작동하지만 특수 babel설정으로 인해 솔루션이 방해됩니다.

이 경우 의 재정의는 \contentsname이후로 이동해야 합니다 . \begin{document}이는 를 사용하여 수행할 수 있습니다 \AtBeginDocument{...}.

또 다른 가능성은 길이어야 합니다 \addto.... 이것도 제공하도록 노력하겠습니다.

또는 다음과 같이 말합니다.

\selectlanguage{greek}
\let\mtcontentsname\contentsname
\addto\captionsgreek{\typeout{foo}\renewcommand{\contentsname}{\MakeUppercase\mtcontentsname}}

서문에서.

나는 대신 polyglossia에 with 를 사용하는 것이 더 나은 변형이라고 믿습니다 .XeLaTeXbabel

\documentclass{article}

\usepackage
[   
    top=0.7in,
    bottom=1.2in,
    left=0.8in,
    right=0.8in,
]{geometry}

\usepackage{parskip}

\setlength{\parindent}{0cm}

\usepackage{amsmath}

\usepackage{unicode-math}

\usepackage{fontspec}


\usepackage[english,greek]{babel}

\setmainfont
[
    Ligatures=TeX,
    Extension=.otf,
    UprightFont=*,
    BoldFont=*Bold,
    ItalicFont=*It,
    BoldItalicFont=*BoldIt,
    Mapping=tex-text
]{GFSArtemisia}

\setsansfont[Mapping=tex-text]{GFSArtemisia.otf}

\setmathfont{latinmodern-math.otf}

\setmathfont[range=\varnothing]{Asana-Math.otf}

\setmathfont[range=\int]{latinmodern-math.otf}

\usepackage{listings}

\usepackage{multicol}

\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}

\usepackage{tikz}

\usepackage{lipsum}

\usepackage{hyperref}

\usepackage[normalem]{ulem}

\usepackage{mdframed}

\AtBeginDocument{%
  \let\mtcontentsname\contentsname
  \renewcommand\contentsname{\MakeUppercase\mtcontentsname}
}
\begin{document}

\tableofcontents
\section{Foo}
\end{document}

여기에 이미지 설명을 입력하세요

답변2

여기는

\documentclass{article}
\let\mtcontentsname\contentsname
\renewcommand\contentsname{\MakeUppercase\mtcontentsname}
\begin{document}
\tableofcontents

\end{document}

답변3

가장 간단한 방법은 \tableofcontents제목을 대문자로 인쇄하도록 패치하는 것입니다.

\documentclass{article}

\usepackage{amsmath}
\usepackage{unicode-math}

\usepackage[english,greek]{babel}
\usepackage{etoolbox} % for \patchcmd

\setmainfont[
    Ligatures=TeX,
    Extension=.otf,
    UprightFont=*,
    BoldFont=*Bold,
    ItalicFont=*It,
    BoldItalicFont=*BoldIt,
    Mapping=tex-text
]{GFSArtemisia}

\setsansfont[Mapping=tex-text]{GFSArtemisia.otf}

\setmathfont{latinmodern-math.otf}
\setmathfont[range=\varnothing]{Asana-Math.otf}
\setmathfont[range=\int]{latinmodern-math.otf}

\patchcmd{\tableofcontents}{\contentsname}{\MakeUppercase\contentsname}{}{}

\begin{document}

\tableofcontents

\section{ενότητα τίτλο}

\subsection{ενότητα τίτλο}

\end{document}

여기에 이미지 설명을 입력하세요

또는 다음을 사용하십시오.

\addto\captionsgreek{%
  \edef\contentsname{%
    \noexpand\MakeUppercase{\unexpanded\expandafter{\contentsname}}%
  }%
}

영어에도 필요한 경우에도 마찬가지입니다.

당신이 원하는 대문자는서식 지정, 고정 레이블을 재정의하는 것보다 방법 \patchcmd이 더 적합합니다. 그러나 여러 명령을 패치해야 하는 경우 복잡해질 수 있습니다.

이 경우 \addto방법이 더 바람직할 수 있으며 추상화를 제공할 수 있습니다. 예를 들어, 그림과 표 목록에 제목과 초록 이름을 대문자로 표시하고 싶다고 가정해 보겠습니다. 마지막 것은 그리스어와 영어 모두 대문자로 사용할 수 있어야 합니다.

\newcommand{\upcasebabellabel}[1]{%
  \edef#1{\noexpand\MakeUppercase{\unexpanded\expandafter{#1}}}%
}

\addto\captionsgreek{%
  \upcasebabellabel\contentsname
  \upcasebabellabel\listfigurename
  \upcasebabellabel\listtablename
  \upcasebabellabel\abstractname
}
\addto\captionsenglish{%
  \upcasebabellabel\abstractname
}

관련 정보