Есть ли опция, которая изменяет заголовок по умолчанию оглавления в режиме Org?
Мой документ не на английском языке, поэтому я хочу перевести заголовок таблицы содержания.
Ответ
Как сказал ЖанПьер, речь идет о настройках экспорта. Вы можете установить LANGUAGE
в верхней части org
документа следующим образом:
#+LANGUAGE: fr
И французский будет использоваться в качестве языка по умолчанию для всех строк, которые org
создаются во время экспорта.
Постоянная ответственность за сопоставления перевода лежит org-export-dictionary
на, ox.el
и если ваш язык не поддерживается, вы можете сразу же удалить его, eval-defun
чтобы изменения вступили в силу. В моем случае:
(defconst org-export-dictionary
...
("Table of Contents"
...
("sr" :html "Sadržaj" :utf-8 "Sadržaj")
...)
...)
Я написал наивную функцию, которая может быть полезна в 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")
отказ
Это не работает, если вы хотите экспортировать через Latex (Latex используется, когда Org экспортирует в PDF). Посмотрите на ответ и комментарии Тайлера.
источник
Ответы:
Руководство Org говорит об этом в настройках экспорта (вы должны иметь возможность просматривать его в информации emacs
C-h i m Org m exporting
):Я не пробовал это, но я ожидаю, что это должно делать то, что вы хотите.
источник
Как указал ответ JeanPierre, вам нужно указать настройку языкового экспорта. Для французского языка работает следующая строка:
Не все языки поддерживаются, и, как вы сказали, можно увидеть, какие из них просматривают
org-latex-export-dictionary
переменную (вы можете использовать команду emacs, аC-h v
затем написать имя переменной). Некоторые языки могут поддерживаться только частично или вообще не поддерживаться, например сербский. Если вы хотите, чтобы он работал с неподдерживаемым языком, добавьте переведенные строки в переменную и, предпочтительно, отправьте их разработчикам, чтобы в итоге появился режим org.LaTex и PDF
Если вы экспортируете в LaTex и хотите, чтобы Babel изменил текст, используйте:
Это будет работать как в HTML, так и в латексе, поскольку ключевое слово AUTO будет заменено соответствующим именем языка Babel. Для просмотра поддерживаемых языков просмотрите
org-latex-babel-language-alist
переменную. Есть не все доступные в Вавилоне языки, но сербский есть и работает (проверил его, и «Содержание» отображается как «Садржай»).Если ваш язык отсутствует,
org-latex-babel-language-alist
но доступен на языке babel, например на бретонском, используйте:Как Бретон не
org-latex-export-dictionary
сLANGUAGE
переменным ничего для экспорта HTML не будет делать, это будет на английском языке, но это необходимо. Это потому, что в конечном итоге в файле LaTex будет место,\usepackage[breton, <default-lang>]{babel}
гдеdefault-lang
будет английский, еслиLANGUAGE
его нет, а последний язык по умолчанию считается Babel. Какbr
это не вorg-latex-babel-language-alist
конечном итоге\usepackage[breton, ]{babel}
, там Бретон по умолчанию.Если бретонец добавлен,
org-latex-babel-language-alist
он все равно будет работать (\usepackage[breton, breton]{babel}
). Если Бретон включен,org-latex-export-dictionary
он теперь будет работать и в HTML. Если бретонский язык не был поддержан babel, он все равно будет работать, но будет на английском языке, поэтому эта конфигурация дает вам как можно больше на указанном языке с английским языком, как запасной вариант. Я скорее использую,AUTO
если доступно, так как есть только одно место, чтобы поставить язык.Если вам не нравится то, что Бабель называет «контентом», но вы все еще хотите его использовать, вы можете сделать что-то вроде:
Это как ответ Тайлера, но для Вавилона.
источник
Если вы экспортируете в PDF, org-mode будет вызывать LaTeX для конвертации. В этом случае вы сможете вставить команду LaTeX для изменения заголовка TOC со следующей строкой:
Поместите это наверху своего файла и попробуйте экспорт.
источник
\usepackage[mylanguage]{babel}
.#+LANGUAGE: fr
и#+LATEX_HEADER: \usepackage[english]{babel}
в этом случае экспорт Latex Уважает первую установку и переводит строку во французских коллегах. Если я заявляюde
в первом и /french
илиfrenchb
во втором -de
используется. Я также заметил, что в описанных случаях экспортер не используетorg-export-dictionary
, скорее он использует латексные языки. Есть идеи?:
. Я исправил свой ответ.#+LANGUAGE: fr
по себе, это игнорируется - вывод LaTeX на английском языке. Если я использую его и#+LATEX_HEADER: \usepackage[english]{babel}
, полученный LaTeX включает в себя строку\usepackage[english, frenchb]{babel}
. И если я только использую#+LATEX_HEADER: \usepackage[french]{babel}
, без настройкиLANGUAGE:
, то, что на самом деле вставляется\usepackage[frenchb, english]{babel}
. Никто из них не меняет PDF, это всегда английский.Краткий ответ: для экспорта в PDF требуется пакет texlive-lang-french
org 9.1.9
: Настройка#+LANGUAGE: fr
сама по себе не имеет никакого эффекта.сделать это с
или
источник