Existe-t-il une option qui modifie le titre par défaut de la table des matières en mode Org?
Mon document n'est pas en anglais, donc je veux traduire le titre de la table des matières.
Répondre
Comme l'a dit JeanPierre, il s'agit de paramètres d'exportation. Vous pouvez définir LANGUAGE
en haut de votre org
document de cette façon:
#+LANGUAGE: fr
Et le français sera utilisé comme langue par défaut de toutes les chaînes org
produites lors de l'exportation.
La constante responsable des correspondances de traduction est org-export-dictionary
dans ox.el
et si votre langue n'est pas pris en charge , vous pouvez y déposer et eval-defun
de laisser le changement se produit. Dans mon cas:
(defconst org-export-dictionary
...
("Table of Contents"
...
("sr" :html "Sadržaj" :utf-8 "Sadržaj")
...)
...)
J'ai écrit une fonction naïve qui peut être utile dans init.el
:
(defun org-export-translate-to-lang (term-translations &optional lang)
"Adds desired translations to `org-export-dictionary'.
TERM-TRANSLATIONS is alist consisted of term you want to translate
and its corresponding translation, first as :default then as :html and
:utf-8. LANG is language you want to translate to."
(dolist (term-translation term-translations)
(let* ((term (car term-translation))
(translation-default (nth 1 term-translation))
(translation-html (nth 2 term-translation))
(translation-utf-8 (nth 3 term-translation))
(term-list (assoc term org-export-dictionary))
(term-langs (cdr term-list)))
(setcdr term-list (append term-langs
(list
(list lang
:default translation-default
:html translation-html
:utf-8 translation-utf-8)))))))
(org-export-translate-to-lang '(("Table of Contents"
"Sadržaj"
"Sadržaj"
"Sadržaj")
("Another term"
"coilogji"))
"sr")
Avertissement
Cela ne fonctionne pas si vous souhaitez exporter via Latex (Latex est utilisé lorsque Org exporte au format PDF). Regardez la réponse et les commentaires de Tyler.
la source
Réponses:
Le manuel de l'organisation dit ceci à propos des paramètres d'exportation (vous devriez pouvoir le parcourir dans les informations emacs
C-h i m Org m exporting
):Je ne l'ai pas essayé mais je m'attends à ce qu'il fasse ce que vous voulez.
la source
Comme l'a indiqué la réponse de JeanPierre, vous devez spécifier le paramètre d'exportation de la langue. Pour le français, la ligne suivante fait le travail:
Toutes les langues ne sont pas prises en charge et, comme vous l'avez dit, il est possible de voir lesquelles affichent la
org-latex-export-dictionary
variable (vous pouvez utiliser la commande emacsC-h v
puis écrire le nom de la variable). Certaines langues peuvent être prises en charge partiellement ou pas du tout comme le serbe. Si vous voulez qu'il fonctionne avec une langue non prise en charge, ajoutez les chaînes traduites à la variable et envoyez-les de préférence aux développeurs afin qu'elle se termine en mode org.LaTex et PDF
Si vous exportez vers LaTex et souhaitez laisser Babel changer l'utilisation du texte:
Cela fonctionnera à la fois en HTML et en latex car le mot-clé AUTO sera remplacé par le nom de langage Babel correspondant. Pour afficher les langues prises en charge, consultez la
org-latex-babel-language-alist
variable. Toutes les langues disponibles à Babel ne sont pas là mais le serbe est et fonctionne (testé et "Contents" apparaît comme "Sadržaj").Si votre langue n'est pas en
org-latex-babel-language-alist
mais est disponible en babel, comme le breton, utilisez:Comme Breton n'est pas dans
org-latex-export-dictionary
laLANGUAGE
variable, il ne fera rien pour l'exportation HTML, il sera en anglais, mais c'est nécessaire. C'est parce que ce qui se retrouvera dans le fichier LaTex sera\usepackage[breton, <default-lang>]{babel}
oùdefault-lang
sera l'anglais s'ilLANGUAGE
n'est pas présent et la dernière langue est considérée par défaut par Babel. Comme cebr
n'est pas le cas,org-latex-babel-language-alist
on se retrouve avec\usepackage[breton, ]{babel}
, il y a du breton par défaut.Si Breton est ajouté,
org-latex-babel-language-alist
cela fonctionnera quand même (\usepackage[breton, breton]{babel}
). Si Breton est inclus,org-latex-export-dictionary
il fonctionnera désormais également en HTML. Si le breton n'était pas pris en charge par babel, cela fonctionnera de toute façon mais sera en anglais, donc cette configuration est celle qui vous donne autant dans la langue spécifiée que possible avec l'anglais comme alternative. J'utilise plutôtAUTO
si disponible car il n'y a qu'un seul endroit pour mettre la langue.Si vous n'aimez pas ce que Babel met en tant que "Contenu" mais que vous souhaitez toujours l'utiliser, vous pouvez faire quelque chose comme:
C'est comme la réponse de Tyler mais pour Babel.
la source
Si vous exportez au format PDF, le mode organisationnel appellera LaTeX pour effectuer la conversion. Dans ce cas, vous devriez pouvoir insérer la commande LaTeX pour modifier l'en-tête de la table des matières avec la ligne suivante:
Mettez cela en haut de votre fichier et essayez l'exportation.
la source
\usepackage[mylanguage]{babel}
.#+LANGUAGE: fr
et#+LATEX_HEADER: \usepackage[english]{babel}
dans ce cas latex respecte l' exportation le premier paramètre et se traduit par des chaînes en français homologues. Si je déclarede
dans le premier etfrench
oufrenchb
dans le second -de
est utilisé. J'ai également remarqué que dans les cas décrits, l'exportateur n'utilise pasorg-export-dictionary
, plus probablement il utilise des langages Latex. Vous avez une idée?:
. J'ai corrigé ma réponse.#+LANGUAGE: fr
seul, il est ignoré - la sortie LaTeX est en anglais. Si je l'utilise et#+LATEX_HEADER: \usepackage[english]{babel}
, le LaTeX résultant inclut la ligne\usepackage[english, frenchb]{babel}
. Et si j'utilise seulement#+LATEX_HEADER: \usepackage[french]{babel}
, sans réglageLANGUAGE:
, ce qui est réellement inséré est\usepackage[frenchb, english]{babel}
. Aucun d'eux ne change le PDF, c'est toujours l'anglais.Réponse courte: pour les exportations pdf, le package texlive-lang-french est requis
org 9.1.9
: Le réglage#+LANGUAGE: fr
seul n'a aucun effet.y arriver avec
ou
la source