方程式中的表格的垂直对齐

方程式中的表格的垂直对齐

我正在使用包sgame来格式化标准格式的游戏。游戏通常在 内格式化,figure但我想在 中使用它们equation。我在标点符号的垂直间距方面遇到问题。

这是我使用的代码:

\documentclass{article}

\usepackage{color}
\usepackage{sgame}
\gamemathtrue

\begin{document}

\begin{equation}
\begin{game}{3}{2}
  & F     & O    \\
F & 2, 2  & 0, 1 \\
O & 0, 0  & 1, 3 \\
P & 0, 0  & 1, 3
\end{game}
.
\end{equation}

\end{document}

结果如下: 结果

我喜欢方程式编号的对齐方式,但不喜欢句号的对齐方式。我希望句号与表格最后一行的文本对齐。距离是0.3\baselineskip底部水平线,但不是与基线的固定距离。

这就是我所追求的: 在此处输入图片描述

答案1

在此处输入图片描述

\documentclass{article}

\usepackage{color}
\usepackage{sgame}
\gamemathtrue

\begin{document}

\begin{equation}
\begin{game}{3}{2}
  & F     & O    \\
F & 2, 2  & 0, 1 \\
O & 0, 0  & 1, 3 \\
P & 0, 0  & 1, 3\rlap{\quad.}
\end{game}
\end{equation}

\end{document}

答案2

事实证明,基线并非0.3\baselineskip来自游戏底部。该sgame包重新实现了数组结构,但有两个主要区别:

  1. 文本在单元格中居中,而不是以基线为 30%

  2. 数组周围的规则可能会与文本发生冲突,它们似乎处于一种覆盖状态

\gamestretch以下解决方案处理这两个差异,并在改变和的值时起作用arrayrulewidth

\documentclass{article}

\usepackage{calc}
\usepackage{color}
\usepackage{sgamevar}

\newcommand{\punctuategame}[2]{%
  \setbox0 = \hbox{#1}% box containing the whole game
  \setbox1=\hbox{I}% box used to determined the height of text in a cell
  \newlength{\vdisp}% vertical displacement of punctuation
  \setlength{\vdisp}{-\dp0 - \arrayrulewidth + \gamestretch \baselineskip / 2 - \ht1 / 2}%
  \newlength{\hdisp}% horizontal displacement of punctuation
  \setlength{\hdisp}{0.5\arrayrulewidth}%
  \mbox{#1}% placing the game
  \raisebox{\vdisp}{\hspace{\hdisp}\mbox{#2}}}% placing punctuation

\begin{document}

\begin{equation}
\punctuategame{
\begin{game}{3}{2}
  \> F     \> O    \\
F \> 2, 2  \> 0, 1 \\
O \> 0, 0  \> 1, 3 \\
P \> 0, 0  \> 1, 3
\end{game}
}{.}
\end{equation}

\end{document}

相关内容