#403: Uniinput LuaLaTeX-fähig machen
---------------------------------------+-----------------------
 Reporter:  anton.pirogov@…            |      Owner:
     Type:  Verbesserung               |     Status:  new
 Priority:  normal                     |  Milestone:
Component:  sonstiges                  |    Version:  2.0 Final
 Keywords:  uniinput, latex, lualatex  |
---------------------------------------+-----------------------
 Ich hatte http://the-user.org/post/switched-to-lualatex hier eine
 konvertierte uniinput entdeckt (mit unicode-math bin ich unzufrieden),
 fand es aber nicht schön, beide Versionen nebeneinander zu haben, wenn ich
 es mit pdflatex und lualatex bauen können möchte. Habe mit viel Google und
 Stackoverflow etwas zusammengebastelt, damit es ohne Duplikationen
 funktioniert. Bin weder Lua noch LaTeX-Entwickel-Guru, also wenn jemand da
 noch etwas verbessern kann (beim Escaping bin ich unsicher ob das ganz
 sicher ist)..

 Das folgende Schnipsel gehört dann direkt vor Beginn der Deklarationen der
 Symbole:

 {{{
 \RequirePackage{iftex}
 \ifLuaTeX
 \RequirePackage{luacode}
 \begin{luacode*}
   -- As parameter pass hexadecimal unicode code point and replacement
 string
   function cmdutf(c, cmd)
     local sym = unicode.utf8.char(tonumber(c,16))
     local str = "\\providecommand\\" .. sym .. "{" .. cmd .. "}"
     tex.print(str)
     -- texio.write_nl(str)
     tex.print("\\renewcommand\\" .. sym .. "{" .. cmd .. "}")
   end
   function letutf(c)
     local sym = unicode.utf8.char(tonumber(c,16))
     local str = "\\let" .. sym .. "\\" .. sym
     -- texio.write_nl(str)
     tex.print(str)
   end
 \end{luacode*}
 \def\DeclareUnicodeCharacter#1#2{%
 \catcode"#1=\active
 \directlua{cmdutf("#1",[[\unexpanded{#2}]])}
 \directlua{letutf("#1")}
 }
 \fi
 }}}

 Das Übersetzt quasi on-the-fly die \DeclareUnicodeCharacter Befehle in
 gleichwertige Befehle in LuaLaTeX (wie in der Datei im verlinkten Blog-
 Post) und funktioniert dadurch mit beiden Engines.

 Wäre schön, wenn das jemand einpflegt.

--
Ticket URL: <https://wiki.neo-layout.org/ticket/403>
Neo-Layout <http://neo-layout.org/>
Das Neo-Tastaturlayout ist ein freies und ergonomisch optimiertes 
Tastaturlayout für die deutsche Sprache, das auch sehr viele Sonderzeichen 
direkt verfügbar macht.

Antwort per Email an