单行注释部分斜体

单行注释部分斜体

我想要将单行注释的一部分变为斜体,例如:

string new = old; // new is a *copy* of old

在上文中,我希望“复制”以斜体显示,同时保留注释已有的格式(即字体大小、颜色等)。

我试过使用 moredelim,但它在评论中不起作用。任何帮助都将不胜感激,谢谢。

答案1

当您使用标签时,我假设你正在使用包listingslistings,您可以使用escapechar=*从列表转义到 LaTeX 并将escapebegin=\itshape转义部分变为斜体:

\documentclass{article}

\usepackage{listings}

\begin{document}
\begin{lstlisting}[escapechar=*,escapebegin=\itshape]
string new = old; // new is a *copy* of old
\end{lstlisting}
\end{document}

转义,斜体“复制”

有关转义的更多信息,请参阅手册。

答案2

如果您重新定义这种风格评论的注释机制,那么您可以使其样式具有累积性(使用*),然后应用另一种样式:

示例输出

\documentclass{article}

\usepackage{listings}

\begin{document}
\lstset{language=C,morecomment=*[l][]{//},moredelim=*[is][\itshape]{*}{*}}
\begin{lstlisting}
string new = old; // new is a *copy* of old
\end{lstlisting}
\end{document}

相关内容