tikzexample автоматический перенос строки кода в бимере

tikzexample автоматический перенос строки кода в бимере

В Beamer, если мы продемонстрируем некоторый код с пакетом tkzexample (см.этот пример), иногда код выходит за пределы фрейма.

  1. Можно ли сделать автоматический перенос, если строка кода слишком длинная?
  2. Расстояние между 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}

Связанный контент