您好,我想绘制一些使用 Bodegraph 包和 tcblisting 的代码示例。
如果我将 semilog {} ... 命令放在范围环境中,下面的代码就可以正常工作,另一方面,如果我将此命令直接放在 tikzpicture 环境(注释代码)中,一切都会崩溃(我正在使用 Xelatex)。
如何克服这个问题
% !TeX encoding = utf8
% !TeX spellcheck = fr
\documentclass{article}
\usepackage{tikz}
\usepackage[listings]{tcolorbox}
\usepackage{bodegraph}
\begin{document}
\begin{tcblisting}{tikz lower,listing side text,width=16cm,fonttitle=\bfseries,,colback=white,colframe=black,
righthand width=8cm}
\begin{scope}
[yscale=2/30,xscale=7/5]
\semilog*{-2}{3}{-20}{10}
\end{scope}
\end{tcblisting}
\begin{tcblisting}{tikz lower,listing side text,width=16cm,fonttitle=\bfseries,,colback=white,colframe=black,
righthand width=8cm}
\begin{tikzpicture}
[yscale=2/30,xscale=7/5]
\draw (0,0) rectangle (3,20);
\end{tikzpicture}
\end{tcblisting}
\begin{tikzpicture}
[yscale=2/30,xscale=7/5]
\semilog*{-2}{3}{-20}{10}
\end{tikzpicture}
%\begin{tcblisting}{tikz lower,listing side text,width=16cm,fonttitle=\bfseries,,colback=white,colframe=black,
%righthand width=8cm}
%\begin{tikzpicture}
%[yscale=2/30,xscale=7/5]
%\semilog*{-2}{3}{-20}{10}
%\end{tikzpicture}
%\end{tcblisting}
\end{document}
答案1
选项tikz lower
并tikz upper
自动将“隐藏” \begin{tikzpicture}
和包含\end{tikzpicture}
到列表代码中。您可以在tcolorbox
文档中的相应示例中看到它。
因此,当您将这些命令包含到代码中时,您就是在进行嵌套tikzpictures
,这是不推荐的。在您的第二个示例中,它可以工作,但在最后一个示例中则不行。
解决方案在于避免这些行。您添加到tikzpicture
环境中的可选参数可以添加到tikz lower={...}
。
% !TeX encoding = utf8
% !TeX spellcheck = fr
\documentclass{article}
\usepackage{tikz}
\usepackage[listings]{tcolorbox}
\usepackage{bodegraph}
\begin{document}
\begin{tcblisting}{tikz lower,listing side text,width=16cm,fonttitle=\bfseries,,colback=white,colframe=black,
righthand width=8cm}
\begin{scope}
[yscale=2/30,xscale=7/5]
\semilog*{-2}{3}{-20}{10}
\end{scope}
\end{tcblisting}
\begin{tcblisting}{tikz lower,listing side text,width=16cm,fonttitle=\bfseries,,colback=white,colframe=black,
righthand width=8cm}
\begin{tikzpicture}
[yscale=2/30,xscale=7/5]
\draw (0,0) rectangle (3,20);
\end{tikzpicture}
\end{tcblisting}
\begin{tikzpicture}
[yscale=2/30,xscale=7/5]
\semilog*{-2}{3}{-20}{10}
\end{tikzpicture}
\begin{tcblisting}{tikz lower={yscale=2/30,xscale=7/5},listing side text,width=16cm,fonttitle=\bfseries,,colback=white,colframe=black,
righthand width=8cm}
%\begin{tikzpicture}[yscale=2/30,xscale=7/5]
\semilog*{-2}{3}{-20}{10}
%\end{tikzpicture}
\end{tcblisting}
\end{document}