![tikzexample автоматический перенос строки кода в бимере](https://rvso.com/image/305742/tikzexample%20%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8%20%D0%BA%D0%BE%D0%B4%D0%B0%20%D0%B2%20%D0%B1%D0%B8%D0%BC%D0%B5%D1%80%D0%B5.png)
В Beamer, если мы продемонстрируем некоторый код с пакетом tkzexample (см.этот пример), иногда код выходит за пределы фрейма.
- Можно ли сделать автоматический перенос, если строка кода слишком длинная?
- Расстояние между 2-й и 3-й диаграммами, по-видимому, не одинаковое.
пример кода:
\documentclass[t]{beamer}
\usepackage{tikz}
\usepackage{tkzexample}
\colorlet{graphicbackground}{red!10!white}%
\colorlet{codebackground}{blue!10!white}%
\colorlet{codeonlybackground}{blue!10!white}
\begin{document}
\begin{frame}[fragile]{tikz example}
\begin{tkzexample}[width=2cm]
\begin{tikzpicture}
\draw (0,0) node[circle,
shade,
ball color=orange,
minimum size=2cm]{};
\end{tikzpicture}
\end{tkzexample}
\begin{tkzltxexample}[line frame width=0pt]
\begin{tkzexample}[width=1cm]
\tikz[baseline]
\node [circle,line width=1ex,draw=blue,fill=blue]
{\textcolor{white}{\Large{TikZ}}};
\end{tkzexample}
\end{tkzltxexample}
\begin{tkzexample}[width=1.7cm]
\tikz[baseline]
\node [circle,line width=1ex,draw=blue,fill=blue]
{\textcolor{white}{\Large{TikZ}}};
\end{tkzexample}
\end{frame}
\end{document}
Выход:
решение1
Если вы не против сменить наtcolorbox
вместо package tkzexample
можно сделать что-то вроде:
tcolorbox
использует listings
(или minted
) для набора кода и все их параметры (стиль шрифта, нумерация строк, разрывы строк, ...) могут быть применены к частям листинга. Я посмотрел tkzexample
и думаю, что он не использует его.
На данный момент я не знаю, как добавить фоновый цвет к TiKZ
фигурам. Мы будем знать, изменить text outside listing
с помощью text side listing
, но в этом случае нет разделения между кодом и полями результатов.
\documentclass[t]{beamer}
\usepackage{tikz}
\usepackage[most]{tcolorbox}
\newtcblisting{tkzexample}[1][]{text outside listing, fonttitle=\bfseries, bicolor, colback=blue!10!white, colbacklower=red!10!white, colframe=black, sharp corners, frame hidden, size=tight, #1}
\newtcblisting{tkzltxexample}[1][]{listing only, fonttitle=\bfseries, bicolor, colback=blue!10!white,colbacklower=red!10!white, colframe=black, sharp corners, frame hidden, size=tight, #1}
\begin{document}
\begin{frame}[fragile]{tikz example}
\begin{tkzexample}[lefthand width=2cm]
\begin{tikzpicture}
\draw (0,0) node[circle,
shade,
ball color=orange,
minimum size=2cm]{};
\end{tikzpicture}
\end{tkzexample}
\begin{tkzltxexample}[listing only]
\begin{tkzexample}[width=1cm]
\tikz[baseline]
\node [circle, line width=1ex, draw=blue, fill=blue]
{\textcolor{white}{\Large{TikZ}}};
\end{tkzexample}
\end{tkzltxexample}
%
\begin{tkzexample}[lefthand width=1.5cm]
\tikz[baseline]
\node [circle, line width=1ex, draw=blue, fill=blue]
{\textcolor{white}{\Large{TikZ}}};
\end{tkzexample}
\end{frame}
\end{document}