2010-05-02 206 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