![将参数插入到新环境中](https://linux22.com/image/473312/%E5%B0%86%E5%8F%82%E6%95%B0%E6%8F%92%E5%85%A5%E5%88%B0%E6%96%B0%E7%8E%AF%E5%A2%83%E4%B8%AD.png)
有人能帮助我吗?我真的不知道在新环境中该做什么。我有这个:
%Diagram environment
\newenvironment{diagram}%
{\stepcounter{CountDiag}\vspace*{10pt}%
\begin{center}%
\begin{tikzpicture}}%
{\end{tikzpicture}\vspace*{-5pt}\par Diagram~\theCountDiag%
\end{center}}%
它工作正常,但我想补充一点:
\tkzSetUpCompass[color=blue]
所以我不需要把它放在我使用的每个图表中。
\documentclass{article}
\usepackage{tkz-euclide}
%Diagram environment
\newenvironment{diagram}%
{\stepcounter{CountDiag}\vspace*{10pt}%
\begin{center}%
\begin{tikzpicture}}%
{\end{tikzpicture}\vspace*{-5pt}\par Diagram~\theCountDiag%
\end{center}}%
\newcounter{CountDiag}\counterwithin*{CountDiag}{section}%
\begin{document}
\begin{diagram}
\tkzDefPoint(0,0){A}
\tkzDefPoint(3,0){B}
\tkzDrawCircle[blue](A,B)
\tkzDrawPoints(A,B)
\tkzLabelPoints(A,B)
\tkzDrawSegment[red](A,B)
\end{diagram}
\end{document}
答案1
只需在“开始”部分添加指令。
不过,我会做一些重构。
\documentclass{article}
\usepackage{tkz-euclide}
\usepackage{lipsum}
%Diagram environment
\newenvironment{diagram}
{%
\par\addvspace{10pt}%
\centering
\stepcounter{CountDiag}
\tkzSetUpCompass[color=blue]
\begin{tikzpicture}
}{%
\end{tikzpicture}\par\nopagebreak
\vspace{5pt}
Diagram~\theCountDiag\par
\addvspace{10pt}
}
\newcounter{CountDiag}\counterwithin*{CountDiag}{section}%
\begin{document}
\lipsum[1][1-4]
\begin{diagram}
\tkzDefPoint(0,0){A}
\tkzDefPoint(3,0){B}
\tkzDrawCircle[blue](A,B)
\tkzDrawPoints(A,B)
\tkzLabelPoints(A,B)
\tkzDrawSegment[red](A,B)
\end{diagram}
\lipsum[2]
\end{document}
调整间距以满足您的需求。\addvspace
不要累积可能已经存在的垂直间距。