我尝试重命名codeexample
tikz 文档中使用的环境,但无法使用如下技巧包装环境。
这与tkzexample:源和输出并排。 这pgfmanual-en-宏.tex用于\input{pgfmanual-en-macros.tex}
(我不知道如何最小化它并上传为附件)
\documentclass{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{amsmath,amssymb}
\usepackage{tkzexample}
\usepackage[a4paper,left=2.25cm,right=2.25cm,top=2.5cm,bottom=2.5cm,nohead]{geometry}%pgfmanual-en-main-preamble.tex
\input{pgfmanual-en-macros.tex}
\let\bcExample\codeexample
\let\ecExample\endcodeexample
\renewenvironment{codeexample} {\bcExample[]} {\ecExample}
\let\cExample\codeexample
\let\endcExample\endcodeexample
\newenvironment{eExample} {\bcExample[]} {\ecExample}
\begin{document}
When executed, that is, run via |pdflatex| or via |latex| followed by |dvips|,
the resulting will contain something that looks like this:
%
\begin{codeexample}
We are working on
\begin{tikzpicture}
\draw (-1.5,0) -- (1.5,0);
\draw (0,-1.5) -- (0,1.5);
\end{tikzpicture}.
\end{codeexample}
cExample
%\begin{cExample}
We are working on
\begin{tikzpicture}
\draw (-1.5,0) -- (1.5,0);
\draw (0,-1.5) -- (0,1.5);
\end{tikzpicture}.
%\end{cExample}
eExample
%\begin{eExample}
We are working on
\begin{tikzpicture}
\draw (-1.5,0) -- (1.5,0);
\draw (0,-1.5) -- (0,1.5);
\end{tikzpicture}.
%\end{eExample}
\end{document}
使用renewenvironment{codeexample}
有效,但使用\let\cExample\codeexample
和\newenvironment{eExample}
重命名/复制新环境codeexample
会引发错误。
答案1
我读了 中的代码pgfmanual-en-macros.tex
。我发现环境endcodeexample
是硬编码的,它定义为
\def\codeexample[#1]
\def\endcodeexample{\endgroup}
\def\endofcodeexample#1
- 在第 1502 行:
\end{codeexample}[|endofcodeexample[#1]]|
此外,codeexample
是硬编码在pgfmanual.sty
和pgfmanual.prettyprinter.code.tex
pgfmanual.pdflinks.code.tex