Uniinput LuaLaTeX-fähig machen #403

Закрыто
открыта 2014-11-18 23:32:45 +01:00 anton.pirogov · 1 комментарий
anton.pirogov прокомментировал(а) 2014-11-18 23:32:45 +01:00

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.

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.
anton.pirogov добавил(а) метку
Verbesserung
2014-11-18 23:32:45 +01:00
hrnz назначил(а) на себя 2020-06-13 23:06:39 +02:00
hrnz прокомментировал(а) 2020-10-25 16:53:50 +01:00
Владелец

Seit 33bd6a56d0 ist uniinput mit XeTeX und LuaTeX kompatibel. Die meisten Benutzer sollten jedoch unicode-math gegenüber dieser Lösung vorziehen.

Seit 33bd6a56d0ee1c2f2a20195bb3c53a8c25575bb4 ist uniinput mit XeTeX und LuaTeX kompatibel. Die meisten Benutzer sollten jedoch unicode-math gegenüber dieser Lösung vorziehen.
hrnz закрыл(а) эту задачу 2020-10-25 16:53:50 +01:00
Войдите, чтобы присоединиться к обсуждению.
Нет этапа
Нет назначенных лиц
2 участников
Уведомления
Срок выполнения
Срок действия недействителен или находится за пределами допустимого диапазона. Пожалуйста, используйте формат 'гггг-мм-дд'.

Срок выполнения не установлен.

Зависимости

Зависимостей нет.

Ссылка: neo/neo-layout#403
Описание отсутствует.