Sprachumschaltung für Dokumente
Sprachumschaltung für Dokumente
Hallo, leider habe ich trotz Google keine Antwort finden können weil meine Frage für Suchmaschinen leicht verwirrend ist.
Ich möchte eine Dokumentation parallel in mehreren Sprachen schreiben ABER beim Kompilieren des Dokumentes die Ausgabesprache festlegen. Das heisst, dass die Dokumentation/Handbuch wahlweise in z.B. DE oder EN erzeugt werden kann.
Das Gesamtdokument besteht aus vielen Sektionen, die einzeln mit '\input' eingesogen werden. Jede Sektion enthält die Beschreibung für einen Sachverhalt ( https://github.com/fmorgner/AVR-Tutorial ) und soll jeweils in mehreren Sprachen beschrieben werden. Auf diese Weise möchte ich versuchen, die Sektionen der Dokumentation jeweils zusammenzuhalten.
Ist das möglich und wenn ja wie?
Ich möchte eine Dokumentation parallel in mehreren Sprachen schreiben ABER beim Kompilieren des Dokumentes die Ausgabesprache festlegen. Das heisst, dass die Dokumentation/Handbuch wahlweise in z.B. DE oder EN erzeugt werden kann.
Das Gesamtdokument besteht aus vielen Sektionen, die einzeln mit '\input' eingesogen werden. Jede Sektion enthält die Beschreibung für einen Sachverhalt ( https://github.com/fmorgner/AVR-Tutorial ) und soll jeweils in mehreren Sprachen beschrieben werden. Auf diese Weise möchte ich versuchen, die Sektionen der Dokumentation jeweils zusammenzuhalten.
Ist das möglich und wenn ja wie?
Re: Sprachumschaltung für Dokumente
Moin moin,
Deine Hauptdatei sei `main-en.tex'.
legt einen symbolischen Link mit Namen `main-de.tex' an.
Für jede main-??.tex-Datei erstellst Du eine .cfg-Datei, exemplarisch hier main-en.cfg:
und in der main-en.tex (und wegen der symbolischen Links automagisch in allen main-??.tex-Dateien)
Fehlen nur noch die einzubindenden Dateien, hier test-de.tex und test-en.tex und was Du da reinschreibst, überlass ich Dir;-)
Prinzipiell wäre es so jedenfalls leicht um andere Sprachen erweiterbar, so sprachbedingt nicht andere Encodings hinzukommen, dann müsste fontenc wohl mit in die .cfg-Datei(en).
MfG
Rainer
so Dein System symbolische Links unterstützt, könntest Du etwa so vorgehen:Manfred Morgner hat geschrieben: Ich möchte eine Dokumentation parallel in mehreren Sprachen schreiben ABER beim Kompilieren des Dokumentes die Ausgabesprache festlegen. Das heisst, dass die Dokumentation/Handbuch wahlweise in z.B. DE oder EN erzeugt werden kann.
Deine Hauptdatei sei `main-en.tex'.
ln -s main-en.tex main-de.tex
Für jede main-??.tex-Datei erstellst Du eine .cfg-Datei, exemplarisch hier main-en.cfg:
%English configuration \usepackage[english]{babel} \newcommand*\myext{en.tex}
\documentclass{article} \InputIfFileExists{\jobname.cfg} {\message{Using configuration file `\jobname.cfg'}} {\message{Config file `\jobname.cfg' not found. Strange things may happen...}} \providecommand*\myext{en.tex} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \newcommand*\myinput[1]{% \input{#1-\myext}% } \begin{document} \myinput{test} \end{document}
Prinzipiell wäre es so jedenfalls leicht um andere Sprachen erweiterbar, so sprachbedingt nicht andere Encodings hinzukommen, dann müsste fontenc wohl mit in die .cfg-Datei(en).
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)
Mehrsprachige Dokumentation
Hallo Rainer,
das ist sehr interessant! Dann werde ich die Struktur der Dokumentation anpassen, bevor es zu viele Dateien sind.
Vielen Dank!
Manfred.
das ist sehr interessant! Dann werde ich die Struktur der Dokumentation anpassen, bevor es zu viele Dateien sind.

Vielen Dank!
Manfred.
Re: Sprachumschaltung für Dokumente
Hallo Manfred!
Ich würde das Problem mit docstrip lösen. Die Bereiche in deiner zentralen Textdatei musst du für die einzelnen Sprachversionen entsprechen markieren. Nach einem docstrip-Lauf erhältst du dann Dateien für die einzelnen Sprachversionen (aus main.tex würden dann z. B. main-de.tex und main-en.tex).
Ein Beispiel für diesen Ansatz findest du unter http://journal.r-project.org/archive/20 ... ndholm.pdf.
Gruß
Jürgen
Ich würde das Problem mit docstrip lösen. Die Bereiche in deiner zentralen Textdatei musst du für die einzelnen Sprachversionen entsprechen markieren. Nach einem docstrip-Lauf erhältst du dann Dateien für die einzelnen Sprachversionen (aus main.tex würden dann z. B. main-de.tex und main-en.tex).
Ein Beispiel für diesen Ansatz findest du unter http://journal.r-project.org/archive/20 ... ndholm.pdf.
Gruß
Jürgen
Re: Mehrsprachige Dokumentation
Hallo Jürgen,
das ist auch ein sehr interessanter Ansatz. Es scheint allerdings, also müsste man dafür R installieren? Mir wäre das gleich, aber in eine Open Source Projekt, denke ich, sollte man seine Kollaborateure nicht zwingen, zusätzliche Software zu installieren 'nur' um eine Annehmlichkeit zu gewinnen.
Dennoch! Das Prinzip ist gut. Ich könnte ja ein Shellscript bauen, dass das sinngemäss abwickelt. Das könnte ich vielleicht auch in den TeXshop integrieren und/oder in ein Makefile.
Beide Vorschläge werde ich austesten. Das wird spannend!
Viele Grüsse,
Manfred.
das ist auch ein sehr interessanter Ansatz. Es scheint allerdings, also müsste man dafür R installieren? Mir wäre das gleich, aber in eine Open Source Projekt, denke ich, sollte man seine Kollaborateure nicht zwingen, zusätzliche Software zu installieren 'nur' um eine Annehmlichkeit zu gewinnen.

Dennoch! Das Prinzip ist gut. Ich könnte ja ein Shellscript bauen, dass das sinngemäss abwickelt. Das könnte ich vielleicht auch in den TeXshop integrieren und/oder in ein Makefile.
Beide Vorschläge werde ich austesten. Das wird spannend!
Viele Grüsse,
Manfred.
Re: Mehrsprachige Dokumentation
Hallo Manfred!
Nein, R musst du nicht installieren. Das Programm docstrip ist Teil jeder LaTeX-Distribution.
Allerdings wäre es sicherlich hilfreich, wie du ja auch schreibst, die notwendigen Schritte mit einem Skript oder einem Makefile zu automatisieren. Denn nach dem Einsatz von docstrip gilt es ja, die erzeugten Dateien zu übersetzen, ggf. Indizes zu erzeugen, Referenzen für eine Bibliographie aufzulösen etc. - das übliche Prozedere unter LaTeX halt.
Es wäre schön zu hören, wie du das Problem letztlich gelöst hast.
Liebe Grüße
Jürgen
Nein, R musst du nicht installieren. Das Programm docstrip ist Teil jeder LaTeX-Distribution.
Allerdings wäre es sicherlich hilfreich, wie du ja auch schreibst, die notwendigen Schritte mit einem Skript oder einem Makefile zu automatisieren. Denn nach dem Einsatz von docstrip gilt es ja, die erzeugten Dateien zu übersetzen, ggf. Indizes zu erzeugen, Referenzen für eine Bibliographie aufzulösen etc. - das übliche Prozedere unter LaTeX halt.
Es wäre schön zu hören, wie du das Problem letztlich gelöst hast.
Liebe Grüße
Jürgen
-
- Forum-Newbie
- Beiträge: 4
- Registriert: Mo 30. Jan 2012, 00:54
- Kontaktdaten:
Re: Mehrsprachige Dokumentation
Hallo Jürgen,
ich denke, das sollte ich in jedem Fall publizieren, denn da ich nichts dazu finden konnte, wäre das für Andere sicherlich auch hilfreich. Es wird aber unter Umständen bis zu 4 Wochen dauern weil ich verschiedene Szenarien durchspielen muss und leider nicht viel Zeit dafür habe.
Da mir die Sache aber generell wichtig ist, werde ich ihr Vorrang vor den meisten anderen Projekten geben - die brauchen ja letztlich alle eine Form von Dokumentation. Und bei internationaler Beteiligung grundsätzlich auch mehrsprachig. Darum ist es mir wichtig, dass der Rahmen brauchbar ist und wenig mehr verlangt als man beim Einsatz von LeTeX sowieso schon verlangt.
Viele Grüsse,
Manfred,
ich denke, das sollte ich in jedem Fall publizieren, denn da ich nichts dazu finden konnte, wäre das für Andere sicherlich auch hilfreich. Es wird aber unter Umständen bis zu 4 Wochen dauern weil ich verschiedene Szenarien durchspielen muss und leider nicht viel Zeit dafür habe.
Da mir die Sache aber generell wichtig ist, werde ich ihr Vorrang vor den meisten anderen Projekten geben - die brauchen ja letztlich alle eine Form von Dokumentation. Und bei internationaler Beteiligung grundsätzlich auch mehrsprachig. Darum ist es mir wichtig, dass der Rahmen brauchbar ist und wenig mehr verlangt als man beim Einsatz von LeTeX sowieso schon verlangt.
Viele Grüsse,
Manfred,
Hallo Jürgen!
Erstmal Danke für den Tipp!
Mein bescheidener Versuch, das so einfach wie möglich umzusetzen, sieht derzeit so aus:
als main.ins:
und als main.src:
Nach (la)tex main.ins bekommt man so seine main-*.tex-Dateien -- coole Sache, das;-)
@Manfred: mit Jürgens Vorschlag bist Du zumindest plattformunabhängig, IMHO.
MfG
Rainer
Erstmal Danke für den Tipp!
Mein bescheidener Versuch, das so einfach wie möglich umzusetzen, sieht derzeit so aus:
als main.ins:
\input docstrip.tex \keepsilent \askforoverwritefalse \nopostamble \generate{ \file{main-de.tex}{\from{main.src}{de}} \file{main-en.tex}{\from{main.src}{en}} \file{main-it.tex}{\from{main.src}{it}} } \endbatchfile
%<*de|en|it> % deutsch/englisch/italienisch: \documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %</de|en|it> % nur deutsch: %<de>\usepackage[ngerman]{babel} % nur englisch: %<en>\usepackage[english]{babel} % nur italienisch: %<it>\usepackage[italian]{babel} %<de|en|it>\begin{document} %<de>Deutscher Text %<en>English Text %<it>Testo italiano %<de|en|it>\end{document}
@Manfred: mit Jürgens Vorschlag bist Du zumindest plattformunabhängig, IMHO.
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)
-
- Forum-Newbie
- Beiträge: 4
- Registriert: Mo 30. Jan 2012, 00:54
- Kontaktdaten:
Re: Mehrsprachige Dokumentation
Hallo Rainer,
das sieht tatsächlich so ähnlich aus wie das was ich mir vorgestellt hatte weil es ermöglicht, in einem Dokument Sprachen zu mischen. Davon bin ich jetzt schon einmal begeistert! Ich werde vorsichtig versuchen, mit diesem Vorschlag zu starten und vor allem, es zu verstehen - Schritt für Schritt!
Wie versprochen werde ich Bescheid geben sobald ich es in mein Projekt eingebaut habe.
Viele Grüsse,
Manfred,
das sieht tatsächlich so ähnlich aus wie das was ich mir vorgestellt hatte weil es ermöglicht, in einem Dokument Sprachen zu mischen. Davon bin ich jetzt schon einmal begeistert! Ich werde vorsichtig versuchen, mit diesem Vorschlag zu starten und vor allem, es zu verstehen - Schritt für Schritt!
Wie versprochen werde ich Bescheid geben sobald ich es in mein Projekt eingebaut habe.
Viele Grüsse,
Manfred,
-
- Forum-Newbie
- Beiträge: 4
- Registriert: Mo 30. Jan 2012, 00:54
- Kontaktdaten:
Update
Wir setzen das 'Werk' jetzt bald neu auf. Dann passiert's!