如何让 Latex 宏使用特殊字符

如何让 Latex 宏使用特殊字符

我已经制作了下一个用于代码突出显示的宏:

\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tcolorbox}
\usepackage{xspace}

\definecolor{CodeBg}{RGB}{238, 241, 242}
\definecolor{CodeText}{RGB}{88, 97, 107}
\newcommand{\code}[1]
{\tcbox
    [on line, 
    boxsep=4pt, 
    left=-0.5mm,
    right=-0.9mm,
    top=-0.4mm,
    bottom=-0.4mm,
    colframe=white,
    colback=CodeBg,  
    %   highlight math style={enhanced}
    ]{\normalfont\ttfamily\color{CodeText} #1}\xspace
}

\begin{document}
    There is a function \code{strcmp(str1, str2)} that compares two strings. Varriable of \code{int} type is returned by \code{strcmp(str1, str2)}.
\end{document}

它完全按照我想要的方式工作,但是有一个问题:代码通常包含特殊字符(#_%&*),并且粘贴一些代码并通过在每个字符前面放置来修复所有代码\听起来不太好。

有没有办法让\code{}宏将整个参数作为纯文本使用?

相关内容