新しい環境に引数を挿入する

新しい環境に引数を挿入する

誰か助けていただけませんか。新しい環境で何をすればいいのかよくわかりません。こんなのがあります:

 %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

「begin」の部分に指示を追加するだけです。

ただし、リファクタリングは行うつもりです。

\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すでに存在する垂直間隔を累積しないようにします。

ここに画像の説明を入力してください

関連情報