在数组内垂直居中文本

在数组内垂直居中文本

我想让 tikzpictures 彼此相邻(水平),并在它们之间有一个等号。我使用的是数组环境。这是一个最小的工作示例:

\documentclass{article}

\usepackage{tikz}
\usepackage{amsmath}

\usepackage[math]{cellspace}

\begin{document}

\[
\begin{array}{ccc}

\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\end{tikzpicture}

& \text{some text} & 

\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\end{tikzpicture}

\end{array}
\]


\end{document}

这产生了在此处输入图片描述

我怎样才能使“一些文本”在行间垂直居中?我尝试了很多解决方案,但似乎都没有用。

答案1

一个简单的选择是使用m列类型。此方法的唯一限制是您必须为列宽选择一个明智的值。

\documentclass{article}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage[math]{cellspace}

\begin{document}

\[
\begin{array}{m{4cm} c m{4cm}}

\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\end{tikzpicture}

& \text{some text} & 

\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\end{tikzpicture}

\end{array}
\]

\end{document}

在此处输入图片描述

另一个选项是在数学模式下使用\vcenter宏。请注意,\hbox用于为方程式创建一个水平框,然后使用垂直居中\vcenter

\[
\begin{array}{c c c}

\vcenter{\hbox{
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\end{tikzpicture}
}}

& \text{some text} & 

\vcenter{\hbox{
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\end{tikzpicture}
}}

\end{array}
\]

在此处输入图片描述

相关内容