2010-05-02 3 views
1

Есть ли простой способ иметь полный код в среде lstlisting? Мое текущее решение выглядит так, но я не очень доволен этим.LaTeX lstlisting подчеркнуто

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

Спасибо за любые советы.

+0

Вы имеете в виду, что вы не хотите \ подчеркивать каждую строку в листинге? – aioobe

+0

Да, я не хочу использовать математику env на каждой строке и подчеркивать каждую строку отдельно. – Masala

ответ

0

Согласно странице 5 в руководстве пользователя (found here):

\lstset{keywordstyle=\underbar} 
+0

Thats работает только для ключевых слов. Но я не использую какой-либо специальный синтаксис, поэтому у меня нет ключевых слов. Я хочу, чтобы полный код был подчеркнутым. Я пробовал \ lstset {basicstyle = \ underbar}, но это тоже не работает. – Masala

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

+0

Несомненно. Я не был уверен, что вам не понравилось, поэтому я предположил, что это был выделенный курсивом шрифт, который вас беспокоил, который можно решить с помощью \ mbox. – aioobe

+0

Это заставляет код выглядеть запутанным. И вы не можете включить код из внешнего файла:/ – Masala

Смежные вопросы