
Alterei com sucesso a cor das seções e subseções para a cor definida. No entanto, eu gostaria de mudar \title
da mesma maneira, mas \titlefont{•}
não funciona (e acho que não deveria). O que ésimplestem como mudar a \title
cor 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
:
\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 \title
e, portanto, suficiente para os meios. Para uma abordagem mais formalizada, você pode corrigir a \@maketitle
macro 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 \title
lida 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 \maketitle
impõ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 titling
especializa-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, \title
mas não muito. Comecei com os padrões que copiei da titling
documentaçã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:
\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}