From: Nikolay Shaplov Date: Sat, 13 Jun 2026 12:18:58 +0000 (+0300) Subject: Отказываемся от lstlisting в пользу minted который нормально раскрашивает русские... X-Git-Url: http://gitweb.nataraj.world/?a=commitdiff_plain;h=c267b48ec52259c13cfcd02a89bb81b05535bbb5;p=articles.git Отказываемся от lstlisting в пользу minted который нормально раскрашивает русские буквы --- diff --git a/slides/0000 - LaTeX Stub/Makefile b/slides/0000 - LaTeX Stub/Makefile index 368f575..6ffd553 100644 --- a/slides/0000 - LaTeX Stub/Makefile +++ b/slides/0000 - LaTeX Stub/Makefile @@ -13,8 +13,8 @@ all: FONTCONFIG_FILE="$(FONTS_DIR)/fonts.conf" fc-cache # Надо в два прохода - FONTCONFIG_FILE="$(FONTS_DIR)/fonts.conf" xelatex example.tex - FONTCONFIG_FILE="$(FONTS_DIR)/fonts.conf" xelatex example.tex + FONTCONFIG_FILE="$(FONTS_DIR)/fonts.conf" xelatex -shell-escape example.tex + FONTCONFIG_FILE="$(FONTS_DIR)/fonts.conf" xelatex -shell-escape example.tex make clean clean: diff --git a/slides/0000 - LaTeX Stub/elements/code.tex b/slides/0000 - LaTeX Stub/elements/code.tex index 877edc1..a800648 100644 --- a/slides/0000 - LaTeX Stub/elements/code.tex +++ b/slides/0000 - LaTeX Stub/elements/code.tex @@ -1,45 +1,10 @@ -\usepackage{listingsutf8} % listings с поддержкой unicode -% for listings -\definecolor{acmebg}{HTML}{FFFFEF} -\definecolor{acmeh}{HTML}{EFFFFF} -\definecolor{acmec}{HTML}{8C8ACE} -\definecolor{acmel}{HTML}{52AAAD} -\definecolor{acmel1}{HTML}{EFEF9C} -\definecolor{acmel2}{HTML}{9CEFEF} -\lstset{ - columns=flexible, - keepspaces=true, - showstringspaces=false, - showtabs=false, - tabsize=4, - frame=single, - basicstyle=\fontsize{10pt}{12}\bf\ttfamily\color{black}, - backgroundcolor=\color{acmebg}, - commentstyle=\color{black}, - keywordstyle=\color{black}, - stringstyle=\color{red}, - rulecolor=\color{acmel}, - framerule=1pt +\usepackage{minted} +\setminted{ + fontsize=\codesize, + breaklines=true, + frame=single, } -% for listings background -\makeatletter -\let\old@lstKV@SwitchCases\lstKV@SwitchCases -\def\lstKV@SwitchCases#1#2#3{} -\makeatother -\usepackage{lstlinebgrd} -\makeatletter -\let\lstKV@SwitchCases\old@lstKV@SwitchCases -\lst@Key{numbers}{none}{% - \def\lst@PlaceNumber{\lst@linebgrd}% - \lstKV@SwitchCases{#1}% - {none:\\% - left:\def\lst@PlaceNumber{\llap{\normalfont - \lst@numberstyle{\thelstnumber}\kern\lst@numbersep}\lst@linebgrd}\\% - right:\def\lst@PlaceNumber{\rlap{\normalfont - \kern\linewidth \kern\lst@numbersep - \lst@numberstyle{\thelstnumber}}\lst@linebgrd}% - }{\PackageError{Listings}{Numbers #1 unknown}\@ehc}} \makeatother diff --git a/slides/0000 - LaTeX Stub/example.tex b/slides/0000 - LaTeX Stub/example.tex index 3bd7578..4004f17 100644 --- a/slides/0000 - LaTeX Stub/example.tex +++ b/slides/0000 - LaTeX Stub/example.tex @@ -130,13 +130,11 @@ Обычный текст {\fontsize{64pt}{72pt}\selectfont крупные \uline{подчеркнутые} слова} снова обычный текст. Пример кода: - % gobble отрежет 8 символов левого отступа и избавится от финальной пустой строки т.к. она короче 8ми символов - \begin{lstlisting}[language=bash, linewidth=0.9\textwidth, gobble=8, inputencoding=utf8, extendedchars=true] - echo "Hellow, World! По русски" + \begin{minted}[autogobble]{bash} + echo "Hellow, World! По-русски" pip install -r requirements.txt # Дети, никогда так не делайте. Питон опасен для когнитивных функций вашего мозга! - \end{lstlisting} - + \end{minted} \end{frame} {\setbeamertemplate{background}{ diff --git a/slides/0000 - LaTeX Stub/pgpro2025bis.theme/beamercolorthemePgPro2025bis.sty b/slides/0000 - LaTeX Stub/pgpro2025bis.theme/beamercolorthemePgPro2025bis.sty index 0b01dd7..f9567c1 100644 --- a/slides/0000 - LaTeX Stub/pgpro2025bis.theme/beamercolorthemePgPro2025bis.sty +++ b/slides/0000 - LaTeX Stub/pgpro2025bis.theme/beamercolorthemePgPro2025bis.sty @@ -51,19 +51,15 @@ \setbeamerfont*{codelisting}{size*={14pt}{16pt},family=\ttfamily} \AtBeginDocument{% - \@ifpackageloaded{listings}{% - \lstset{ - basicstyle=\usebeamerfont{codelisting}\color{codeTextColor}, - backgroundcolor=\color{codeBgColor}, - rulecolor=\color{codeBgColor}, + \@ifpackageloaded{minted}{% + \setminted{ + bgcolor=codeBgColor, + fontsize=\fontsize{14bp}{16bp}\selectfont, }% }{}% } - - - % Макросы воспроизводят поведение LibreOffice Impress при размещении текста % в текстовом блоке: LibreOffice использует usWinAscent как First Baseline % Offset — расстояние от верхней границы блока до базовой линии первой строки.