Avec le template par défaut du package xsim, le corps de l'exercice n'est pas indenté en anglais :

\documentclass[english]{article}
\usepackage{xsim}
\usepackage{babel}
\begin{document}
\begin{exercise}
Un exercice.
\end{exercise}
\end{document}

alors qu'il l'est en français :

\documentclass[french]{article}
\usepackage{xsim}
\usepackage{babel}
\begin{document}
\begin{exercise}
Un exercice.
\end{exercise}
\end{document}

Est-ce possible de supprimer l'indentation en français sans avoir besoin de définir un nouveau template (ce que je ne sais pas faire...) ?

Posée 13 Aoû '21, 00:23

Mario's gravatar image

Mario
195311
Taux d'acceptation : 100%

Modifiée 13 Aoû '21, 00:30

En français, le ‘layout’, c'est la mise en page. Quant au ‘template’, c'est le modèle ou le gabarit.

(17 Aoû '21, 12:27) Bernard Bernard's gravatar image

Il s'agit d'une option du module french de babel. Il suffit de faire appelle à la commande \frenchbsetup{IndentFirst=false} pour supprimer le retrait du premier paragraphe de chaque section.

\documentclass[french]{article}
\usepackage{xsim}
\usepackage{babel}
\frenchbsetup{IndentFirst=false}
\begin{document}
\begin{exercise}
Un exercice.
\end{exercise}
\end{document}

Edit : Ou encore mieux, avec \xsimsetup{exercise/begin-hook=\noindent}.

\documentclass[french]{article}
\usepackage{xsim}
\usepackage{babel}
\xsimsetup{exercise/begin-hook=\noindent}
\begin{document}
\begin{exercise}
Un exercice.
\end{exercise}
\end{document}
Lien permanent

Publiée 13 Aoû '21, 09:21

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Modifiée 28 Aoû '21, 22:01

Il faut savoir si l'on veut modifier l'apparence de tous les paragraphes ou seulement ceux de l'environnement {exercise}.

Par défaut

Avec le paquet babel et son option french, un retrait est appliqué à tous les paragraphes :

\documentclass[french]{article}
\usepackage{lipsum}% juste pour tester les paragraphes
\usepackage{xsim}
\usepackage{babel}

\newcommand{\testparagraphe}{\par\lipsum[4]\par}

\begin{document}
  \section{Paragraphes classiques}
  \testparagraphe\testparagraphe
  \begin{exercise}
    \testparagraphe\testparagraphe
  \end{exercise}
\end{document}

Par contre, si l'on ne charge pas babel avec l'option french alors le premier paragraphe après un titre n'aura pas de retrait, mais les autres en auront un ! (On peut faire le test ci-dessus ;-).)

Modifier tous les paragraphes

Aucun retrait

Avec espaces verticales entre les paragraphes

(Voir la documentation (très courte) du paquet parskip ici.)

\documentclass[french]{article}
\usepackage{lipsum}% juste pour tester les paragraphes
\usepackage{parskip}
\usepackage{xsim}
\usepackage{babel}

\newcommand{\testparagraphe}{\par\lipsum[4]\par}

\begin{document}
  \section{Paragraphes classiques}
  \testparagraphe\testparagraphe
  \begin{exercise}
    \testparagraphe\testparagraphe
  \end{exercise}
\end{document}

Sans espaces verticales entre les paragraphes

On peut modifier directement \parindent (qui contient la longeur du retrait en début de paragraphe) :

\documentclass[french]{article}
\usepackage{lipsum}% juste pour tester les paragraphes
\usepackage{xsim}
\usepackage{babel}

\setlength{\parindent}{0pt}

\newcommand{\testparagraphe}{\par\lipsum[4]\par}

\begin{document}
  \section{Paragraphes classiques}
  \testparagraphe\testparagraphe
  \begin{exercise}
    \testparagraphe\testparagraphe
  \end{exercise}
\end{document}

Avec IndentFirst

C'est la réponse de @touhami. Elle applique un retrait à tous les paragraphes exceptés ceux suivant directement un titre (par exemple \section, \subsection) :

\documentclass[french]{article}
\usepackage{lipsum}% juste pour tester les paragraphes
\usepackage{xsim}
\usepackage{babel}
\frenchsetup{IndentFirst=false}

\newcommand{\testparagraphe}{\par\lipsum[4]\par}

\begin{document}
  \section{Paragraphes classiques}
  \testparagraphe\testparagraphe
  \begin{exercise}
    \testparagraphe\testparagraphe
  \end{exercise}
\end{document}

D'après l'auteur de babel-french il est préférable d'utiliser \frenchsetup au lieu de \frenchbsetup (mais les deux ont exactement le même comportement) (cf. le manuel d'utilisation ici).

Modifier seulement les paragraphes d'{exercise}

Aucun retrait

\documentclass[french]{article}
\usepackage{lipsum}% juste pour tester les paragraphes
\usepackage{xsim}
\usepackage{babel}

\AtBeginEnvironment{exercise}{\setlength{\parindent}{0pt}}

\newcommand{\testparagraphe}{\par\lipsum[4]\par}

\begin{document}
  \section{Paragraphes classiques}
  \testparagraphe\testparagraphe
  \begin{exercise}
    \lipsum[4]\testparagraphe
  \end{exercise}
\end{document}

Style IndentFirst

Idem que la réponse de @touhami :

\documentclass[french]{article}
\usepackage{lipsum}% juste pour tester les paragraphes
\usepackage{xsim}
\usepackage{babel}

\xsimsetup{exercise/begin-hook={\noindent}}

\newcommand{\testparagraphe}{\par\lipsum[4]\par}

\begin{document}
  \section{Paragraphes classiques}
  \testparagraphe\testparagraphe
  \begin{exercise}
    \lipsum[4]\testparagraphe
  \end{exercise}
\end{document}

Cette solution utilise une liste de tokens qui est développée juste avant le contenu de l'environnement {exercise}. \noindent permet de ne pas appliquer de retrait au prochain paragraphe. (Cette solution ne marchera pas si le début de notre environnement {exercise} est une ligne vide ou \par.)

À noter

On peut aussi utiliser \xsimsetup{exercise/begin-hook=...} pour redéfinir \parindent. En revanche, \AtBeginEnvironment{exercise}{\noindent} n'aura pas l'effet que l'on pourrait désirer.

Lien permanent

Publiée 13 Aoû '21, 17:58

YannD's gravatar image

YannD
465310
Taux d'acceptation : 25%

Modifiée 26 Aoû '21, 11:35

Bernard's gravatar image

Bernard
4.6k15

1

Par défaut, le premier paragraphe après un titre est sans retrait (sans ou avec babel). C'est l'option french de babel qui ajoute le retrait au premier paragraphe, conformément à la typographie française.

(13 Aoû '21, 22:06) touhami touhami's gravatar image

Merci @touhami, effectivement ma phrase n'était pas claire... Je viens de la corriger, j'espère qu'elle l'est plus maintenant :-).

(14 Aoû '21, 01:16) YannD YannD's gravatar image
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.