我是 tabularray 的新手,在排版带有代码的表格时遇到了问题。
verb
我看到必须向环境提供选项tblr
以允许逐字文本,但即便如此,字符%
也会&
导致错误:
\documentclass{scrartcl}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{verb,colspec={c}}
\verb!%!
\end{tblr}
\end{document}
给出\verb ended by end of line. \end
。 也发生同样的情况&
。
我很茫然,因为给出\%
或\&
打印出反斜杠也是如此。
如果重要的话我正在使用 lualatex 进行编译。
答案1
答案2
- 您可以使用 %=12` 临时更改注释的类别
\catcode
。缺点:在源代码中它总是显示为注释 &
创建要更改为\&
并使用的命令\texttt
代码
\documentclass{scrartcl}
\usepackage{tabularray}
\ExplSyntaxOn
\NewDocumentCommand{\myverb}{m}{
\char_set_catcode_other:N \&
\tl_set:Nn \l_tmpa_tl {#1}
\regex_replace_all:nnN { & } { \& } \l_tmpa_tl
\texttt{\l_tmpa_tl}
\char_set_catcode_alignment:N \&
}
\ExplSyntaxOff
\begin{document}
\verb|%abcd&|
\catcode`\%=12
\myverb{%abcd&}
\catcode`\%=14
\catcode`\%=12
\begin{tblr}{
colspec={c c},
vlines}
\myverb{%abcd&} & Another word\\
azerty&\myverb{%a%b&cd}
\end{tblr}
\catcode`\%=14
% comment
\end{document}