]> Untitled Git - articles.git/commitdiff
Пример презентации в формате LaTeX позаимствованный у Игоря Федорова
authorNikolay Shaplov <dhyan@nataraj.su>
Wed, 7 Jan 2026 10:30:58 +0000 (13:30 +0300)
committerNikolay Shaplov <dhyan@nataraj.su>
Wed, 7 Jan 2026 10:30:58 +0000 (13:30 +0300)
16 files changed:
slides/0000 - LaTeX Stub/.gitignore [new file with mode: 0644]
slides/0000 - LaTeX Stub/README.md [new file with mode: 0644]
slides/0000 - LaTeX Stub/beamercolorthemePgPro.sty [new file with mode: 0644]
slides/0000 - LaTeX Stub/beamerinnerthemePgPro.sty [new file with mode: 0644]
slides/0000 - LaTeX Stub/beamerouterthemePgPro.sty [new file with mode: 0644]
slides/0000 - LaTeX Stub/beamerthemePgPro.sty [new file with mode: 0644]
slides/0000 - LaTeX Stub/bgpics/pgpro.png [new file with mode: 0644]
slides/0000 - LaTeX Stub/bgpics/pgpro_page_bg.png [new file with mode: 0644]
slides/0000 - LaTeX Stub/bgpics/pgpro_page_bg2.png [new file with mode: 0644]
slides/0000 - LaTeX Stub/bgpics/pgpro_thanks_bg.png [new file with mode: 0644]
slides/0000 - LaTeX Stub/bgpics/pgpro_title_bg.png [new file with mode: 0644]
slides/0000 - LaTeX Stub/bgpics/pgpro_title_bg2.png [new file with mode: 0644]
slides/0000 - LaTeX Stub/code.tex [new file with mode: 0644]
slides/0000 - LaTeX Stub/diag.tex [new file with mode: 0644]
slides/0000 - LaTeX Stub/example.pdf [new file with mode: 0644]
slides/0000 - LaTeX Stub/example.tex [new file with mode: 0644]

