我想将反斜杠转义为 a,如下所示。当前 MWE 无法按预期工作,因为它仍然导入所有代码,而不是夹在环境rangeprefix
中的代码。document
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{xxx.xxx}
\documentclass{article}
\usepackage{mwe}
\begin{document}
\lipsum[1]
\end{document}
\end{filecontents*}
\usepackage{listings}
\lstset
{
includerangemarker=false,
rangeprefix=\textbackslash,
rangesuffix=\{document\},
linerange=begin-end,
}
\begin{document}
\lstinputlisting{xxx.xxx}
\end{document}
答案1
引用清单手册:
关键词 我们首先从关键词构建关键开始。注意:如果你想 进入 \,{, }, %, # 或 & 作为(的一部分)下面关键字的参数,您必须在前面加上反斜杠!
公平地说,这不在关于的部分中linerange
。那里只说
请注意,TEX 的特殊字符(例如花括号、空格、百分号等)必须用反斜杠进行转义。
但实际上你可以使用\\
转义的反斜杠:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{xxx.xxx}
\documentclass{article}
\usepackage{mwe}
\begin{document}
\lipsum[1]
\end{document}
\end{filecontents*}
\usepackage{listings}
\lstset
{
includerangemarker=false,
rangeprefix=\\,
rangesuffix=\{document\},
}
\begin{document}
\lstinputlisting[linerange=begin-end]{xxx.xxx}
\end{document}
哦,只是一个建议,以下内容可能更灵活一些:
\lstset
{
includerangemarker=false,
rangebeginprefix=\\begin\{,
rangeendprefix=\\end\{,
rangesuffix=\},
}
\begin{document}
\lstinputlisting[linerange=document-document]{xxx.xxx}
\end{document}