En explorant la commande \titleformat de titlesec et son champs {before code}, je cherche à mettre dans ce champs le commande « \rotatebox{90}{ » (et le champs after code: [}] )

Bien entendu l'introduction naïve conduit à une erreur de syntaxe:

{\rotatebox{90}{} , lu comme {\rotatebox{90}{}

[}]

Si c'est possible, quelle doit être la syntaxe? (encadrer le contenu de ce champs par une autre paire d'accolades ne résout évidemment pas le problème)

(Inspirée par la question: https://texnique.fr/osqa/questions/11969/thumb-index-avec-yathesis)

Posée 14 Avr '23, 20:05

joseph-tux's gravatar image

joseph-tux
42722450
Taux d'acceptation : 4%

Modifiée 14 Avr '23, 20:11


Il est souvent assez difficile d'insérer des accolades non appariées dans des arguments de commandes LaTeX.

Mais, en l'occurrence, vous n'en avez pas besoin. La documentation de titlesec précise que, concernant l'argument <before-code> de la commande \titleformat, la toute dernière commande présente dans cet argument peut être elle-même une commande à un argument (argument censé être le texte du titre ou de la section, etc.). Il suffit donc de mettre la commande \rotatebox{90} (oui, oui, il s'agit bien d'une commande à un argument...) dans l'argument.

\titleformat{\chapter}{}{}{1cm}{\rotatebox{90}}{}

En fait, l'auteur de titlesec a pris soin de mettre pour vous les accolades que vous voulez mettre aujourd'hui.

Lien permanent

Publiée 14 Avr '23, 22:05

fpantigny's gravatar image

fpantigny
1.2k44
Taux d'acceptation : 34%

@fpantigny a apporté la solution au problème rencontré et la présente réponse concerne plutôt la question en titre : le moyen de mettre une accolade ouvrante (resp. fermante) entre accolades appariées est de recourir à son équivalent sous forme de macro : \bgroup (resp. \egroup).

Lien permanent

Publiée 14 Avr '23, 22:12

denis's gravatar image

denis ♦♦
7.0k1510
Taux d'acceptation : 52%

Ces 2 réponses sont vraiment très utiles.

(15 Avr '23, 20:24) joseph-tux joseph-tux'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.