我不太确定如何描述这一点,但我想创建一个自定义命令,将其输入视为逐字逐句并允许对输出进行一些控制。
用伪代码来说,我想要:
\newcommand{\code}[1]{\verb{!#1!}}
\newcommand{\samp}[1]{{\normalfont\textsl{\verb!#1!}}}
(但这显然不起作用)
newverbs
让我接近我需要的,但是例如
\RequirePackage{newverbs}
\newverbcommand{\code}{}{}
需要\code!~!
而不是\code{~}
答案1
我准备了一些东西listings
\lstset
包。您可以通过自定义和命令来调整外观\lstdefinestyle
。有关更多信息,请参阅文档。
\documentclass{standalone}
\usepackage{xcolor}
\usepackage{listings}
\lstset{
basicstyle=\color{red}\itshape
}
\lstdefinestyle{inline}{
columns=fullflexible,
breaklines=false
}
\newcommand{\code}[1]{\lstinline[style=inline]!#1!}
\begin{document}
Here is some \code{verbatim} text.
\end{document}
输出将会像这样
答案2
这将使参数的内联转换为 catcode 12 个标记,但空格和百分号 (%) 除外,它仍将其视为忽略行中其余字符。因此,它将换行。但它不会在参数中遵守换行符。但作为内联命令,您不会希望它这样做。
正如约瑟夫赖特 (Joseph Wright) 指出的那样,不平衡的支架也会损坏此版本。
\documentclass{article}
\usepackage[T1]{fontenc}
\def\fauxverb#1{\textsl{\detokenize{#1}}}
\begin{document}
This is \fauxverb{\verbatim} text.
\end{document}