]> Untitled Git - articles.git/commitdiff
Отказываемся от lstlisting в пользу minted который нормально раскрашивает русские...
authorNikolay Shaplov <dhyan@nataraj.su>
Sat, 13 Jun 2026 12:18:58 +0000 (15:18 +0300)
committerNikolay Shaplov <dhyan@nataraj.su>
Sat, 13 Jun 2026 12:18:58 +0000 (15:18 +0300)
slides/0000 - LaTeX Stub/Makefile
slides/0000 - LaTeX Stub/elements/code.tex
slides/0000 - LaTeX Stub/example.tex
slides/0000 - LaTeX Stub/pgpro2025bis.theme/beamercolorthemePgPro2025bis.sty

index 368f575a0184fe80d8b7ca30d5b4f383e6182e44..6ffd5531f45bc52c2850bb71d6c57c22d74fe641 100644 (file)
@@ -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:
index 877edc10f6f2677aad3f93763a3173312c2f9b7c..a8006481cdd70aa4304999cd6aa653f3bd32d132 100644 (file)
@@ -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
index 3bd75788bf7af157ad76b06fccde0cb45b0e853b..4004f172c24b2ede0ce19bfdf034245da6111e4d 100644 (file)
     Обычный текст {\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}{
index 0b01dd7006e1096502c568d6aa565d3e9cb5020b..f9567c18ad502efaba111391ebb3ee286a4559fb 100644 (file)
 \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 — расстояние от верхней границы блока до базовой линии первой строки.