如何在 PDF 流中准确写入 LaTeX 命令?

如何在 PDF 流中准确写入 LaTeX 命令?

我尝试在 PDF 流中编写 LaTeX 公式,它几乎可以正常工作,但在和之后\begin\end有一个空格,因此例如\begin{multline}我有而不是\begin {multline}。我对 也遇到同样的情况\end。我如何使用 LaTeX 命令和expl3语法来修复它(我问了两种方法,因为我想了解如何不仅使用 LaTeX 样式而且还使用 来修复它expl3)。

\documentclass{article}
\usepackage{l3pdf,}

    \begin{document}
    test
    \ExplSyntaxOn
    \pdf_uncompress: %why not works,or it issue of l3pdf?
    \directlua{pdf.setcompresslevel(0)}
    \pdf_object_new:nn{obj}{stream}
    \pdf_object_write:nx{obj}{{/Type\c_space_tl some_type}{\detokenize{\begin{multline}a/x=1\\a^2+x^2=0\end{multline}}}}
    \ExplSyntaxOff
    \end{document}

答案1

\documentclass{article}
\usepackage{l3pdf,}
\ExplSyntaxOn
 \pdf_uncompress: %should be in the preamble ...
\ExplSyntaxOff
\begin{document}
test
\ExplSyntaxOn
\pdf_object_new:nn{obj}{stream}
\tl_set_rescan:Nnn\l_tmpa_tl 
 {
  \char_set_catcode_other:n {92}
  \char_set_catcode_other:n {94}
  \char_set_catcode_other:n {95}
 }
 {\begin{multline}a/x=1\\a^2+x^2=0\end{multline}}

\pdf_object_write:nx{obj}{{/Type\c_space_tl some_type}{\l_tmpa_tl}}
\ExplSyntaxOff
\end{document}

似乎有效,但可能相当慢。

相关内容