创建一个可以插入 tikzpicture 的新环境

创建一个可以插入 tikzpicture 的新环境

我正在尝试在序言中创建一个新环境,它将在每个图表中心的上方和下方留出一个空间,

\documentclass{book}

\usepackage{blindtext}
\usepackage{tikz}
\usepackage{tkz-euclide}

\newenvironment{proposition}
{\begin{center}\em}
{\end{center}}

%\newenvironment{diagram}
%\vspace*{\fill}
    %{\begin{center}\em}
    %{\end{center}}
%\vspace*{\fill}

\begin{document}

\begin{proposition}
        On a given finite right line (AB) to construct an equilateral triangle.
 \end{proposition}


%\begin{diagram}
\begin{tikzpicture}
\tkzDefPoint(0,0){A} 
\tkzDefPoint(1.25,0){B} 
\tkzDrawSegment(A,B) 
\tkzLabelPoint[left](A){$A$} 
\tkzLabelPoint[right](B){$B$}
\end{tikzpicture}
%\end{diagram]

\end{document}

我认为我的做法是错误的,因为没有环境,渲染效果很好,有什么提示吗?我找不到任何示例。我隐藏了那些弄乱代码的部分。

答案1

尝试使用此代码将其居中tikzpicture并在其前后添加空间。

\documentclass{book}

\usepackage{blindtext}
\usepackage{tikz}
\usepackage{tkz-euclide}

\newenvironment{proposition}
{\begin{center}\em}
    {\end{center}}


\newenvironment{diagram}
{\begin{center}\vspace*{10pt}\begin{tikzpicture}}
    {\end{tikzpicture}\vspace*{-5pt}\end{center}}

\begin{document}
    
\begin{proposition}
    On a given finite right line (AB) to construct an equilateral triangle.
\end{proposition}
            
\begin{diagram}
        \tkzDefPoint(0,0){A} 
        \tkzDefPoint(1.25,0){B} 
        \tkzDrawSegment(A,B) 
        \tkzLabelPoint[left](A){$A$} 
        \tkzLabelPoint[right](B){$B$}
\end{diagram}
    
Some text.
    
\end{document}

A

相关内容