Inhaltsverzeichnistitel in Großbuchstaben

Inhaltsverzeichnistitel in Großbuchstaben

Ich habe in einem Dokument ein Inhaltsverzeichnis erstellt und möchte den Titel „Inhalt“ in Großbuchstaben schreiben, also „INHALT“. Bei meiner Suche habe ich nur herausgefunden, wie ich die Einträge in der Tabelle anpassen kann, nicht aber den Titel. Wie kann ich das machen?

Ich arbeite mit ShareLaTeX XeLaTeXund meine vollständige Präambel lautet:

\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}

Antwort1

Normalerweise touhami'ssollte die Lösung funktionieren, aber die speziellen babelEinstellungen verhindern diese Lösung.

In diesem Fall sollte die Neudefinition von \contentsnamenach verschoben werden \begin{document}– dies kann mit erfolgen \AtBeginDocument{...}.

Eine andere Möglichkeit soll es \addto...übrigens auch geben. Auch diese werde ich versuchen bereitzustellen.

Alternativ sagen Sie

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

in der Präambel.

Ich glaube, dass die Verwendung in Verbindung mit anstelle von polyglossiadie bessere Variante ist .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}

Bildbeschreibung hier eingeben

Antwort2

Hier ist

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

\end{document}

Antwort3

Am einfachsten geht das, indem Sie den Patch \tableofcontentsso installieren, dass der Titel in Großbuchstaben gedruckt wird:

\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}

Bildbeschreibung hier eingeben

Alternativ verwenden Sie

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

und das Gleiche gilt, wenn Sie es für Englisch benötigen.

Die gewünschte Großschreibung istFormatierung, anstatt feste Labels neu zu definieren, daher \patchcmdist diese Methode besser geeignet. Allerdings kann es kompliziert werden, wenn man mehrere Befehle patchen muss.

In diesem Fall \addtoist die Methode möglicherweise vorzuziehen und wir können eine Abstraktion bereitstellen. Nehmen wir beispielsweise an, Sie möchten auch, dass die Liste der Abbildungen und Tabellen einen Titel in Großbuchstaben sowie den Namen der Zusammenfassung enthält. Letzterer sollte sowohl für Griechisch als auch für Englisch in Großbuchstaben verfügbar sein.

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

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

verwandte Informationen