Ein LaTeX-Dokument soll in zwei verschiedenen Sprachversionen (Deutsch und Englisch) erstellt werden. Der Dokumentenaufbau ist in beiden Fällen gleich, nur die Texte sollen jeweils übersetzt werden. Es scheint wenig sinnvoll, zwei gänzlich unabhängige tex-Dateien anzulegen, da dies bei Änderungen schnell zu Inkonsistenzen führen kann. Welches Vorgehen ist zweckmäßig?

gefragt 20 Mär '16, 11:48

Cletus's gravatar image

Cletus
1.6k45566
Akzeptiert-Rate: 75%

Die Präambel bleibt gleich, nur das Dokument ändert sich. Damit hast du drei Dateien: head.tex, german.tex and english.tex. Zweckmäßiger wäre aber vielleicht die übersetzungen in einem Dokument zu haben.

(20 Mär '16, 12:04) Johannes

Als Minimallösung in Ordnung, es gibt aber außer der Präambel noch mehr gemeinsame Teile (Gleitumgebungen, Fußnoten, Literaturverzeichnis).

(22 Mär '16, 13:18) Cletus

@Cletus das lässt sich mit der zweiten Version in meiner Antwort easy umsetzen, oder nicht? Deine Frage ist natürlich recht allgemein gehalten, also ist die Beantwortung notwendigerweise ebenso allgemein…

(22 Mär '16, 13:20) cgnieder

Zwei Ideen:

  • eine gemeinsame Präambel und zwei weitere Dateien, die das Dokument einmal auf deutsch und einmal auf englisch enthalten (im Beispiel hab ich die zusätzlichen Datei aus Bequemlichkeit mit filecontents hinzugefügt):

    Open in Online-Editor
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    
    \usepackage{filecontents}
    \begin{filecontents*}{\jobname-german.tex}
      Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend
      und wurde allenthalben als Schritt in die falsche Richtung angesehen.
    \end{filecontents*}
    
    \begin{filecontents*}{\jobname-english.tex}
      In the beginning the Universe was created. This has made a lot of people
      very angry and been widely regarded as a bad move.
    \end{filecontents*}
    
    \usepackage[english]{babel}
    % \usepackage[ngerman]{babel}
    
    \begin{document}
    
    \input{\jobname-english}
    % \input{\jobname-german}
    
    \end{document}
    
  • ein einziges Dokument, das beide Inhalte enthält:

    Open in Online-Editor
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    
    \usepackage[english]{babel}
    % \usepackage[ngerman]{babel}
    
    \usepackage{translations}
    
    \newcommand\EnDe[2]{%
      \ifcurrentbaselanguage{English}{#1}{%
        \ifcurrentbaselanguage{German}{#2}{Sorry -- weder deutsch noch englisch
          ist aktiv}%
      }%
    }
    
    \begin{document}
    
    \EnDe{%
      In the beginning the Universe was created. This has made a lot of people
      very angry and been widely regarded as a bad move.%
    }{%
      Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend
      und wurde allenthalben als Schritt in die falsche Richtung angesehen.%
    }
    
    \end{document}
    
  • Permanenter link

    beantwortet 21 Mär '16, 19:32

    cgnieder's gravatar image

    cgnieder
    22.1k243463
    Akzeptiert-Rate: 60%

    bearbeitet 21 Mär '16, 19:33

    Deine Antwort
    Vorschau umschalten

    Folgen dieser Frage

    Per E-Mail:

    Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

    Per RSS:

    Antworten

    Antworten und Kommentare

    Markdown-Grundlagen

    • *kursiv* oder _kursiv_
    • **Fett** oder __Fett__
    • Link:[Text](http://url.com/ "Titel")
    • Bild?![alt Text](/path/img.jpg "Titel")
    • nummerierte Liste: 1. Foo 2. Bar
    • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
    • grundlegende HTML-Tags werden ebenfalls unterstützt

    Frage-Themen:

    ×17
    ×2

    gestellte Frage: 20 Mär '16, 11:48

    Frage wurde gesehen: 6,509 Mal

    zuletzt geändert: 22 Mär '16, 13:20