Alterar a cor do título

Alterar a cor do título

Alterei com sucesso a cor das seções e subseções para a cor definida. No entanto, eu gostaria de mudar \titleda mesma maneira, mas \titlefont{•}não funciona (e acho que não deveria). O que ésimplestem como mudar a \titlecor também? Eu tenho o seguinte código simplificado:

\documentclass[11pt,a4paper]{article}
\usepackage{amsmath, url}
\usepackage[utf8x]{inputenc}
\usepackage[czech]{babel}
\usepackage{xcolor}
\usepackage{sectsty}

\definecolor{astral}{RGB}{46,116,181}
\subsectionfont{\color{astral}}
\sectionfont{\color{astral}}

\title{...}
\author{...}

\begin{document}
    \maketitle    
    \begin{abstract} ...
    \end{abstract}    
    \smallskip
    \noindent \textbf{Key words:} ...   
    \section{...}
\end{document}

Toda ajuda e sua descrição são muito bem-vindas.

Responder1

Insira a cor diretamente em \title:

insira a descrição da imagem aqui

\documentclass{article}

\usepackage{lipsum}% Just for this example
\usepackage{xcolor,sectsty}

\definecolor{astral}{RGB}{46,116,181}
\subsectionfont{\color{astral}}
\sectionfont{\color{astral}}

\title{\color{astral} My title}
\author{An Author}

\begin{document}

\maketitle

\begin{abstract}
  \lipsum[1]
\end{abstract}

\smallskip

\noindent \textbf{Summary:}
\lipsum*[2]

\section{A section}
\lipsum[3]

\end{document}

A sugestão acima pode parecer grosseira. No entanto, é inserido como parte de uma macro de uso único \titlee, portanto, suficiente para os meios. Para uma abordagem mais formalizada, você pode corrigir a \@maketitlemacro interna - responsável por configurar a exibição do título:

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@maketitle}% <cmd>
  {\@title}% <search>
  {\color{\@titlecolor}\@title}% <replace>
  {}{}% <success><failure>
\newcommand{\@titlecolor}{black}
\newcommand{\titlecolor}[1]{\renewcommand{\@titlecolor}{#1}}
\makeatother

O código acima fornece \titlecolor{<color>}o que permite alternar para cores conforme necessário (por exemplo, \titlecolor{astral}forneceria a mesma saída). Este código também depende da estrutura do \@maketitle, que pode ser diferente para outras classes ou influenciada por determinados pacotes.


Outra maneira (menos formal) de abordar uma mudança na cor do título poderia ser apenas atualizar a forma como \titlelida com seu argumento:

\makeatletter
\renewcommand{\title}[1]{\renewcommand{\@title}{\color{\@titlecolor}#1}}
\newcommand{\@titlecolor}{black}
\newcommand{\titlecolor}[1]{\renewcommand{\@titlecolor}{#1}}
\makeatother

Responder2

É mais limpo e claro evitar a formatação embutida no conteúdo de comandos como \title. Embora este seja normalmente um comando único em um documento - pelo menos porque \maketitleimpõe isso limpando tudo - ainda é melhor evitá-lo, eu acho.

E a alternativa não é a correção assustadora de comandos internos. É, como no caso dos títulos de seção, usar um pacote que faça as coisas assustadoras para você. Neste caso titlingespecializa-se em personalizar o formato dos títulos dos documentos.

Por exemplo:

\pretitle{\begin{center}\LARGE\color{astral}}
\posttitle{\par\end{center}\vskip 0.5em}

Isso é um pouco mais complexo do que colocar a cor, \titlemas não muito. Comecei com os padrões que copiei da titlingdocumentação do:

\pretitle{\begin{center}\LARGE}
\posttitle{\par\end{center}\vskip 0.5em}

Em seguida, simplesmente adicionei a especificação de cores seguindo a especificação da fonte \LARGE.

E é isso:

título personalizado

\documentclass[11pt,a4paper]{article}
\usepackage{amsmath,url}
\usepackage[utf8x]{inputenc}
\usepackage[czech]{babel}
\usepackage{xcolor}
\usepackage{sectsty,titling}

\definecolor{astral}{RGB}{46,116,181}
\subsectionfont{\color{astral}}
\sectionfont{\color{astral}}

\pretitle{\begin{center}\LARGE\color{astral}}
\posttitle{\par\end{center}\vskip 0.5em}

\title{Title}
\author{Author}

\begin{document}
\maketitle
\begin{abstract}
  An abstract
\end{abstract}
\smallskip
\noindent \textbf{Klíčová slova:}\dots
\section{A section}
\end{document}

informação relacionada