Titre dans la classe d'article non centré

Oct 12 2020

Je vais chercher un titre et un sous-titre centrés dans la classe de document article. Quoi que je fasse, je ne peux que sembler centrer le sous-titre horizontalement, mais jamais le titre du document.

Quelqu'un peut-il m'aider à centrer horizontalement le titre "Flux Capacitors"? J'ai essayé un tas de combinaisons de \begin{center}\end{center}et \centeringpartout.

Qu'est-ce que je rate? Merci d'avance!

Voici ce que j'ai:

\documentclass[11pt]{article}

% get rid of section numbers
\setcounter{secnumdepth}{0}

\title{
  \begin{center}
    \textbf{Flux Capacitors}
    \newline\large\textit{PHY410/PHY610 Introduction to Back to the Future Physics}
  \end{center}
}

\date{}


\begin{document}

\author{John Smith}

\maketitle


\section{Secction One}

Some text here.

\section{Section Two}

Some text here too.

\subsection{Subsection One}

Some more text.

\end{document}

Une fois compilé, cela ressemble à ceci:

MODIFIER après avoir répondu à la question:

Les solutions suggérées impliquaient toutes de supprimer l' centerenvironnement du titre et de supprimer le sous-titre du titre.

Une autre chose que toutes les réponses font est d'utiliser \\pour la nouvelle ligne plutôt que \newline.

Ce qui est sauvage, c'est que le centrage désordonné a toujours semblé se produire en fait parce que j'utilisais \newlineplutôt que \\. Merci à @Denis & @Mico pour avoir suggéré de casser cela en quelque chose de la forme:

\title{\textbf{my title}}}\\
\large\textit{my subtitle}

Ce qui est fou, c'est que si je fais ça à la place:

\title{\textbf{my title}}}
\newline\large\textit{my subtitle}

Le centrage cassé revient.

En fait, mon code d'origine (quoique bancal) fonctionnait parfaitement dès que je l'ai remplacé \newlinepar \\. Je ne sais pas pourquoi, mais cela a résolu mon problème. Merci a tous!

Réponses

3 Denis Oct 11 2020 at 23:41

Essayer

\documentclass[11pt]{article}
\title{\textbf{Flux Capacitors}\\
\large\textit{PHY410/PHY610 Introduction to Back to the Future Physics}}
\date{\today}
\author{John Smith}
\begin{document}
\maketitle
\section{Secction One}
Some text here.
\end{document}

Ici tout est bien centré.

5 Mico Oct 11 2020 at 23:46

Dans la articleclasse de document, l'argument de la \title, \authoret les \datedirectives sont typeset dans un centerenvironnement. Plus précisément, la commande de bas niveau \@maketitleest définie comme suit:

\def\@maketitle{%
  \newpage
  \null
  \vskip 2em%
  \begin{center}%
  \let \footnote \thanks
    {\LARGE \@title \par}%
    \vskip 1.5em%
    {\large
      \lineskip .5em%
      \begin{tabular}[t]{c}%
        \@author
      \end{tabular}\par}%
    \vskip 1em%
    {\large \@date}%
  \end{center}%
  \par
  \vskip 1.5em}

Notez, en particulier, les directives \begin{center}et \end{center}.

Je ne pense pas que ce soit une bonne pratique d'intégrer un centerenvironnement dans un autre centerenvironnement. J'irais donc avec

\title{\textbf{Flux Capacitors}\\ 
  \large\itshape PHY410/PHY610 Introduction to Back to the Future Physics}
3 leandriis Oct 11 2020 at 23:45

Vous pouvez utiliser le titlingpackage afin de créer votre propre \subtitlecommande qui sera ensuite prise en compte par le \maketitlepackage.

\documentclass[11pt]{article}

% get rid of section numbers
\setcounter{secnumdepth}{0}

\usepackage{titling}
\newcommand{\subtitle}[1]{%
\gdef\SubTitle{#1}}
\newcommand{\SubTitle}{}
\renewcommand{\maketitlehookb}{%
\centering \large \textit{\SubTitle}}
\pretitle{\begin{center}\LARGE\bfseries}

\title{Flux Capacitors}
\subtitle{PHY410/PHY610 Introduction to Back to the Future Physics}
\date{}
\author{John Smith}

\begin{document}



\maketitle


\section{Secction One}

Some text here.

\section{Section Two}

Some text here too.

\subsection{Subsection One}

Some more text.

\end{document}