У меня есть куча кода в среде lstlisting. Как я могу выделить (цветной фон) только определенный фрагмент кода в среде?Выделение фрагмента кода в lstlisting
ответ
Вы можете использовать \ ColorBox и экранирующий символ внутри вашего предложения:
Добавить в вашей преамбулой
\usepackage{color}
\definecolor{light-gray}{gray}{0.80}
затем использовать его, как это в вашем документе:
\begin{lstlisting}[escapechar=!]
def mult(m: Matrix[Int], n: Matrix[Int]) {
val p = !\colorbox{light-gray}{new MatrixInt}!(m.rows, n.cols)
}
\end{lstlisting}
Спасибо! Это именно то, что мне нужно. –
Мне нужно что-то дополнительное. Я использую пакет Beamer для своей презентации, и мне нужно выделить код, присутствующий в lstlisting. Разница в моей потребности заключается в том, что я не могу изменить код внутри lstlisting, например, экранирование или определение специального комментария. Код присутствует внутри другого файла, который нельзя изменить. Копирование кода и внесение изменений не является вариантом, так как их много. Можем ли мы указать извне (т. Е. В \ begin {lstlisting}), какие строки выделить? – thequark
Приятный, но он не работает с несколькими строками, и вы теряете подсветку синтаксиса внутри 'colorbox'. – Julian
Пакет с перечислением предоставляет backgroundcolor = \ color {} в качестве опции, но я уверен, что делает весь цвет BG, а не куском.
Вы могли бы взглянуть на то, чтобы поместить его в паршок с цветом или пакет цветной коробки.
Это немного громоздко, но вы можете разбить код на несколько окружений lstlisting
.
\begin{lstlisting}
line
\end{lstlisting}
\vspace{-\baselineskip}
\begin{lstlisting}[backgroundcolor=\color{pink}]
very
interesting
\end{lstlisting}
\vspace{-\baselineskip}
\begin{lstlisting}
line
line
\end{lstlisting}
Будет ли это работать, если у вас есть, например, номера строк, или они будут перезапущены? – Edd
@Edd: по умолчанию они будут перезапущены, но вы можете использовать ключевое слово 'firstnumber', чтобы исправить это. В этом примере вы должны использовать 'firstnumber = 2' и' firstnumber = 4' во второй и третьей средах 'lstlisting', соответственно. Использование 'firstnumber = last' должно продолжать нумерацию из предыдущей среды' lstlisting', но когда я ее пробую, она отключается на единицу. –
Оказалось, что существует еще лучшее решение проблемы с нумерацией: используйте ключевое слово 'name' (например,' \ begin {lstlisting} [name = asdf, ... '). Имя не отображается, а в средах 'lstlisting' с таким же именем по умолчанию используется счетчик строк. –
- 1. LaTeX: Lstlisting автоматически распознает прохождение кода
- 2. LaTeX lstlisting подчеркнуто
- 3. Выделение фрагмента в Google Визуализации Круговая диаграмма
- 4. Центр Латекс lstlisting
- 5. Удалить выделенные слова в lstlisting
- 6. Раскрасить цифры в lstlisting (латекс)
- 7. Как подчеркнуть части lstlisting?
- 8. Выделение кода для Joomla
- 9. Редактор кода Dreamweaver, выделение
- 10. Выделение PHP-кода в CSS
- 11. Latex: Показывает только несколько строк в lstlisting
- 12. Выделение кода монодебровки - выделение имени метода в объявлении метода
- 13. Пути фрагмента кода в GCC
- 14. объяснение фрагмента кода в C
- 15. Анализ сложности фрагмента кода
- 16. Объяснение фрагмента кода
- 17. Поиск фрагмента кода фрагмента/копирование Плагин JQuery
- 18. Векторизация мелкого фрагмента кода
- 19. Понимание фрагмента кода JavaScript
- 20. вывод фрагмента кода
- 21. Смещение фрагмента кода Android?
- 22. Продолжительность сложность фрагмента кода
- 23. Объяснение фрагмента кода Python
- 24. асимптотический анализ фрагмента кода
- 25. Понимание фрагмента кода
- 26. Изменение кода фрагмента назад
- 27. Объяснение фрагмента кода Ruby
- 28. Оптимизация фрагмента кода Scala
- 29. Задержка фрагмента кода
- 30. Временная сложность фрагмента кода
В будущем, пожалуйста, задайте вопросы, связанные с LaTeX, по адресу: https://tex.stackexchange.com. –
@IoannisFilippidis Это было бы полезно узнать ... 8 лет назад. –