как вставить код latex в latex
Оформление исходного кода в документах LaTeX
verbatim
Простейший способ — использовать окружение \begin
Управление размером шрифта в окружении verbatim (установлен \footnotesize ):
listings
Фрагмент кода внутри строки оформляется следующим образом
Проблема с UTF-8
При попытке вставить в код текст на кириллице (не в комментарий, а именно в код — текст должен был выводиться в графическом окне) было получено сообщение об ошибке вида:
При этом кодировка основного документа — UTF-8, что указано в преамбуле:
Сообщения об ошибках исчезнут, если указать в настройках \lstset использование не-ASCII символов:
Однако при этом остается проблема с русскоязычными комментариями, в которых слова оказываются склеены. Окончательно решает эту проблему следующий пакет.
minted
Вставим в документ код на C++ шрифтом размера \footnotesize :
и получим после трансляции
Теперь все будет работать.
Еще раз напомню, в версиях minted > 2.0 все работает «из коробки».
Оформление листингов в виде рисунков
Для этого поместим листинг, оформленный с помощью minted в окружение figure :
Картинка-листинг будет выровнена по левому краю страницы
Для выравнивания по центру нужно поставить в преамбуле документа:
Короткое имя и настройка макросов
Чтобы не писать всякий раз
или нечто подобное, можно ввести собственное название для макросов вставки кода на заданном языке с заданными настройками. Делается это при помощи команды \newminted :
Например, указав в преамбуле документа
мы сможем использовать для вставки кода новое окружение mycode
Заметим, что даже если вы не задаете никаких настроек, а просто хотите переопределить имя макроса, пустые скобки, обозначающие место вставки настроек, должны присутствовать
Код внутри строки текста
Чтобы вставить код прямо в строку текста, используем команду \mintinline
Например, создадим новое окружение для вставки Perl-кода:
Вот как это работает:
Какие языки поддерживает minted
Узнать, какие языки поддерживает minted можно, набрав в командной строке
На данный момент таких языков более 300.
Читайте также
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.
Code listing
Contents
Introduction
L a T e X is widely used in science and programming has become an important aspect in several areas of science, hence the need for a tool that properly displays code. This article explains how to use the standard verbatim environment as well as the package listings, which provide more advanced code-formatting features. This separate article discusses the minted package, which performs syntax-highlighting using Python’s pygmentize library.
The verbatim environment
The code above produces the following output:
Just as in the example at the introduction, all text is printed keeping line breaks and white spaces. There’s a starred version of this command whose output is slightly different.
The code above produces the following output:
Verbatim-like text can also be used in a paragraph by means of the \verb command.
The code above produces the following output:
Using listings to highlight code
To use the lstlisting environment you have to add the following line to the preamble of your document:
Here’s an example of using the lstlisting environment from the listings package:
The code above produces the following output:
In this example, the output ignores all L a T e X commands and the text is printed keeping all the line breaks and white spaces typed. Let’s see a second example:
The code above produces the following output:
The additional parameter inside brackets [language=Python] enables code highlighting for this particular programming language (Python), special words are in boldface font and comments are italicized. See the reference guide for a complete list of supported programming languages.
Importing code from a file
Code is usually stored in a source file, therefore a command that automatically pulls code from a file becomes very handy.
The command \lstinputlisting[language=Octave]
If firstline or lastline is omitted, it’s assumed that the values are the beginning of the file, or the bottom of the file, respectively.
Code styles and colours
Code formatting with the listing package is highly customisable. Let’s see an example
The code above produces the following output:
As you see, the code colouring and styling greatly improves readability.
In this example the package xcolor is imported and then the command \definecolor<><><> is used to define new colours in rgb format that will later be used. For more information see: using colours in L a T e X
There are essentially two commands that generate the style for this example:
\lstdefinestyle