Я ищу пакет LaTeX, который делает подсветку синтаксиса кода. Например, сейчас я использую дословный блок для написания кода:
\begin{verbatim}
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{verbatim}
И это прекрасно работает для отображения кода на моем документе. Но предположим, что я хотел выделить HTML-разметку так, как это сделала бы IDE в выходном документе? Есть ли пакет, который может помочь?
Я хотел бы сделать то же самое для различных языков, таких как Java, C #, HTML, CSS и так далее.
lstlisting
. Он вообще не выделяет XML-код и портит при использовании сторонних символов Юникода. JavaScript тоже не поддерживается, как кажется. Может ли LGrind справиться с такими вещами?Ответы:
Вы можете использовать пакет объявлений . Он поддерживает много разных языков, и есть много опций для настройки вывода.
источник
После того, как задать аналогичный вопрос , я создал еще один пакет , который использует Pygments, и предлагает довольно еще несколько вариантов , чем
texments
. Это называетсяminted
и довольно стабильно и удобно.Чтобы показать это, вот код, выделенный minted:
источник
PATH
переменную и создать сценарий cmd). Я надеюсь убедить сопровождающих Pygments отправлятьpygmentize
с.exe
оберткой, чтобы сделать этот шаг проще.minted
установлен и работает как на ShareLatex, так и на Overleaf. Избавьте себя от головной боли при установке Pygments;)Я рекомендую Пигменты . Он принимает фрагмент кода на любом языке и выводит синтаксис с выделенным кодом LaTeX. Это использует пакеты fancyvrb и color, чтобы произвести его вывод. Я лично предпочитаю это перечислению пакета. Я думаю, что fancyvrb создает гораздо более приятные результаты.
источник
beamer
документе типа это, по-видимому, единственный функциональный параметр. Ни правильно,minted
ниlistings
скомпилировать правильноbeamer
.listings
сbeamer
, но вы должны указать, что кадры, которые включают в себя списки[fragile]
.LGrind делает это. Это зрелый пакет LaTeX, который существует с тех пор, как Адам был ковбоем и поддерживает многие языки программирования.
источник
Я бы использовал отчеканенный пакет, как упомянуто разработчиком Конрадом Рудольфом, вместо пакета листинга . Вот почему:
листинг пакета
Пакет листинга по умолчанию не поддерживает цвета. Для того, чтобы использовать цвета , вам нужно будет включать в себя пакет цвета и определить цветовые правила самостоятельно с \ lstset команды , как описано для MatLab кода здесь .
Кроме того, пакет листинга не работает с юникодом, но вы можете решить эти проблемы, как описано здесь и здесь .
Следующий код
производит следующее изображение:
мятный пакет
Пакет с надписью поддерживает цвета, Unicode и выглядит потрясающе. Однако для того, чтобы использовать его, вам нужно иметь Python 2.6 и pygments . В Ubuntu вы можете проверить свою версию Python в терминале с помощью
и вы можете установить фрагменты с
Затем, поскольку minted выполняет вызовы фрагментов, вам нужно скомпилировать его с -shell-escape следующим образом:
Если вы используете редактор латекса, такой как TexMaker или что-то еще, я бы порекомендовал добавить пользовательскую команду, чтобы вы все еще могли скомпилировать ее в редакторе.
Следующий код
производит следующее изображение:
источник
В основном я использую lstlistings в документах, но для цветного вывода (для слайдов) я использую вместо этого фрагменты.
источник
Я бы предложил определить свой собственный пакет на основе следующего текстового кода; это дает вам полную свободу. http://ubuntuforums.org/archive/index.php/t-331602.html
источник