在文本中垂直对齐 TikZ 片段

在文本中垂直对齐 TikZ 片段

在图片标题中创建 TikZ 片段时,片段永远不会与周围文本真正对齐。例如,

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{figure}
\caption{%
  (\protect\tikz \protect\node [circle,draw=black,minimum width=1em]{};)
  }
\end{figure}

\end{document}

生产

在此处输入图片描述

我认为,如果圆圈位于基线上,一切看起来都很好。如何让它位于那里?

答案1

为节点提供一些(不可见的)内容和名称,并使用base(或任何其他所需的)锚点baseline;您还可以将显式长度传递给以实现更精细的控制。以下示例显示了这两个选项(我也为第二个示例baseline设置了):inner sep=0pt

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{figure}
\caption{%
  (\protect\tikz[baseline=(circ.base)] \protect\node[circle,draw=black,minimum width=1em] (circ) {\protect\phantom{a}};)
    (\protect\tikz[baseline=-0.7ex] \protect\node[circle,draw=black,inner sep=0pt,text width=1em] (circ) {\protect\phantom{a}};)}
\end{figure}

\end{document}

结果:

在此处输入图片描述

答案2

数学模式命令\vcenter将其材料围绕数学轴居中:

\documentclass{article}

\usepackage{tikz}

\begin{document}
\listoffigures

\begin{figure}
\caption{%
  (%
    $\vcenter{\hbox{%
      \protect\tikz \protect\node [circle,draw=black,minimum width=1em]{};%
    }}$%
  )%
}
\end{figure}
\end{document}

结果

附加\hbox阻止,即在内部以全行宽\tikz开始新段落。和都很强大,不需要。\vcenter\vcenter\hbox\protect

相关内容