2015-03-14 5 views
2

Мне нужно вставить Java/Android-код в Latex/Lyx, и я хотел бы выделить Java-комментарии с определенным цветом. Я сделал это раньше в документе, но теперь, когда я пытаюсь использовать тот же код, он почему-то не работает. Одно из отличий между кодами заключается в том, что тот, который я сейчас пытаюсь вставить, - это Java-код Android, а первый - чистая Java, может ли это повлиять? Настройки, которые я использую в обоих случаях, следующие:Как установить цвет комментария Java в латекс/Lyx?

\def\listingsfont{\ttfamily} 
\lstset{language=Java} 
\lstset{basicstyle=\ttfamily\scriptsize} 
\lstset{keywordstyle=\color{blue}\ttfamily} 
\lstset{stringstyle=\color{red}\ttfamily} 
\lstset{commentstyle=\color{green}\ttfamily} 
\lstset{breaklines=true} 
\lstset{tabsize=2} 
\begin{lstlisting}[frame=single] % Start your code-block 

Итак, первый раз работаем, второй раз больше. Случается, что все метки комментариев (//) отображаются как синие, но только метки, а не все комментарии к ним. Строки выделены правильно.

EDIT: Я получил новую информацию о том, что происходит. После первого раза, когда этот код работал, у меня есть латексный код, где язык задан как R. Если я вставляю этот код перед кодом, написанным в R, все работает так, как должно. Но если я вставляю код после кода, написанного в R, то он больше не работает. Так происходит что-то странное.

EDIT2: Для целей тестирования я изменил настройки для R-кода как (язык = Java). Случилось так, что после этого весь код Java в латекс появился правильно. Таким образом, по-видимому, установка языка как R прерывает Lyx/Latex, так или иначе, чтобы не выделять другие языки.

ответ

0

Если вы используете \ lstset, это значение по умолчанию для всего документа. Попробуйте настроить язык каждого листинга в отдельном листе (через настройки, которые вы видите в контекстном меню списка программ)

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