inserir um argumento em um novo ambiente

inserir um argumento em um novo ambiente

Alguém poderia me ajudar? Eu realmente não sei o que estou fazendo com novos ambientes. Eu tenho isto:

 %Diagram environment
 \newenvironment{diagram}%
 {\stepcounter{CountDiag}\vspace*{10pt}%

 \begin{center}%
     \begin{tikzpicture}}%
         {\end{tikzpicture}\vspace*{-5pt}\par Diagram~\theCountDiag%
 \end{center}}%

Funciona bem, mas gostaria de acrescentar:

  \tkzSetUpCompass[color=blue]

Portanto, não preciso colocá-lo em todos os diagramas que uso.

 \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}

Responder1

Basta adicionar a instrução na parte “início”.

Eu faria alguma refatoração, no entanto.

\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}

Ajuste os espaçamentos para atender às suas necessidades. Com \addvspacevocê não acumule espaçamentos verticais que já possam estar presentes.

insira a descrição da imagem aqui

informação relacionada