Quelle que soit l'apparence complète de votre installation TeX, vous aurez bientôt besoin d'un package qui lui manque ou d'une police que la licence garde prête à l'emploi. Cette page couvre les commandes que vous tapez réellement au quotidien : tlmgr de TeX Live et son tlshell GUI, getnonfreefonts pour les polices livrées séparément et kpsewhich pour répondre « où se trouve ce fichier ? - avec ce que chacun fait et pourquoi vous le faites.
Gestion des packages avec tlmgr
tlmgr (le TeX Live Manager) est la commande officielle pour installer, supprimer et mettre à jour les packages TeX Live. C'est ainsi que vous ajoutez l'un des milliers de packages CTAN qui manquent à votre installation - la même chose sur les configurations japonaises et anglaises (MiKTeX est un monde à part ; voir ci-dessous). Commencez par installer un package par son nom ; ses dépendances sont présentes par défaut.
# パッケージを 1 つ以上インストール(依存も自動で入る)
tlmgr install siunitx
tlmgr install collection-fontsrecommended
# 依存を引かずに本体だけ/既存の上書き再インストール
tlmgr install --no-depends siunitx
tlmgr install --reinstall siunitxLorsque les packages entrent dans l'arborescence à l'échelle du système, tlmgr doit s'exécuter avec des droits d'administrateur (sudo tlmgr install … sur Unix, un shell élevé sur Windows). Vous pouvez également déposer manuellement des fichiers dans une arborescence par utilisateur (TEXMFHOME), mais tlmgr gère les propres arborescences de la distribution. Quel arbre contient quoi, et comment les chemins sont résolus, fait l'objet de « structure de répertoires et chemins TeX » — ici, nous faisons simplement confiance à tlmgr pour mettre les choses au bon endroit.
Une chose facile à manquer : ni tlmgr install ni tlmgr remove n'actualiseront les liens symboliques dans les répertoires système tels que /usr/local/bin. Si votre PATH pointe directement vers le propre répertoire bin de TeX Live, vous pouvez l'ignorer, mais si vous avez utilisé tlmgr path add pour câbler des liens symboliques pour les exécutables, les pages de manuel et les pages d'informations, vous devez réexécuter tlmgr path add vous-même après avoir installé un package qui contient un nouvel exécutable (et tlmgr path remove après en avoir supprimé un).
Apprenez les mises à jour en binôme. --self met tlmgr lui-même (l'infrastructure) à jour ; --all met à jour tous les autres packages installés. Donner les deux à la fois est le mouvement standard : tlmgr se remplace d'abord, puis met à jour le reste. C'est également à ce moment-là qu'il supprime automatiquement les packages déposés sur le serveur et installe automatiquement les nouveaux membres d'une collection.
# 定番:自分自身 → 全パッケージの順で最新化
tlmgr update --self --all
# 特定パッケージだけ更新/更新があるか一覧で確認
tlmgr update siunitx
tlmgr update --listtlmgr info vous parle d'un package. Sans aucun argument, il répertorie tous les packages, en marquant ceux installés avec un i en tête. Donnez-lui un nom et il imprime la description, la licence, les tailles, les fichiers contenus et les données du catalogue TeX — en interrogeant le référentiel même pour les packages que vous n'avez pas installés. Lorsque vous ne vous souvenez qu'à moitié d'un nom, search vous aide : --global recherche dans le référentiel plutôt que dans votre installation locale, et --file recherche par nom de fichier dans tous les packages.
# パッケージの詳細(説明・ライセンス・収録ファイル)
tlmgr info siunitx
# 名前・説明から探す/ファイル名で横断検索
tlmgr search --global siunit
tlmgr search --global --file tikz.styChoisir un référentiel (miroir CTAN)
Le dépôt est l'endroit où tlmgr récupère les packages. Par défaut, il utilise la redirection automatique du miroir de CTAN, mais lorsqu'une connexion est lente ou que vous souhaitez épingler un miroir, basculez en permanence avec tlmgr option repository. L'alias ctan est un raccourci pour https://mirror.ctan.org/systems/texlive/tlnet ; le pointer dessus vous dirige automatiquement vers un miroir CTAN à proximité.
# 既定(近くの CTAN ミラーへ自動振り分け)に設定
tlmgr option repository ctan
# 特定ミラーへ固定(例:好きな tlnet ミラーの URL)
tlmgr option repository https://example.org/CTAN/systems/texlive/tlnet
# 今の設定をまとめて確認(repository だけでなく paper なども)
tlmgr option showPour extraire une seule fois d'un miroir différent, ajoutez --repository <url> pour cette seule exécution sans toucher au paramètre permanent. Notez que tlmgr option contient également des valeurs par défaut telles que le format du papier : pour changer de papier pour chaque outil à la fois, utilisez tlmgr paper a4 (ou par programme, tlmgr dvips paper a4).
Le GUI (tlshell) et le MiKTeX
Si la ligne de commande n'est pas votre truc, TeX Live livre tlshell, un GUI Tcl/Tk (lancez-le avec tlshell). Il s'agit d'un frontal qui pilote simplement tlmgr, il peut donc faire les mêmes choses : rechercher, installer, supprimer, mettre à jour en masse des packages et changer de référentiel à partir d'une fenêtre. Il affiche même le journal des commandes sous-jacentes, ce qui en fait un moyen simple d'apprendre ce que fait tlmgr.
MiKTeX (principalement Windows) est un monde à part : au lieu de tlmgr, sa ligne de commande est mpm (le gestionnaire de packages MiKTeX) et son GUI est le MiKTeX Console. La marque de fabrique de MiKTeX est l'installation à la volée — lorsqu'un document demande un package que vous n'avez pas, il le télécharge et l'installe à mi-compilation (la console vous permet de configurer cela pour toujours installer, demander à chaque fois ou jamais). L'idée est la même ; seuls les noms de commandes et le flux de travail diffèrent.
Polices expédiées séparément — getnonfreefonts
Certaines polices portent des licences telles que « utilisation gratuite, mais ne peuvent pas être vendues », elles ne peuvent donc pas être utilisées dans TeX Live, qui est également distribué sur un DVD à vendre. Le script getnonfreefonts de TUG gère exactement ces installations. CTAN contient les polices et leurs fichiers de support TeX ; le script les récupère et connecte tout pour que TeX puisse les trouver.
Vous installez d'abord le script lui-même une fois (suivez les étapes sur tug.org/fonts/getnonfreefonts/). L'utilisation actuelle vous demande de choisir explicitement --user (installation personnelle) ou --sys (installation à l'échelle du système). Répertoriez les polices qu'il propose avec --lsfonts, puis installez-en une par nom. La police de machine à écrire luximono est par exemple l'une de ces cibles.
# 自分専用ツリーで、入れられるフォントの一覧を見る
getnonfreefonts --user --lsfonts
# 自分専用ツリーへ個別に入れる/配布元のものを全部入れる
getnonfreefonts --user luximono
getnonfreefonts --user --allLa distinction clé est --user par rapport à --sys. --user s'installe dans votre arborescence personnelle (TEXMFHOME), tandis que --sys s'installe dans l'arborescence à l'échelle du système. La commande getnonfreefonts-sys distincte trouvée dans les anciennes notes n'existe plus. Pour tout le monde sur la machine, exécutez getnonfreefonts --sys ... avec les droits d'administrateur. Ensuite, la base de données des noms de fichiers peut avoir besoin d'être actualisée (mktexlsr), bien que le script s'en charge généralement. Ces commandes de polices et de bases de données sont traitées dans « Outils de polices et DB ».
# システム全体のツリーへ(全ユーザ向け・要管理者権限)
sudo getnonfreefonts --sys luximono
# 念のため手動でファイル名 DB を更新する場合
sudo -H mktexlsrTrouver des fichiers avec kpsewhich
TeX localise les fichiers via une bibliothèque de recherche appelée kpathsea, et kpsewhich est l'outil qui interroge cette même recherche à partir de votre shell. Il répond : « Dans quel fichier cette classe est-elle réellement résolue ? » » et « deux versions sont-elles en collision ? » en une seule fois – la première étape dans la plupart des dépannages. Donnez-lui un nom de fichier et il imprime le premier chemin que TeX prendrait.
# このファイルが解決される実際のパスを表示
kpsewhich article.cls
kpsewhich siunitx.sty
# 同名ファイルが複数あれば全部出す(衝突の発見に)
kpsewhich -all siunitx.styAu-delà des chemins, il signale également les valeurs des variables de configuration. -var-value=VAR imprime l'expansion de la variable VAR - pratique pour trouver où réside réellement votre arborescence utilisateur (TEXMFHOME) ou votre arborescence de configuration (TEXMFCONFIG). Il existe deux types d'expansion : -expand-var développe uniquement les variables, tandis que -expand-path développe complètement un chemin incluant des accolades.
# 設定変数の値を見る(ユーザツリーの場所など)
kpsewhich -var-value=TEXMFHOME
kpsewhich -var-value=TEXMFCONFIG
# 変数だけ展開 / パス全体を完全展開
kpsewhich -expand-var='$TEXMFHOME'
kpsewhich -expand-path='$TEXMF'Pour lever l'ambiguïté des fichiers portant le même nom et de différents types, utilisez -format=NAME. Les styles BibTeX (.bst) et les données bibliographiques (.bib), par exemple, ont des chemins de recherche distincts, donc nommer le type de fichier résout le bon. -show-path=NAME imprime le chemin de recherche complet pour ce type, indiquant quels répertoires sont recherchés et dans quel ordre. Répertoriez les noms de types avec kpsewhich --help.
# ファイル種別を指定して探す(.bst と .bib は別パス)
kpsewhich -format=bst plainnat.bst
kpsewhich -format=bib mybibliography.bib
# その種別の探索パス全体を表示(探索順の確認)
kpsewhich -show-path=texLorsque le chemin de recherche dépend du moteur, faites correspondre le contexte avec -engine=NAME ou -progname=NAME (par exemple -progname=lualatex). Les mécanismes de recherche eux-mêmes — le rôle de texmf.cnf et la façon dont les arbres sont parcourus — appartiennent à la « structure de répertoires et chemins TeX » ; ici, nous utilisons kpsewhich uniquement comme un outil pour vérifier ce qui se résout à quoi.
Un ordre pratique pour le travail manuscrit
Lorsqu'un rapport ou une thèse échoue avec File ... not found, ne déposez pas immédiatement un .sty aléatoire du Web dans le répertoire des manuscrits. Séparez d'abord le nom du fichier du nom du package. Si kpsewhich siunitx.sty ne trouve rien, exécutez tlmgr search --global --file siunitx.sty pour découvrir quel package TeX Live le fournit, puis installez-le seulement en tant que package de distribution, par exemple. tlmgr install siunitx. Cela permet à tlmgr de suivre les dépendances, les mises à jour et les suppressions.
Pour la collaboration et CI, « Je l'ai installé une fois sur mon ordinateur portable » n'est pas une reproductibilité. Enregistrez l'année TeX Live, les noms de packages supplémentaires et tout référentiel épinglé ou balise Docker dans le README ou la configuration de build. Exécuter tlmgr update --self --all juste avant la soumission signifie construire le PDF avec des packages différents de ceux d'hier. Testez les mises à jour séparément ; pour la version soumise, gelez l'environnement qui a fonctionné.
- Les fichiers réservés aux modèles de conférence peuvent résider dans le référentiel de manuscrits, car ils appartiennent à ce lot de soumission plutôt qu'à la distribution.
- Les packages à usage général doivent être installés avec
tlmgr; une copie obsolète dans le dossier du manuscrit continuera à masquer la version mise à jour de TeX Live et créera des échecs déroutants. - Les machines partagées et CI doivent enregistrer les packages requis dans le README ou le
.latexmkrc, et épingler la balise Docker ou l'année TeX Live pour plus de reproductibilité.