Вертикальное выравнивание таблицы в уравнении

Вертикальное выравнивание таблицы в уравнении

Я использую пакет 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}

Связанный контент