Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 6

17 Mär '21, 20:04

stefan's gravatar image

stefan
18.4k163148

Mit »reinem LuaTeX«, meinst du vermutlich plainTeX mit LuaTeX. plainTeX verwendet (auch mit LuaTeX) immer Computer Modern als Grundschrift. Und das hat nun einmal nur einen sehr begrenzten Zeichenvorrat und ist auch nicht Unicode codiert. Bei plainTeX ist aber kein Zwischenlayer vorhanden, so dass Eingabecodierung gleich Fontcodierung ist. Du musst also erst einmal einen passenden OpenType-Font laden. Das wiederum ist eigentlich nur per `luaotfload` möglich. In diesem Fall ist es tatsächlich möglich `luaotfload.sty` auch zusammen mit `luatex`, der LuaTeX-Variate von plainTeX zu verwenden: % !TEX luatex \input luaotfload.sty \font\tenrm "name:LatinModernRoman" at 10pt \tenrm Test äöüß éĉ €µ \bye Der Aufruf mit `luatex test.tex` ergibt dann: This is LuaTeX, Version 1.12.0 (TeX Live 2020) restricted system commands enabled. (./test.tex (/usr/local/texlive/2020/texmf-dist/tex/luatex/luaotfload/luaotfload.sty (/usr/local/texlive/2020/texmf-dist/tex/latex/base/ltluatex.tex)) [1{/usr/local /texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map}])</usr/local/texliv e/2020/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf> Output written on test.pdf (1 page, 4155 bytes). Transcript written on test.log. und als PDF-Ausgabe: [![Test äöüß éĉ €μ][1]][1] Natürlich müsste man auch die anderen Fonts entsprechend mit einem Unicode-Font ersetzen. Das geht leider nicht so komfortabel wie bei LaTeX mit `fontspec`, das bei Angabe einer Font-Familie gleich versucht, auch die übrigen Schnitte passend zu laden. Was deine zweite Frage, nämlich die nach der Trennung anbelangt: plainTeX hat normalerweise nur Trennmuster für Englisch eingebaut. Prinzipiell ist es bei plainTeX für andere Sprachen üblich, dass man ein eigenes Format erzeugt. Dazu definiert man sich eine `ini`-Datei, in der man vor dem `\dump` zusätzlich die gewünschte Sprache anlegt und die zugehörigen Trennmuster lädt und auch die `\lefthyphenmin` und `\righthyphenmin` entsprechend einstellt. Bei LuaTeX hat man nun allerdings den Vorteil, dass man Trennmuster nicht zwingend ins Format einbauen muss, also `\pattern` nur in iniTeX erlaubt ist. Stattdessen kann man Trennmuster auch noch zur Laufzeit laden. Daher kann man etwas wie: % !TEX luatex \showhyphens{Geheimdienst} \newlanguage\languagengerman \language\languagengerman \input dehyphn \showhyphens{Geheimdienst} text \bye verwenden. Die Temrinalausgabe zeigt, dass dabei tatsächlich die gewünschten Trennmuster geladen und verwendet werden: This is LuaTeX, Version 1.12.0 (TeX Live 2020) restricted system commands enabled. (./test.tex Underfull \hbox (badness 10000) in paragraph at lines 2--2 [] \tenrm Geheim-di-enst (/usr/local/texlive/2020/texmf-dist/tex/generic/dehyph/dehyphn.tex New German Hyphenation Patterns `dehyphn' Rev.31 <2001-05-07> (WaS)) Underfull \hbox (badness 10000) in paragraph at lines 6--6 [] \tenrm Ge-heim-dienst ) (see the transcript file for additional information) warning (pdf backend): no pages of output. Transcript written on test.log. Die Zeile: % !TEX none [] Zeile 5 `[] \tenrm Geheim-di-enst Geheim-di-enst` zeigt die möglichen Trennstellen von »Geheimdienst« mit den voreingestellten englischen Trennmustern, wohingegen % !TEX none [] wohingegen Zeile 9 `[] \tenrm Ge-heim-dienst Ge-heim-dienst` die möglichen Trennstellen mit den deutschen Trennmustern aus `dehyphn.tex` zeigt. Beide Lösungen sind natürlich kombinierbar. Übrigens haben wir bereits eine Frage zum Thema [Sprachunterstützung mit plainTeX](https://texwelt.de/fragen/9684/welche-unterstutzung-bietet-plain-tex-fur-texte-in-deutscher-sprache). Der Teil der Frage ist also eigentlich ein Dulikat. Es sei darauf hingewiesen, dass je mehr Komfort man haben will, desto mehr nähert man sich der Verwendung eines leistungsfähigeren Formats wie LaTeX oder ConTeXt an. Spätestens, wenn man Entspechungen für `unicode-math` o. ä. haben will, lohnt es sich dann einfach nicht mehr, sich auf auf die Verwendung von plainTeX zu versteifen. In jedem Fall sollte man als plainTeX-Anwender sowohl »The TeXbook« als auch das LuaTeX-Manual verstanden haben. Und bei Dingen wie der Verwendbarkeit von `luaotfload.sty` sollte man auch in der Lage sein, Pakete und Lua-Dateien zu lesen. Abschließend sei auch noch darauf hingewiesen, dass es neben `luatex` inzwischen auch noch `luahbtex`, also plainTeX mit LuaTeX und HarfBuzz gibt. Für bestimmte Sprachen/Fonts ist das ggf. von Vorteil. [1]: https://texwelt.de/upfiles/test_20210217_190806.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 5
TeX engine für Code-Box

17 Mär '21, 20:01

stefan's gravatar image

stefan
18.4k163148

Mit »reinem LuaTeX«, meinst du vermutlich plainTeX mit LuaTeX. plainTeX verwendet (auch mit LuaTeX) immer Computer Modern als Grundschrift. Und das hat nun einmal nur einen sehr begrenzten Zeichenvorrat und ist auch nicht Unicode codiert. Bei plainTeX ist aber kein Zwischenlayer vorhanden, so dass Eingabecodierung gleich Fontcodierung ist. Du musst also erst einmal einen passenden OpenType-Font laden. Das wiederum ist eigentlich nur per `luaotfload` möglich. In diesem Fall ist es tatsächlich möglich `luaotfload.sty` auch zusammen mit `luatex`, der LuaTeX-Variate von plainTeX zu verwenden: %!luatex % !TEX luatex \input luaotfload.sty \font\tenrm "name:LatinModernRoman" at 10pt \tenrm Test äöüß éĉ €µ \bye Der Aufruf mit `luatex test.tex` ergibt dann: This is LuaTeX, Version 1.12.0 (TeX Live 2020) restricted system commands enabled. (./test.tex (/usr/local/texlive/2020/texmf-dist/tex/luatex/luaotfload/luaotfload.sty (/usr/local/texlive/2020/texmf-dist/tex/latex/base/ltluatex.tex)) [1{/usr/local /texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map}])</usr/local/texliv e/2020/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf> Output written on test.pdf (1 page, 4155 bytes). Transcript written on test.log. und als PDF-Ausgabe: [![Test äöüß éĉ €μ][1]][1] Natürlich müsste man auch die anderen Fonts entsprechend mit einem Unicode-Font ersetzen. Das geht leider nicht so komfortabel wie bei LaTeX mit `fontspec`, das bei Angabe einer Font-Familie gleich versucht, auch die übrigen Schnitte passend zu laden. Was deine zweite Frage, nämlich die nach der Trennung anbelangt: plainTeX hat normalerweise nur Trennmuster für Englisch eingebaut. Prinzipiell ist es bei plainTeX für andere Sprachen üblich, dass man ein eigenes Format erzeugt. Dazu definiert man sich eine `ini`-Datei, in der man vor dem `\dump` zusätzlich die gewünschte Sprache anlegt und die zugehörigen Trennmuster lädt und auch die `\lefthyphenmin` und `\righthyphenmin` entsprechend einstellt. Bei LuaTeX hat man nun allerdings den Vorteil, dass man Trennmuster nicht zwingend ins Format einbauen muss, also `\pattern` nur in iniTeX erlaubt ist. Stattdessen kann man Trennmuster auch noch zur Laufzeit laden. Daher kann man etwas wie: %!luatex % !TEX luatex \showhyphens{Geheimdienst} \newlanguage\languagengerman \language\languagengerman \input dehyphn \showhyphens{Geheimdienst} \bye verwenden. Die Temrinalausgabe zeigt, dass dabei tatsächlich die gewünschten Trennmuster geladen und verwendet werden: This is LuaTeX, Version 1.12.0 (TeX Live 2020) restricted system commands enabled. (./test.tex Underfull \hbox (badness 10000) in paragraph at lines 2--2 [] \tenrm Geheim-di-enst (/usr/local/texlive/2020/texmf-dist/tex/generic/dehyph/dehyphn.tex New German Hyphenation Patterns `dehyphn' Rev.31 <2001-05-07> (WaS)) Underfull \hbox (badness 10000) in paragraph at lines 6--6 [] \tenrm Ge-heim-dienst ) (see the transcript file for additional information) warning (pdf backend): no pages of output. Transcript written on test.log. Die Zeile: % !TEX none [] \tenrm Geheim-di-enst zeigt die möglichen Trennstellen von »Geheimdienst« mit den voreingestellten englischen Trennmustern, wohingegen % !TEX none [] \tenrm Ge-heim-dienst die möglichen Trennstellen mit den deutschen Trennmustern aus `dehyphn.tex` zeigt. Beide Lösungen sind natürlich kombinierbar. Übrigens haben wir bereits eine Frage zum Thema [Sprachunterstützung mit plainTeX](https://texwelt.de/fragen/9684/welche-unterstutzung-bietet-plain-tex-fur-texte-in-deutscher-sprache). Der Teil der Frage ist also eigentlich ein Dulikat. Es sei darauf hingewiesen, dass je mehr Komfort man haben will, desto mehr nähert man sich der Verwendung eines leistungsfähigeren Formats wie LaTeX oder ConTeXt an. Spätestens, wenn man Entspechungen für `unicode-math` o. ä. haben will, lohnt es sich dann einfach nicht mehr, sich auf auf die Verwendung von plainTeX zu versteifen. In jedem Fall sollte man als plainTeX-Anwender sowohl »The TeXbook« als auch das LuaTeX-Manual verstanden haben. Und bei Dingen wie der Verwendbarkeit von `luaotfload.sty` sollte man auch in der Lage sein, Pakete und Lua-Dateien zu lesen. Abschließend sei auch noch darauf hingewiesen, dass es neben `luatex` inzwischen auch noch `luahbtex`, also plainTeX mit LuaTeX und HarfBuzz gibt. Für bestimmte Sprachen/Fonts ist das ggf. von Vorteil. [1]: https://texwelt.de/upfiles/test_20210217_190806.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

22 Feb '21, 12:57

saputello's gravatar image

saputello
11.1k174365

Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

17 Feb '21, 20:22

saputello's gravatar image

saputello
11.1k174365

Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

17 Feb '21, 19:43

saputello's gravatar image

saputello
11.1k174365

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

17 Feb '21, 19:38

saputello's gravatar image

saputello
11.1k174365

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×