有了这个包,listing
我可以用来emph=
强调特定的身份标识在整个列表中。
\begin{lstlisting}[style=towi, title=Functions,emph={add}]
void print(int arg) { /* ... */ }
int add(int a, int b) { return a + b; }
...
print(12); // call function print
int sum = add(8, 4); // call function add
\end{lstlisting}
add
这将强调列表中的所有实例。
但是我只想强调一个特定的实例,而不仅仅是标识符,而是想自由选择要强调哪个部分add(8, 4);
。
答案1
为了实现您想要的效果,请不要添加,而是emph=
定义一个escapechar
并使用您的格式emphstyle
来强调该行的那一部分。
例如,假设你有
emphstyle=\underline
然后,定义
escapechar=ä
你可以写
ä\underline{add(8, 4);}ä
来强调add(8, 4);
,而不是其他的出现add
。
梅威瑟:
\documentclass{article}
\usepackage{listings}
\lstset{%
basicstyle=\ttfamily,
columns=fullflexible,
emphstyle=\underline,
}
\begin{document}
\begin{lstlisting}[title=Functions,emph={add}]
void print(int arg) { /* ... */ }
int add(int a, int b) { return a + b; }
...
print(12); // call function print
int sum = add(8, 4); // call function add
\end{lstlisting}
\begin{lstlisting}[title=Functions,escapechar=ä]
void print(int arg) { /* ... */ }
int add(int a, int b) { return a + b; }
...
print(12); // call function print
int sum = ä\underline{add(8, 4);}ä // call function add
\end{lstlisting}
\end{document}
输出: