En m'inspirant d'une discussion sur les shorthandon et shorthandoff, j'ai créé un environnement abrege comme suit :

Ouvrir dans l'éditeur
\documentclass{book}
\usepackage[french,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\makeatletter
\long\def\abrege#1{\gdef\@abrege{#1}}
% le résumé
\newcommand{\makeabrege}%
{\begin{otherlanguage}{french}\chapter*{Abrégé}
\@abrege\par\end{otherlanguage}%
\global\let\makeabrege\relax
\global\let\abrege\relax
\global\let\@abrege\@empty}
\let\ORIabrege\abrege
\renewcommand{\abrege}{%
\shorthandon{;:!?}%
\titlewithshorthand}
\newcommand{\titlewithshorthand}[1]{%
\ORIabrege{#1}%
\shorthandoff{;:!?}}
\makeatother
\abrege{Texte en français! D'accord? Oui: parce \enquote{je cite un passage}}
\begin{document}
\makeabrege
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Il reste deux problèmes :

  1. le \enquote est insensible à l'activation de \begin{otherlanguage}{french} de même que l'indentation attendue. Que faut-il faire ?
  2. Sinon, est-ce une bonne idée de créer des environnements de cette manière ou faut-il mieux passer par des \begin{newenvironment}...\end{newenvironment} ?

Posée 30 Avr '16, 23:36

pluton's gravatar image

pluton
1.2k22937
Taux d'acceptation : 34%

Modifiée 01 Nov '16, 01:16

Pathe's gravatar image

Pathe ♦♦
7.6k49210252

Il suffit d'ajouter \frenchbsetup{IndentFirst} voir ici puis ajouter \let\enquote\frquote après \begin{otherlanguage}{french}

(01 Mai '16, 00:46) touhami touhami's gravatar image

Vous n'avez pas créé un environnement, mais au contraire, une macro qui a un argument. Concernant justement les changements de codes de catégorie, la différence de comportement entre les deux est fondamentale et essentielle.

En règle générale, il est bien plus pratique, sûr de créer un vrai environnement pour changer de façon momentanée les catcodes. De plus, le code devient bien plus lisible, et sur ce point, le vôtre ne peut que progresser ;)

(01 Mai '16, 00:48) unbonpetit ♦♦ unbonpetit's gravatar image

@unbonpetit en effet, je ne connaissais pas cette différence entre macro et environnements mais en voyant le résultat, je me doutais qu'il y avait anguille sous roche. J'ai corrigé:)

(01 Mai '16, 04:58) pluton pluton's gravatar image

@touhami en effet mais quand le document appelle la typographie française uniquement, \enquote utilise bien les guillemets à la française.

(01 Mai '16, 04:59) pluton pluton's gravatar image

@pluton oui c'est vrai lorsque le français est la longue principale de document (l'option french seule ou passé la dernière)

(01 Mai '16, 09:55) touhami touhami's gravatar image

J'aurais créé un environnement makeabrege ressemblant à peu près à celui-là :

Ouvrir dans l'éditeur
\documentclass{book}
\usepackage[frenchb,english]{babel}
\frenchbsetup{IndentFirst}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[autostyle]{csquotes}
\newenvironment{makeabrege}
{\begin{otherlanguage}{french}\chapter*{Abrégé}}
{\end{otherlanguage}}
\begin{document}
\begin{makeabrege}
Texte en français! D'accord? Oui: parce \enquote{je cite un passage; et un suivant}
\end{makeabrege}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 01 Mai '16, 11:08

unbonpetit's gravatar image

unbonpetit ♦♦
1.8k18
Taux d'acceptation : 68%

oui, je n'étais pas loin avec les remarques de touhami plus haut. J'avais omis le [autostyle] de csquotes.

(01 Mai '16, 19:05) pluton pluton's gravatar image
1

de nos jours, la version recommandée pour charger french est plutôt \usepackage[french,main=english]{babel} et tant qu'à faire english en option de \documentclass serait peut-être bien indiqué.

(01 Mai '16, 22:25) Le TeXnicien de surface Le%20TeXnicien%20de%20surface's gravatar image
Votre réponse
[Masquer 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

Mots-clés de la question :

×20
×4
×2

Question posée : 30 Avr '16, 23:36

Question vue : 6,139 fois

Dernière mise à jour : 01 Mai '16, 22:25

C'est votre première visite ici ? Consultez la FAQ !

×