diff --git a/slides/0000 - LaTeX Stub/.gitignore b/slides/0000 - LaTeX Stub/.gitignore
new file mode 100644 (file)
index 0000000..6605412
--- /dev/null
@@ -0,0 +1,10 @@
+# LaTeX
+*\~
+*.swp
+*.log
+*.aux
+*.out
+*.snm
+*.nav
+*.toc
+*.vrb
diff --git a/slides/0000 - LaTeX Stub/README.md b/slides/0000 - LaTeX Stub/README.md
new file mode 100644 (file)
index 0000000..0f5bc10
--- /dev/null
@@ -0,0 +1,8 @@
+# Шаблон презентаций для Beamer 
+
+При подготовке шаблона использованы:
+* [Шаблон презентации PostgresPro для Openoffice](https://confluence.postgrespro.ru/download/attachments/169509420/_PostgresPro_ШАБЛОН.odp?version=1&modificationDate=1675418955114&api=v2)
+* Шрифт [Gilroy](https://oc.postgrespro.ru/index.php/s/oXFIYT9dLwLCle6)
+* Тема [gcr2019](https://github.com/schors/gcr2019theme) для Beamer
+
+Для сборки запустите команду: `xelatex example.tex`
diff --git a/slides/0000 - LaTeX Stub/beamercolorthemePgPro.sty b/slides/0000 - LaTeX Stub/beamercolorthemePgPro.sty
new file mode 100644 (file)
index 0000000..a0bb186
--- /dev/null
@@ -0,0 +1,21 @@
+\mode<presentation>
+
+% Settings
+\AtBeginDocument{\setromanfont{Times New Roman}}
+\AtBeginDocument{\setsansfont{Gilroy}}
+\AtBeginDocument{\setmonofont{Consolas}}
+\setbeamercolor*{title page header}{fg=white}
+\setbeamerfont*{title}{size*={32pt}{1},family=\sffamily}
+\setbeamercolor*{author}{fg=white}
+\setbeamerfont*{author}{size*={18pt}{1},family=\sffamily}
+\setbeamercolor*{frametitle}{fg=cyan}
+\setbeamerfont*{frametitle}{size*={22pt}{1},family=\sffamily,series=\bfseries}
+%\definecolor{text}{HTML}{595959}
+\definecolor{text}{HTML}{000000}
+\setbeamercolor{normal text}{fg=text}
+\setbeamerfont{normal text}{size*={12pt}{18},family=\sffamily}
+\AtBeginDocument{\usebeamerfont{normal text}}
+\setbeamertemplate{itemize items}{\textbullet}% отключает кошмарные синие треугольники
+\setbeamercolor{itemize/enumerate body}{fg=text}
+\mode
+<all>
diff --git a/slides/0000 - LaTeX Stub/beamerinnerthemePgPro.sty b/slides/0000 - LaTeX Stub/beamerinnerthemePgPro.sty
new file mode 100644 (file)
index 0000000..c39a509
--- /dev/null
@@ -0,0 +1,30 @@
+\mode<presentation>
+
+\setbeamertemplate{background}{
+  \begin{tikzpicture}
+  \ifnum\thepage=1\relax%
+   \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{bgpics/pgpro_title_bg.png}};
+   \fi
+  \ifnum\thepage>1\relax%
+   \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{bgpics/pgpro_page_bg.png}};
+   \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{text}\tiny\insertframenumber};
+   \fi
+  \end{tikzpicture}
+}
+
+% Title page
+\defbeamertemplate*{title page}{gcr2019}[1][]
+{
+    \vskip3cm%
+    \begin{beamercolorbox}[leftskip=0.7cm,left,#1]{title page header}
+      \usebeamerfont{title}\inserttitle\par%
+    \end{beamercolorbox}%
+    \vskip0.75cm%
+    \begin{beamercolorbox}[leftskip=0.7cm,left,#1]{author}
+      \usebeamerfont{author}\insertauthor%
+    \end{beamercolorbox}
+    \vspace{9cm}
+}
+
+\mode
+<all>
diff --git a/slides/0000 - LaTeX Stub/beamerouterthemePgPro.sty b/slides/0000 - LaTeX Stub/beamerouterthemePgPro.sty
new file mode 100644 (file)
index 0000000..a03dd07
--- /dev/null
@@ -0,0 +1,13 @@
+\mode<presentation>
+
+% Frame title
+\defbeamertemplate*{frametitle}{gcr2019}[1][]
+{
+  \vskip1cm
+  \begin{beamercolorbox}[wd=\paperwidth,leftskip=0.7cm]{frametitle}
+    \usebeamerfont{frametitle}%
+    \insertframetitle
+  \end{beamercolorbox}
+}
+
+\mode<all>
\ No newline at end of file
diff --git a/slides/0000 - LaTeX Stub/beamerthemePgPro.sty b/slides/0000 - LaTeX Stub/beamerthemePgPro.sty
new file mode 100644 (file)
index 0000000..3af4da9
--- /dev/null
@@ -0,0 +1,19 @@
+% Based on gcr2019 theme (https://github.com/schors/gcr2019theme)
+% Used backghround pictures from template https://confluence.postgrespro.ru/download/attachments/169509420/_PostgresPro_ШАБЛОН.odp?version=1&modificationDate=1675418955114&api=v2
+% and Gilroy font from https://oc.postgrespro.ru/index.php/s/oXFIYT9dLwLCle6
+\mode<presentation>
+
+% Requirement
+\RequirePackage{tikz}
+
+% Settings
+\useinnertheme{PgPro}
+\useoutertheme{PgPro}
+\usecolortheme{PgPro}
+
+\setbeamertemplate{navigation symbols}{}
+\setbeamertemplate{blocks}[rounded][shadow=true]
+\setbeamertemplate{footline}{\vspace{1cm}}
+\setbeamersize{text margin left=0.7cm,text margin right=0.7cm}
+
+\mode<all>
diff --git a/slides/0000 - LaTeX Stub/bgpics/pgpro.png b/slides/0000 - LaTeX Stub/bgpics/pgpro.png
new file mode 100644 (file)
index 0000000..7c459a8
Binary files /dev/null and b/slides/0000 - LaTeX Stub/bgpics/pgpro.png differ
diff --git a/slides/0000 - LaTeX Stub/bgpics/pgpro_page_bg.png b/slides/0000 - LaTeX Stub/bgpics/pgpro_page_bg.png
new file mode 100644 (file)
index 0000000..af85d09
Binary files /dev/null and b/slides/0000 - LaTeX Stub/bgpics/pgpro_page_bg.png differ
diff --git a/slides/0000 - LaTeX Stub/bgpics/pgpro_page_bg2.png b/slides/0000 - LaTeX Stub/bgpics/pgpro_page_bg2.png
new file mode 100644 (file)
index 0000000..f62056c
Binary files /dev/null and b/slides/0000 - LaTeX Stub/bgpics/pgpro_page_bg2.png differ
diff --git a/slides/0000 - LaTeX Stub/bgpics/pgpro_thanks_bg.png b/slides/0000 - LaTeX Stub/bgpics/pgpro_thanks_bg.png
new file mode 100644 (file)
index 0000000..92f3cc7
Binary files /dev/null and b/slides/0000 - LaTeX Stub/bgpics/pgpro_thanks_bg.png differ
diff --git a/slides/0000 - LaTeX Stub/bgpics/pgpro_title_bg.png b/slides/0000 - LaTeX Stub/bgpics/pgpro_title_bg.png
new file mode 100644 (file)
index 0000000..3de8436
Binary files /dev/null and b/slides/0000 - LaTeX Stub/bgpics/pgpro_title_bg.png differ
diff --git a/slides/0000 - LaTeX Stub/bgpics/pgpro_title_bg2.png b/slides/0000 - LaTeX Stub/bgpics/pgpro_title_bg2.png
new file mode 100644 (file)
index 0000000..969dbca
Binary files /dev/null and b/slides/0000 - LaTeX Stub/bgpics/pgpro_title_bg2.png differ
diff --git a/slides/0000 - LaTeX Stub/code.tex b/slides/0000 - LaTeX Stub/code.tex
new file mode 100644 (file)
index 0000000..9c504c3
--- /dev/null
@@ -0,0 +1,45 @@
+\usepackage{listings}
+
+% 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
+}
+
+% 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
\ No newline at end of file
diff --git a/slides/0000 - LaTeX Stub/diag.tex b/slides/0000 - LaTeX Stub/diag.tex
new file mode 100644 (file)
index 0000000..1f49bdb
--- /dev/null
@@ -0,0 +1,49 @@
+% библиотеки
+\usetikzlibrary{%
+  arrows, % стрелки
+  shapes.misc, % фигуры
+  shapes.geometric, % фигура ellipse
+  chains, % цепочки
+  positioning, % позиционирование элементов
+  scopes, % создание дополнительных веток
+  shadows % тени
+}
+% указание цветов
+\definecolor{Gray}{RGB}{102,102,102}
+\definecolor{LightGray}{RGB}{178,178,178}
+\definecolor{Red}{RGB}{204,0,0}
+\definecolor{Pink}{RGB}{255,102,102}
+
+% установки для элементов
+\tikzset{
+    every node/.style={on chain}, 
+    every join/.style={->}, % со стрелками
+  Rectangle/.style={
+    rectangle, % обычный прямоугольник
+    % размер блока
+    minimum size=6mm,
+    very thick, % двойная линия
+    draw=Gray, % указываем заданный ранее цвет
+    % цвета узлов
+    top color=white,
+    bottom color=LightGray,
+    % шрифт моноширинный
+    font=\ttfamily
+  },
+  Rounded/.style={
+    rounded rectangle, % прямоугольник со скруглёнными углами
+    drop shadow={opacity=0.35}, % тень от узлов
+    minimum size=6mm, % размер узла
+    very thick, % двойная линия
+    draw=black!50, % цвет обводки
+    top color=white,bottom color=black!20, % цвета градиента
+    font=\itshape}, % шрифт курсив
+Ellipse/.style={
+  ellipse, % прямоугольник со скруглёнными углами
+  drop shadow={opacity=0.35}, % тень от узлов
+  minimum size=6mm, % размер узла
+  very thick, % двойная линия
+  draw=black!50, % цвет обводки
+  top color=white,bottom color=black!20, % цвета градиента
+  font=\itshape}, % шрифт курсив
+}
\ No newline at end of file
diff --git a/slides/0000 - LaTeX Stub/example.pdf b/slides/0000 - LaTeX Stub/example.pdf
new file mode 100644 (file)
index 0000000..a98858e
Binary files /dev/null and b/slides/0000 - LaTeX Stub/example.pdf differ
diff --git a/slides/0000 - LaTeX Stub/example.tex b/slides/0000 - LaTeX Stub/example.tex
new file mode 100644 (file)
index 0000000..7065234
--- /dev/null
@@ -0,0 +1,102 @@
+\documentclass[aspectratio=169]{beamer}
+
+\usepackage{xltxtra}
+\defaultfontfeatures{Ligatures=TeX,Mapping=tex-text}
+\usepackage[russian]{babel}
+\usepackage[utf8]{inputenc}
+
+ % Цвета для гиперссылок
+ \definecolor{linkcolor}{HTML}{799B03} % цвет ссылок
+ \definecolor{urlcolor}{HTML}{6633FF} % цвет гиперссылок
+ \hypersetup{pdfstartview=FitH,  linkcolor=linkcolor,urlcolor=urlcolor, colorlinks=true}
+
+\title{Название презентации}
+\author{Автор}
+
+\usetheme{PgPro}
+\input{code.tex}
+
+\begin{document}
+
+\begin{frame}
+\titlepage
+\end{frame}
+
+\begin{frame}{Первый слайд}
+    Какой-то список
+    \begin{itemize}
+        \item Элемент 1
+        \item Элемент 2
+        \item Элемент 3
+        \item Элемент 4
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{Схемка}
+    \input{diag.tex}
+    \resizebox{\textwidth}{!}{
+        \begin{tikzpicture}[start chain, node distance=15mm and 12mm] % начало цепочки
+            \node (client)[Ellipse, bottom color=cyan]{Клиент};
+            \node (element1)[Rectangle, right= of client]{Элемент 1};
+            \node (element2)[Rectangle, right=of element1]{Элемент 2};
+            \node (element3)[Rectangle, right=of element2]{Элемент 3};
+
+            \node (data)[Ellipse, below=of client]{Данные};
+            \node (log1)[Rounded, below=of element1, align=center]{Текст 1\\Текст 2};
+            \node (log2)[Rounded, below=of element2, align=center]{Текст 3\\Текст 4};
+            \node (export)[Rounded, below=of element3, align=center]{Текст 5\\Текст 6};
+            \path[->] (element1) edge (log1);
+            \path[->] (element2) edge (log2);
+            \path[->] (element3) edge (export);
+
+            \node (pgpro)[Ellipse, below=of data, bottom color=cyan]{PostgresPro};
+            \node (element4)[Rectangle, below=of log2]{Элемент 4};
+            \path[->] (log1) edge (element4);
+            \path[->] (log2) edge (element4);
+            \path[->] (export) edge (element4);
+        \end{tikzpicture} % конец блока
+    }
+\end{frame}
+
+\begin{frame}[fragile, shrink=10]{Еще слайд}
+    Опять список:
+    \begin{itemize}
+        \item Элемент 1
+        \item Пример ссылки (\href{https://postgrespro.ru}{https://postgrespro.ru}) \\~\\ 
+    \end{itemize} 
+
+    Пример кода: 
+    \begin{lstlisting}[linewidth=0.9\textwidth]
+        pip install -r requirements.txt
+    \end{lstlisting}
+\end{frame}
+
+{\setbeamertemplate{background}{
+    \begin{tikzpicture}
+        \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{bgpics/pgpro_title_bg2.png}};
+        \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{white}\tiny\insertframenumber};
+    \end{tikzpicture}
+    }
+    \setbeamercolor{normal text}{fg=white}\usebeamercolor*{normal text}
+    \setbeamerfont{normal text}{size*={32pt}{1},family=\sffamily}\usebeamerfont*{normal text}
+    \begin{frame}
+        \vskip1cm
+        Демонстрация
+    \end{frame}
+    \begin{frame}
+        \vskip1cm
+        Q\&A
+    \end{frame}
+}
+
+{\setbeamertemplate{background}{
+    \begin{tikzpicture}
+        \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{bgpics/pgpro_thanks_bg.png}};
+        \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{white}\tiny\insertframenumber};
+    \end{tikzpicture}
+    }
+    \begin{frame}
+    \end{frame}
+}
+\end{document}