Gerei um Índice em um documento e gostaria de colocar o título "Conteúdo" em letras maiúsculas, ou seja, "CONTEÚDO". Tudo o que encontrei pesquisando foi como personalizar as entradas da tabela e não o título. Como isso pode ser feito?
Eu trabalho no ShareLaTeX XeLaTeX
e meu preâmbulo completo é:
\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}
Responder1
Normalmente touhami's
a solução deveria funcionar, mas as babel
configurações especiais impedem sua solução.
Neste caso, a redefinição do \contentsname
deve ser alterada depois \begin{document}
- isso pode ser feito com \AtBeginDocument{...}
.
Outra possibilidade deve ser o \addto...
caminho. Vou tentar fornecer isso também.
Alternativamente, diga
\selectlanguage{greek}
\let\mtcontentsname\contentsname
\addto\captionsgreek{\typeout{foo}\renewcommand{\contentsname}{\MakeUppercase\mtcontentsname}}
no preâmbulo.
Acredito que using polyglossia
é a melhor variante em conjunto com XeLaTeX
em vez de babel
.
\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}
Responder2
Aqui está
\documentclass{article}
\let\mtcontentsname\contentsname
\renewcommand\contentsname{\MakeUppercase\mtcontentsname}
\begin{document}
\tableofcontents
\end{document}
Responder3
A maneira mais simples é corrigir \tableofcontents
para imprimir o título em maiúscula:
\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}
Alternativamente, use
\addto\captionsgreek{%
\edef\contentsname{%
\noexpand\MakeUppercase{\unexpanded\expandafter{\contentsname}}%
}%
}
e da mesma forma se você precisar dele para inglês.
A letra maiúscula que você deseja éformatação, em vez de redefinir rótulos fixos, portanto o \patchcmd
método é mais adequado. No entanto, pode ficar complicado se você precisar corrigir vários comandos.
Neste caso, o \addto
método pode ser preferível e podemos fornecer uma abstração. Por exemplo, suponhamos que você também queira que a lista de figuras e tabelas tenha o título em letras maiúsculas e também o nome do resumo; o último deverá estar disponível em letras maiúsculas tanto para grego quanto para inglês.
\newcommand{\upcasebabellabel}[1]{%
\edef#1{\noexpand\MakeUppercase{\unexpanded\expandafter{#1}}}%
}
\addto\captionsgreek{%
\upcasebabellabel\contentsname
\upcasebabellabel\listfigurename
\upcasebabellabel\listtablename
\upcasebabellabel\abstractname
}
\addto\captionsenglish{%
\upcasebabellabel\abstractname
}