![重命名环境:tikz 中使用的代码示例](https://linux22.com/image/399243/%E9%87%8D%E5%91%BD%E5%90%8D%E7%8E%AF%E5%A2%83%EF%BC%9Atikz%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B.png)
我尝试重命名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