N'hésitez pas à réaliser une inscription gratuite afin de bénéficier de l'ensemble des fonctionnalités proposées par le site. La publicité est désactivée pour tous les utilisateurs inscrits.
Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté par le forum via les balises tex.
Modérateur :gdm_tex
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Bonsoir !
Bon vous allez dire que je suis pénible mais j'ai un truc qui m'obsède depuis un moment :
Comment supprimer l'espace avant le point virgule.
Précision : je compile par LuaLatex et la solution \string ne fonctionne pas …
MERCI.
C'est une règle de typographie élémentaire en français : pour les ponctuations en deux parties (?;!), un espace avant un espace après, pour celles en une seule partie(,.), pas d'espace avant, un espace après.
Si tu ne veux pas que cette règle s'applique, il ne faut pas demander que les règles de la typographie française s'appliquent.
Par exemple \usepackage[french,english]{babel} mais là, c'est un peu bourrin. Voir
ça j'avais bien compris mais sous pdflatex c'est possible avec un \string tout en conservant le style french alors que sous LuaLatex je n'ai rien trouvé ...
Mais la meilleure solution AMHA est d'écrire tes couples en mode mathématique, dans lequel le caractère ";" n'est pas actif. Je ne comprend pas pourquoi tu ne fais pas ainsi puisque ton ECM le propose.
Une autre solution encore plus crade que ton \string est d'écrire "{\char59}" à la place de ";", mais ça ne marche pas non plus avec lualatex.
Encore une fois j'essaie d'obtenir par le forum et vos précieux conseils des solutions meilleures que celles que je glane à droite à gauche.
J'avais essayé de la manière suivante mais que je trouvais un peu lourde (faire une commande je pense..) : (1\NoAutoSpacing ;2).
Bonjour, je crois qu'il s'agit bien de la commande à utiliser dans cette situation.
Sinon, pour désactiver dans tout le document, on peut utiliser l'option \frenchsetup{AutoSpacePunctuation=false} (mais ça n'est sans doute pas souhaitable).
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits) Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
zariski63 a écrit : ↑dimanche 10 mai 2020, 10:26 si si je l'ai lue (enfin parcourue).
Pour cette fois ça passera, mais avec la vague d'autoritarisme actuelle, ça ne durera peut-être pas...
zariski63 a écrit : ↑dimanche 10 mai 2020, 10:26Encore une fois j'essaie d'obtenir par le forum et vos précieux conseils des solutions meilleures que celles que je glane à droite à gauche.
J'avais essayé de la manière suivante mais que je trouvais un peu lourde (faire une commande je pense..) : (1\NoAutoSpacing ;2).
Le problème est que la portée de \NoAutoSpacing est pour tout le reste du document. Pour que la portée soit seulement locale, il faut la placer dans un bloc. Mais pourquoi ne pas utiliser le mode mathématique ?
je pense que la commande \shorthandoff{:} supprime les espaces avant les : (ou {;} pour les ;... Il faut mettre \shorthandon{:} pour revenir à la situation précédente.
Il me semble que ces commandes ne sont pas efficientes avec lualatex.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits) Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.