J'ai voulu alléger mes documents en créant un fichier preambule.tex contenant mon préambule d'environ 200 lignes (appels des packages et diverses commandes).

Par la suite, je crée mes documents ainsi :

\documentclass[11pt,a4paper,french]{article}
\input{preambule}

Cela fonctionne à la compilation mais l'auto-complétion de s'effectue pas sous texstudio.

Quand je crée un fichier avec mon préambule tapé (donc sans la ligne \input{preambule}), l'auto-complétion fonctionne correctement, pour \tkzDraw par exemple...

Une solution ?

Posée 17 Déc '22, 22:35

ablasz's gravatar image

ablasz
48620
Taux d'acceptation : 23%

Modifiée 21 Déc '22, 15:33

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

Pour éviter toute équivoque, pourriez-vous préciser ce qui est ici appelé « auto-complétion » ? À vrai dire (et sauf erreur de ma part), je ne vois pas pourquoi il y aurait un lien entre votre préambule (à moins d'un bidouillage vicieux toujours possible) et le fait que cette facilité s'accomplisse ou non, cette dernière étant permis par TeXstudio. En plus de la précision attendue, pourriez-vous nous donner un exemple très concret (un ECM, quoi) ?

Une question abordait ici même le problème de la complétion avec le dit TeXstudio.

(19 Déc '22, 19:38) fred02840 fred02840's gravatar image

@fred02840 il s’agit d’aide à la saisie. Quand j’appelle mes packages directement dans mon préambule en début de fichier (par exemple \usepackage{tkz-euclid}), TeXStudio me fournit une aide à la saisie quand je tape du code. MAIS quand je charge mon préambule par \input{preambule} TeXStudio ne me propose pas l’aide à la saisie. J’ai l’impression qu’il ne « voit » pas le package appelé et donc qu’il ne charge pas l’aide à la saisie relative à ce package.

(19 Déc '22, 22:16) ablasz ablasz's gravatar image

Le plus simple est de créer, non pas un fichier .tex, mais un fichier .sty (ce qui ne change pas grand chose à son contenu, sauf qu'il est recommandé de recourir à \RequirePackage à la place de \usepackage) appelé par exemple ablasz.sty, de le placer dans le TEXMFHOME (cf. par exemple cette question) puis de créer un fichier ablasz.cwl contenant :

#include:tkz-euclid
#include:...

(ainsi de suite pour tous les packages chargés par ablasz.sty) et, enfin, de placer ce fichier comme indiqué ici. Alors, tout fichier .tex contenant :

\usepackage{ablasz}

bénéficiera automatiquement de la complétion de tous les packages figurant après #include: dans ablasz.cwl.

D'autres fonctionnalités de complétion, par exemple pour les macros personnelles, peuvent être configurées dans ablasz.cwl. Pour plus de détails, cf. la description du format cwl

Lien permanent

Publiée 19 Déc '22, 22:48

denis's gravatar image

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

Modifiée 19 Déc '22, 22:51

Cela fonctionne parfaitement, Merci @denis. Est-il possible d'obtenir l'aide à la saisie des commandes (en voici quelques exemples :) ?

(20 Déc '22, 19:43) ablasz ablasz's gravatar image

Attention ! Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel.

(20 Déc '22, 21:44) denis ♦♦ denis's gravatar image
1

Merci d'ouvrir une nouvelle question.

(20 Déc '22, 21:45) denis ♦♦ denis'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.