我正在尝试在序言中创建一个新环境,它将在每个图表中心的上方和下方留出一个空间,
\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}