Avec l'ECM précisé ci-dessous, j'aimerais obtenir deux choses:

  1. Les lettres du titre doivent tangenter exactement par le haut la ligne rouge (voir le commentaire "<------ dimension??")
  2. et ce, indépendamment du contenu qui suit: en plaçant \end{document} juste avant \section{title 2}, vous verrez que le titre se déplace un peu vers le bas (phénomène que je n'explique pas, d'ailleurs)

Bien sûr le titre peut tenir sur plusieurs lignes mais ne contiendra pas de lettres accentuées. Pour résumer, j'aimerais contrôler exactement la position du titre, cette position ne devant ni dépendre du titre ni de ce qui suit.

ECM

Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper,fleqn]{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{eso-pic}
\usepackage[style]{abstract}
\usepackage{authblk}
\usepackage{enumitem}
\setlist{leftmargin=*,nosep}
\usepackage{geometry}
\geometry{showframe,left=5.25cm,top=2cm,bottom=2.5cm,right=1.25cm,headheight=2cm}

\AddToShipoutPicture{%
    \begin{tikzpicture}[overlay,remember picture]
        \foreach \y in {29.7,28.7,...,10.7}
            \draw[draw=blue] (0,\y)--(21,\y); 
         \draw[draw=red,thick] (0,25.7)--(21,25.7); 
    \end{tikzpicture}%
}

\makeatletter
\renewcommand{\@maketitle}{%
  \hbox{}
  \vskip\dimexpr1cm+\baselineskip%<------ dimension??
  \noindent%
  \raggedright%
  {\Large\bfseries\sffamily\@title\par}%
    \vskip2\baselineskip%
  \@author\par%
  \normalfont\normalsize%
}
\makeatother

\title{AZERTYUIOPQSDFGHJKLWXCVBN}

\author[1,2,3]{Author One}
\author[2]{Author Two}
\author[3]{Author Three}
\author[2]{Author Four}

\affil[1]{Very long long long long long long long long long long long long long long long long long long long long long long long long long long long}
\affil[2]{Very long long long long long long long long long long long long long long}
\affil[3]{Very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long}

\begin{document}\flushbottom
\maketitle
\begin{abstract}
Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random

Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random 
\end{abstract}

\section{Title 1}
Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random 
\begin{enumerate}
\item Random 
\item Random 
\item Random 
\item Random 
\item Random 
\item Random 
\item Random 
\end{enumerate}
Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random

Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random

\section{Title 2}
Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random Random
\end{document}

Posée 25 Avr '20, 08:25

pluton's gravatar image

pluton
1.2k22937
Taux d'acceptation : 34%

Modifiée 25 Avr '20, 17:32

Je ne saurais trop vous conseiller le package lipsum pour créer du faux-texte. Cela aurait réduit votre ECM (et l'aurait rendu moins monotone, sans parler des éventuelles lézardes).

(25 Avr '20, 10:25) Pathe ♦♦ Pathe's gravatar image

Et si vous utilisez tikzpicture pour formater \@maketitle ?

(25 Avr '20, 11:23) touhami touhami's gravatar image
2

Qu'est cette mystérieuse clef de geometry: footskheadheight? LaTeX ne semble pas comprendre les clefs-valise. D'autre part, utiliser pour un texte aussi répétitif le seul vocable de ‘random’ me paraît proche de l'oxymore… ;o)

(25 Avr '20, 14:00) Bernard Bernard's gravatar image

@Bernard Oui, j'aurai pu utiliser lipsum mais initialement pour comprendre ce qui faisait bouger le titre, je devais gérer mot par mot. Par certain que j'y arrive avec lipsum. [Sinon, oui footsk s'est inséré lors d'un mauvais copier-coller]

(25 Avr '20, 17:32) pluton pluton's gravatar image

@touhami j'aimerais éviter l'appel à TikZ. TikZ est utilisé dans l'exemple seulement pour la grille bleue. Par contre, l'extention textpos est envisageable s'il n'y a pas de solution « directe ».

(25 Avr '20, 17:33) pluton pluton's gravatar image

Avez-vous besoin de \flushbottom ? Ça fait bouger le titre.

(25 Avr '20, 17:52) samcarter samcarter's gravatar image

Il y a l’extension textpos?

(25 Avr '20, 18:35) touhami touhami's gravatar image

@samcarter oui, j'ai besoin de \flushbottom et c'est sans doute ce qui fait bouger le titre mais pourtant le \vskip avant \@title n'est pas "stretchable"?

(25 Avr '20, 18:48) pluton pluton's gravatar image

@touhami oui, on peut envisager textpos s'il n'y a pas d'autre solution...

(25 Avr '20, 18:49) pluton pluton's gravatar image

@pluton \vskip insère implicitement le « token » \par ce qui ajoute \parskip à la liste verticale. \parskip est étirable.

(25 Avr '20, 19:43) touhami touhami's gravatar image

@touhami ah oui je vois!

(25 Avr '20, 22:23) pluton pluton's gravatar image

et l'équivant d'un \vskip non extensible sans \par? Il faut que je regarde le code de vskip alors pour éliner le \par

(25 Avr '20, 22:39) pluton pluton's gravatar image

\vskip est une primitive (codée en dur). Vous pouvez modifier localement \parskip : \setlength{\parskip}{0pt}.

(25 Avr '20, 22:44) touhami touhami's gravatar image

@pluton vous pouvez, par exemple, essayer d'ajouter \edef\x{\the\parskip}\setlength{\parskip}{0pt} avant \vskip puis \setlength{\parskip}{\x} après {...\@title\par}.

(25 Avr '20, 23:05) touhami touhami's gravatar image

@touhami oui super ça fonctionne! Merci. Vous pouvez répondre? Je pensais que \vskip n'était pas extensible.

(26 Avr '20, 01:17) pluton pluton's gravatar image

@pluton Ce que j'ai dit concernant \vskip et le "token" \par n'est pas exact. En effet, c'est ce qui se passe en mode horizontal, alors qu'ici c'est le mode vertical. Dans ce cas l'espace est ajouté immédiatement. Ici, la fautive \parskip est due au passage à la mode horizontale, par la commande primitive \noindent.

(26 Avr '20, 10:01) touhami touhami's gravatar image

@touhami. D'accord. Quand je disais "vous pouvez répondre?", ça signifiait "Pouvez-vous indiquez votre réponse comme réponse formelle afin que je l'accepte". Merci

(26 Avr '20, 18:40) pluton pluton's gravatar image
Affichage de 5 parmi 17 Afficher 12 commentaire(s) en plus

Pour forcer le texte à se commencer sur un point fixé, il faut éliminer tout type d'étirement. Dans le cas de l'exemple, c'est \parskip. Les classe standards mettent \setlength\parskip{0\p@ \@plus \p@}. Il faut donc rendre ce paramètre temporairement nul. Une solution est de remplacer \noindent, dans la définition, par {\setlength\parskip{0\p@}\noindent}.

Lien permanent

Publiée 26 Avr '20, 19:59

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.