Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Latex 如何在命令参数中转义字符串_Latex_Pdflatex_Miktex - Fatal编程技术网

Latex 如何在命令参数中转义字符串

Latex 如何在命令参数中转义字符串,latex,pdflatex,miktex,Latex,Pdflatex,Miktex,最简单的例子: \documentclass{article} \usepackage{minted} \usepackage{syntax} \begin{document} \begin{minted}{some_thing} foo \end{minted} \end{document} 使用Miktex/pdflatex编译时,我得到 ! Missing \endcsname inserted. <to be read again>

最简单的例子:

\documentclass{article}

\usepackage{minted}
\usepackage{syntax}

\begin{document}

\begin{minted}{some_thing}
foo
\end{minted}

\end{document}
使用Miktex/pdflatex编译时,我得到

! Missing \endcsname inserted.
<to be read again>
                   \protect
l.8 \begin{minted}{some_thing}
!缺少\endcsname已插入。
\保护
l、 开始{minted}{some_thing}
到目前为止,我发现问题出在
some\u thing
中的下划线。这只是我添加
语法
包时的一个问题。请注意,这里最好的情况仍然是一个错误:
Package-minted-error:Missing-Pygments-output。所讨论的论点应该指向一个文件。这个例子真是做作,对不起

所以我想我需要逃离下划线?只是去做一些事情,我也会犯同样的错误。我猜命令参数在某种程度上是不同的。我能在这里做什么?

我在这里找到了答案:

\\\\
是一个
\chardef
标记,它将
\\
打印出来,但不会在文件名等中扩展为

post使用命令
\string
进行转义

这就解释了为什么
\\
在那个地方什么都不做。在我的例子中,
\begin{minted}{some\string\u thing}
工作得很好

我尝试了
\begin{minted}{\string{some_thing}}
,因为在我看来这会更可读,但这不起作用。我想这不是
\string
的工作原理吧?¯\_(ツ)_/“”