LuaLaTeX 字符串文字 - 将新行保留在 Latex 宏中

LuaLaTeX 字符串文字 - 将新行保留在 Latex 宏中

在 LuaLaTeX 中,我了解到如果您的 Lua 字符串有\n,您可以逐行打印字符串,代码将忠实再现。但是如果您将该字符串设置为宏,它将不起作用。见下文。

\begin{luacode*}
    multilines = [[
    hello

    world
    ]]

    for line in multilines:gmatch"[^\n]*" do -- works fine
        tex.print(line)
    end

    token.set_macro('multilines',multilines,'global') 

\end{luacode*}

    \multilines % does not satisfy

我想到了一个小小的办法:multilines:gsub('\n\n','\\par ')。但我遇到了一个新问题。假设我想将以下文本(在 Lua 中)分配给 LaTeX 宏:

md = [[
        \begin{markdown}
        # section name

        - list1
        - list2
        \end{markdown}
        ]]

        --token.set_macro('md',md,'global') -- doesnt work
        token.set_macro('md',md:gsub('\n\n','\\par '),'global') -- doesnt work

md将字符串文字的新行推送到 LaTeX 宏时如何保留它们?

相关内容