tikzexample 代码行在 beamer 中自动换行

tikzexample 代码行在 beamer 中自动换行

在 beamer 中,如果我们使用 tkzexample 包演示一些代码(请参阅这个例子),有时代码会超出框架范围。

  1. 如果代码行太长,是否可以自动换行?
  2. 第二张图和第三张图之间的距离似乎不相等。

示例代码:

\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你可以tkzexample这样做:

在此处输入图片描述

tcolorbox使用listings(或minted) 进行代码排版,并且所有选项(字体样式、行号、换行等)都可以应用于列表部分。我查看过tkzexample,我认为它没有使用它。

目前我不知道如何为TiKZ图形添加背景颜色。我知道,text outside listingtext 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}

相关内容