문서 언어에 따라 조직 모드에서 목차 제목 변경


14

조직 모드에서 목차의 기본 제목을 변경하는 옵션이 있습니까?
내 문서가 영어가 아니므로 목차 제목을 번역하고 싶습니다.


대답

JeanPierre가 말했듯이 내보내기 설정에 관한 것입니다. 다음 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를 통해 내보내려면 작동하지 않습니다 (Org는 PDF로 내보낼 때 라텍스가 사용됨). 타일러의 답변과 의견을보십시오.


어떤 형식으로 내보내고 있습니까? PDF, html 또는?
Tyler

@TylerI 주로 ODT 및 HTML로 내 보냅니다.
foki

답변:


3

조직 매뉴얼 은 내보내기 설정에 대해 다음과 같이 말합니다 (emacs info에서 찾아 볼 수 있어야 함 C-h i m Org m exporting).

'언어'

일부 문자열을 번역하는 데 사용되는 언어 ( 'org-export-default-language') 예를 들어, '# + LANGUAGE : fr'은 Org가 시계 테이블에서 File (영어)을 Fichier (프랑스어) 로 번역 하도록 지시합니다.

나는 그것을 시도하지 않았지만 그것이 당신이 원하는 것을해야한다고 기대합니다.


1
모든 수출 업체에 충분하지는 않지만 라텍스 수출에 대해서는 @ rené answer를 참조하십시오.
Jocelyn delalande

10

JeanPierre가 지적했듯이 언어 내보내기 설정을 지정해야합니다. 프랑스어의 경우 다음 줄이 작동합니다.

#+LANGUAGE: fr

모든 언어가 지원되는 것은 아니며, 말한 것처럼 org-latex-export-dictionary변수 를보고있는 언어를 확인할 수 있습니다 (emacs 명령을 사용한 C-h v다음 변수 이름을 쓸 수 있음). 일부 언어는 세르비아어와 같이 부분적으로 만 지원되거나 전혀 지원되지 않을 수 있습니다. 지원되지 않는 언어로 작업하려면 번역 된 문자열을 변수에 추가하고 바람직하게는 개발자에게 보내서 org-mode로 만듭니다.

LaTex 및 PDF

LaTex로 내보내고 Babel이 텍스트 사용을 변경하게하려면 다음을 수행하십시오.

#+LANGUAGE: fr
#+LATEX_HEADER: \usepackage[AUTO]{babel}

AUTO 키워드는 해당 Babel 언어 이름으로 대체되므로 HTML과 라텍스 모두에서 작동합니다. 지원되는 언어를 보려면 org-latex-babel-language-alist변수를보십시오. 바벨에서 사용 가능한 모든 언어가있는 것은 아니지만 세르비아어가 존재하고 작동합니다 (테스트 한 후 "Contents"는 "Sadržaj"로 나타남).

귀하의 언어가 org-latex-babel-language-alist브르타뉴 어와 같이 바벨 어로 사용 가능하지만 사용 가능한 경우, 다음을 사용하십시오.

#+LANGUAGE: br
#+LATEX_HEADER: \usepackage[breton]{babel}

브르타뉴어이 아닌 것처럼 HTML 내보내기에 대한 아무것도하지 않습니다 변수가 영어로하지만 필요합니다. LaTex 파일에서 끝나는 것은 영어 가 없으면 영어 가 될 곳 이며 Babel은 마지막 언어를 기본 언어로 간주하기 때문입니다. 에 끝나지 않았으므로 Breton이 기본값입니다.org-latex-export-dictionaryLANGUAGE\usepackage[breton, <default-lang>]{babel}default-langLANGUAGEbrorg-latex-babel-language-alist\usepackage[breton, ]{babel}

Breton이 추가되면 org-latex-babel-language-alist어쨌든 작동합니다 ( \usepackage[breton, breton]{babel}). Breton이 포함되어 org-latex-export-dictionary있으면 이제 HTML에서도 작동합니다. breton이 babel에서 지원하지 않으면 어쨌든 작동하지만 영어로되어 있으므로이 구성은 영어로 가능한 한 지정된 언어로 가능한 한 많이 제공합니다. 차라리 사용하는 AUTO언어를 넣어 하나의 장소가 같은 경우에 사용할 수 있습니다.

Babel이 "Contents"로 넣는 것을 좋아하지 않지만 여전히 그것을 사용하고 싶다면 다음과 같이 할 수 있습니다.

#+LANGUAGE: en
#+LATEX_HEADER: \usepackage[AUTO]{babel}
#+LATEX_HEADER: \addto\captionsenglish{\renewcommand\contentsname{Outline}}

이것은 타일러의 대답과 같지만 바벨입니다.


감사! 표준 pdf 내보내기에서는 작동하지만 Beamer 슬라이드 내보내기에서는 작동하지 않습니다.
foki

4

PDF로 내보내는 경우 org-mode는 LaTeX를 호출하여 변환을 수행합니다. 이 경우 LaTeX 명령을 삽입하여 다음 줄로 TOC 제목을 변경할 수 있습니다.

#+LATEX_HEADER: \renewcommand*{\contentsname}{My Table of Contents Header}

파일 맨 위에 놓고 내보내기를 시도하십시오.


현재 LATEX 환경이 설정되어 있지 않아 PDF로 시도 할 수 없습니다. 이제 LADT 명령이 도움이되지 않도록 ODT 및 HTML로 내보내고 싶습니다 (잘못된 경우 알려주세요).
foki

1
LaTeX로 내보낼 때는 LaTeX의 자체 언어 처리 방법을 사용하는 것이 좋습니다 \usepackage[mylanguage]{babel}.
JeanPierre

@JeanPierre 방금 이상한 행동을 발견했습니다. 타일러의 접근 방식은 나를 위해 일을하지 않는, 그러나 행동은 JeanPierre의 더욱 흥미 롭다 사용 각성 - 나는 모두를 선언했다 #+LANGUAGE: fr#+LATEX_HEADER: \usepackage[english]{babel}이 경우 라텍스 수출면 처음 설정에서 프랑스 대응에 문자열을 변환합니다. 내가 de첫 번째로 선언 french하거나 frenchb두 번째로 선언하면 de사용됩니다. 또한 설명 된 경우 org-export-dictionaryexport가을 사용하지 않고 Latex 언어를 사용하는 것으로 나타났습니다 . 어떤 아이디어가 있습니까?
foki

@foki 죄송합니다 :. 콜론이 없습니다 . 내 대답을 수정했습니다.
Tyler

2
이상한, 내가 #+LANGUAGE: fr스스로 사용 하는 경우 무시됩니다-출력 LaTeX는 영어입니다. 내가 그것을 사용 #+LATEX_HEADER: \usepackage[english]{babel}하면 결과 LaTeX에 선이 포함됩니다 \usepackage[english, frenchb]{babel}. 그리고 #+LATEX_HEADER: \usepackage[french]{babel}설정없이 만 사용 하면 LANGUAGE:실제로 삽입되는 것이 \usepackage[frenchb, english]{babel}있습니다. 그들 중 누구도 PDF를 변경하지 않으며 항상 영어입니다.
Tyler

0

짧은 답변 : PDF 내보내기의 경우 texlive-lang-french 패키지 가 필요합니다

org 9.1.9: 설정 #+LANGUAGE: fr만으로는 효과가 없습니다.

그것으로 일어날

#+LATEX_HEADER: \usepackage[frenchb]{babel}

또는

#+LANGUAGE: fr
#+LATEX_HEADER: \usepackage[AUTO]{babel}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.