目次タイトル(大文字)

目次タイトル(大文字)

ドキュメントに目次を生成し、タイトル「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を と組み合わせて使用​​する方がより良い方法だと私は思います。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
}

関連情報