Bonjour.

Je vous écris car j'ai un léger problème avec une commande personnalisée.

J'ai créée une commande \doc{}{}{}{} afin de pouvoir mettre en page des documents écrits pour mon travail (je fais des cours pour des lycéens). Cette commande a pour effet de mettre le texte dans une boite, une source à la fin (séparé du texte par une ligne), et éventuellement des notes de pied de page, mais dans la boîte.

Or d'une part le texte de la source est en justifié, ce qui est assez... moche (voir capture d'écran n°1). D'autant plus que LaTeX impose des sections de mots parfois qui n'ont pas grand sens dans cette partie (j'ai mise un \mbox sur la dernière partie, mais cela me semble peut satisfaisant comme solution). D'autre part, quand il y a notes de pied de page un peu long, cela fait varier la largeur de la boite (voir capture d'écran n°2).

Pouvez vous m'aider pour faire en sorte que la partie sur la source du document ne soit plus sectionnée, et alignée à gauche, et que la largeur des boîtes ne varient plus ? La commande en question :

Ouvrir dans l'éditeur Overleaf
%Soure à trois entrées
\newcommand{\source}[3]{%

\noindent {\footnotesize#1, \textit{#2}, \mbox{#3}}%
\bigbreak}
%Document texte \source
\newcommand{\doc}[4]{\fbox{\begin{minipage}{0.95\textwidth}%
%\begin{multicols}{2}
#1%
%\end{multicols}

\hrulefill
\flushleft{\source{#2}{#3}{#4}}
\vspace{-0.25cm}
\end{minipage}}}

Des exemples de mise en page des problèmes soulevés ci-dessous.

alt text

alt text

Posée 22 Aoû '20, 22:17

ZaZ333's gravatar image

ZaZ333
4536
Taux d'acceptation : 0%

Modifiée 23 Aoû '20, 22:18

(23 Aoû '20, 15:49) samcarter samcarter's gravatar image

Pas sûr d'avoir bien compris les problèmes (pourriez-vous donner l'intégralité de la commande \doc ?), mais

  • par défaut, le texte est justifié. La commande \flushleft permet d'aligner le texte à gauche uniquement. Les césures ne me choquent pas, sur cet exemple...
  • la note de pied de page ne fait pas changer la taille de la boite. Je pense que la boîte est de la bonne taille, mais qu'elle est décalée à cause de l'indentation. Il faut ajouter \noindent avant \fbox.

Est-ce que ça résout vos problèmes ?

Lien permanent

Publiée 23 Aoû '20, 15:49

nmarkey's gravatar image

nmarkey
1.4k19
Taux d'acceptation : 44%

Effectivement c'est ça !

J'ai également rajouté la fin de la commande doc.

Par contre maintenant j'ai un blanc entre la ligne de césure et la source (cf capture d'écran).

Capture d'écran

Lien permanent

Publiée 23 Aoû '20, 22:23

ZaZ333's gravatar image

ZaZ333
4536
Taux d'acceptation : 0%

Modifiée 23 Aoû '20, 22:25

Ok. L'espace vertical supplémentaire était ajouté par \flushleft, il vaut mieux utiliser \raggedright, désolé. Voici une proposition pour la fonction \doc :

Ouvrir dans l'éditeur Overleaf
%Soure à trois entrées
\newcommand{\source}[3]{\raggedright\footnotesize
  #1, \textit{#2}, #3}

%Document texte \source
\newcommand{\doc}[4]{\noindent
  \fbox{\begin{minipage}{0.95\textwidth}%
      #1
      \par\hrulefill\par
      \source{#2}{#3}{#4}
  \end{minipage}}%
}
Lien permanent

Publiée 24 Aoû '20, 12:03

nmarkey's gravatar image

nmarkey
1.4k19
Taux d'acceptation : 44%

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.