2010-05-02 203 views
1

是否有简单的方法让lstlisting环境中的完整代码加下划线? 我目前的解决方案看起来像这样,但我并不满意。LaTeX列表带下划线

\begin{lstlisting}[mathescape] 
    $\ul{if(gt(x1, 0)) then} $ 
    ... 
\end{lstlisting} 

感谢您的任何提示。

+0

你的意思是你不想\下划线上市的每一行? – aioobe 2010-05-02 18:42:09

+0

是的,我不想在每一行上使用数学env,并分别为每行加下划线。 – Masala 2010-05-02 18:45:07

回答

0

根据5页的用户指南(found here):

\lstset{keywordstyle=\underbar} 
+0

那只适用于关键字。但我没有使用任何特殊的语法,所以我没有关键字。我想要完整的代码加下划线。 我试过\ lstset {basicstyle = \ underbar},但那也不起作用。 – Masala 2010-05-02 18:55:10

0

如果你想强调的整条生产线(而不仅仅是关键字),最好的解决办法,我能想出是做东西沿着下面的线:

\usepackage{listings} 

\newcommand{\lstul}[1]{\underline{\mbox{\tt #1}}} 

\begin{document} 

\begin{lstlisting}[mathescape] 
    $\lstul{if condition}$ 
     $\lstul{statement 1}$ 
    $\lstul{statement 2}$ 
    ... 
\end{lstlisting} 


\end{document} 
+0

该解决方案与我在我的问题中发布的矿区没有多大区别,除了我命名命令\ ul而不是\ lstul。 – Masala 2010-05-02 18:59:14

+0

当然。我不确定你不喜欢它,所以我认为它是斜体字型的数字字体会让你感到不安,这可以通过\ mbox解决。 – aioobe 2010-05-02 19:57:36

+0

它使代码看起来很混乱。你不能包含来自外部文件的代码:/ – Masala 2010-05-03 06:48:04