[ADD] подсветка синтаксиса C и C++ в листингах
This commit is contained in:
@@ -29,15 +29,44 @@ PREAMBLE = r"""\documentclass[a4paper, 14pt]{extarticle}
|
||||
\captionsetup[figure]{labelsep=emdash,font=onehalfspacing,position=bottom,name=Рисунок}
|
||||
\captionsetup[table]{labelsep=emdash,font=onehalfspacing,position=top,name=Таблица,singlelinecheck=false,justification=raggedright}
|
||||
\usepackage{listings}
|
||||
\usepackage{xcolor}
|
||||
|
||||
% Палитра подсветки. Тона различаются не только цветом, но и светлотой,
|
||||
% поэтому листинг остаётся читаемым и на чёрно-белой печати.
|
||||
\definecolor{lstkeyword}{RGB}{0,0,139}
|
||||
\definecolor{lstcomment}{RGB}{110,110,110}
|
||||
\definecolor{lststring}{RGB}{139,0,0}
|
||||
\definecolor{lstnumber}{RGB}{0,100,0}
|
||||
\definecolor{lstlineno}{RGB}{130,130,130}
|
||||
|
||||
% Встроенный диалект C++ в listings старше стандарта: auto, nullptr, override
|
||||
% и прочее он не знает. Расширяем его, а не подменяем, чтобы сохранить разбор
|
||||
% строк, комментариев и препроцессора.
|
||||
\lstdefinelanguage[modern]{C++}[ISO]{C++}{%
|
||||
morekeywords={%
|
||||
auto,nullptr,constexpr,consteval,constinit,noexcept,override,final,%
|
||||
decltype,static_assert,thread_local,alignas,alignof,concept,requires,%
|
||||
co_await,co_yield,co_return,import,module,%
|
||||
Q_OBJECT,Q_SLOTS,Q_SIGNALS,Q_PROPERTY,signals,slots,emit%
|
||||
}%
|
||||
}
|
||||
|
||||
\lstset{
|
||||
basicstyle=\ttfamily\small\setstretch{1.0},
|
||||
keywordstyle=\bfseries\color{lstkeyword},
|
||||
% Начертание прямое: курсива кириллицы в моноширинном шрифте нет, и
|
||||
% комментарий распадался бы на прямые русские и курсивные латинские слова.
|
||||
commentstyle=\color{lstcomment},
|
||||
stringstyle=\color{lststring},
|
||||
numberstyle=\tiny\color{lstlineno},
|
||||
directivestyle=\color{lstnumber},
|
||||
identifierstyle=,
|
||||
breakatwhitespace=false,
|
||||
breaklines=true,
|
||||
captionpos=t,
|
||||
inputencoding=utf8,
|
||||
frame=single,
|
||||
keepspaces=true,
|
||||
keywordstyle=\bf,
|
||||
numbers=left,
|
||||
numbersep=5pt,
|
||||
xleftmargin=25pt,
|
||||
|
||||
Reference in New Issue
Block a user