如何在thmtools环境中插入tikzpicture?

如何在thmtools环境中插入tikzpicture?
\documentclass[12pt]{scrartcl}
\usepackage{amsthm, thmtools}
\usepackage{pgfplots}
\usepackage{blindtext}


\declaretheoremstyle[
  headfont={\normalsize\bfseries},
  bodyfont=\footnotesize,
  spaceabove=10pt,
  spacebelow=10pt
]{comm}
\declaretheorem[title={Example}, numberlike=section, style=comm]{myexample}

\begin{document}

\blindtext[1]

\begin{myexample}
  Good example. Blablabla blabla blablablablablabla blabla blablablablablabla blabla
  Blablabla blabla blablablablablabla blabla blablablablablabla blabla
\end{myexample}

\blindtext[1]

\begin{myexample}
  \begin{minipage}{0.7\linewidth}
      Bad example. Blablabla blabla blablablablablabla blabla blablablablablabla blabla
      Blablabla blabla blablablablablabla blabla blablablablablabla blabla
  \end{minipage}
  \begin{minipage}{0.3\linewidth}
      \begin{tikzpicture}[scale=1]
          \coordinate (A) at (0, 0);
          \coordinate (B) at (2, 0);
          \coordinate (C) at (1, 1);
          \coordinate (D) at (2, 2);
          \path [draw=black, fill=black] (A) circle (2pt);
          \path [draw=black, fill=black] (B) circle (2pt);
          \path [draw=black, fill=black] (C) circle (2pt);
          \path [draw=black, fill=black] (D) circle (2pt);
      \end{tikzpicture}
  \end{minipage}
\end{myexample}

\blindtext[1]

\end{document}

我想在我的 pdf 中给出一个示例,并附上一张 tikzpicture。我知道在这种情况下如何使用 minipage 环境,但我的代码产生了以下结果:

在此处输入图片描述

正如您所见,我在垂直对齐方面遇到了麻烦。我希望“示例 2”与“坏示例”在同一行。此外,tikzpicture 不得高于“示例 2”的第一行。

我该怎么做?你会建议使用其他工具而不是 minipage 吗?

答案1

  • 正如@jsbibra 提到的,minipage你需要添加选项[t]
  • 因为tikzpicture您不需要minipage,但您需要将其基线设置为图像中最高的圆圈:
\documentclass[12pt]{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\usepackage{amsthm, thmtools}
\declaretheoremstyle[
  headfont={\normalsize\bfseries},
  bodyfont=\footnotesize,
  spaceabove=10pt,
  spacebelow=10pt
]{comm}
\declaretheorem[title={Example}, numberlike=section, style=comm]{myexample}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{blindtext}

\begin{document}

\blindtext[1]

\begin{myexample}
  Good example. Blablabla blabla blablablablablabla blabla blablablablablabla blabla
  Blablabla blabla blablablablablabla blabla blablablablablabla blabla
\end{myexample}

\blindtext[1]

\begin{myexample}
  \begin{minipage}[t]{0.7\linewidth}
      Bad example. Blablabla blabla bla blabla blablabla blabla bla blablabla blabla blabla
      Blablabla blabla blablablablablabla blabla blablablabla blabla blabla
  \end{minipage}\hfil % or \hfill
    \begin{tikzpicture}[baseline=(D.south), scale=0.5,
  dot/.style = {circle, fill, minimum size=4pt, inner sep=0pt}
                        ]
  \node (A) [dot] {};
  \node (B) [dot] at (2, 0) {};
  \node (C) [dot] at (1, 1) {};
  \node (D) [dot] at (2, 2) {};
      \end{tikzpicture}
\end{myexample}

\blindtext[1]

\end{document}

在此处输入图片描述 (红线表示文字边框)

答案2

  \begin{minipage}[t]{0.7\linewidth}
      Bad example. Blablabla blabla blablablablablabla blabla blablablablablabla blabla
      Blablabla blabla blablablablablabla blabla blablablablablabla blabla
  \end{minipage}

在此处输入图片描述

编辑

\begin{myexample}
  \begin{minipage}[t]{0.7\linewidth}
      Bad example. Blablabla blabla blablablablablabla blabla blablablablablabla blabla
      Blablabla blabla blablablablablabla blabla blablablablablabla blabla
  \end{minipage}
  \begin{minipage}[t]{0.3\linewidth}
      \begin{tikzpicture}[baseline=1.9cm][scale=1]
          \coordinate (A) at (0, 0);
          \coordinate (B) at (2, 0);
          \coordinate (C) at (1, 1);
          \coordinate (D) at (2, 2);
          \path [draw=black, fill=black] (A) circle (2pt);
          \path [draw=black, fill=black] (B) circle (2pt);
          \path [draw=black, fill=black] (C) circle (2pt);
          \path [draw=black, fill=black] (D) circle (2pt);
      \end{tikzpicture}
  \end{minipage}
\end{myexample}

在此处输入图片描述

相关内容