如何在单个Mathjax $$...$$块中创建多个庞尼特方格?
如何在单个MathJax块中放置多个庞尼特方格表格?
原问题最初发布于Tex.SE(10K+声望),因偏离主题转至此。
我正在编辑生物学相关问题,除修正语法外,希望优化庞尼特方格的MathJax格式,将三个表格放在单个$$...$$块中显示。
我的庞尼特方格原代码如下:
$$ \begin{align} | \; & \underline{\text{ A }} \; | \; \underline{\text{ a }} \; | \\ \underline{\overline A} \; | \; & \underline{AA} | \; \underline{Aa} | \\ a \; | \; & Aa \; | \; aa \; | \end{align} $$ $$ \begin{align} | \; & \underline{\text{ B }} \; | \; \underline{\text{ b }} \; | \\ \underline{\overline B} \; | \; & \underline{BB} | \; \underline{Bb} | \\ b \; | \; & Bb \; | \; bb \; | \end{align} $$ $$ \begin{align} | \; & \underline{\text{ C }} \; | \; \underline{\text{ c }} \; | \\ \underline{\overline C} \; | \; & \underline{CC} | \; \underline{Cc} | \\ c \; | \; & Cc \; | \; cc \; | \end{align} $$
尝试删除其中一组$$合并成单个块时,出现错误提示:
Erroneous nesting of question structures.
解决方案
方法1:使用gather环境包裹多个align环境
gather环境允许在单个MathJax块中放置多个独立的对齐环境,每个表格会自动居中排列,还可以通过\\[间距]调整表格间的垂直距离:
$$ \begin{gather} \begin{align} | \; & \underline{\text{ A }} \; | \; \underline{\text{ a }} \; | \\ \underline{\overline A} \; | \; & \underline{AA} | \; \underline{Aa} | \\ a \; | \; & Aa \; | \; aa \; | \end{align} \\[1em] \begin{align} | \; & \underline{\text{ B }} \; | \; \underline{\text{ b }} \; | \\ \underline{\overline B} \; | \; & \underline{BB} | \; \underline{Bb} | \\ b \; | \; & Bb \; | \; bb \; | \end{align} \\[1em] \begin{align} | \; & \underline{\text{ C }} \; | \; \underline{\text{ c }} \; | \\ \underline{\overline C} \; | \; & \underline{CC} | \; \underline{Cc} | \\ c \; | \; & Cc \; | \; cc \; | \end{align} \end{gather} $$
方法2:使用array环境重构表格(更简洁灵活)
直接用array构建每个庞尼特方格,在单个MathJax块中可通过换行或水平间距自由排列,彻底避免嵌套对齐环境的问题:
$$ % 第一个表格 \begin{array}{c|c|c|} & \underline{\text{ A }} & \underline{\text{ a }} \\ \hline \underline{\overline A} & \underline{AA} & \underline{Aa} \\ \hline a & Aa & aa \\ \hline \end{array} \qquad % 第二个表格 \begin{array}{c|c|c|} & \underline{\text{ B }} & \underline{\text{ b }} \\ \hline \underline{\overline B} & \underline{BB} & \underline{Bb} \\ \hline b & Bb & bb \\ \hline \end{array} \\[1em] % 第三个表格 \begin{array}{c|c|c|} & \underline{\text{ C }} & \underline{\text{ c }} \\ \hline \underline{\overline C} & \underline{CC} & \underline{Cc} \\ \hline c & Cc & cc \\ \hline \end{array} $$
这种方式既可以水平并排表格,也可以垂直堆叠,格式更易调整。
方法3:用单个align环境拆分表格
如果坚持使用align,可以将三个表格放在同一个align环境中,用换行和间距分隔即可:
$$ \begin{align} % 第一个表格 | \; & \underline{\text{ A }} \; | \; \underline{\text{ a }} \; | \\ \underline{\overline A} \; | \; & \underline{AA} | \; \underline{Aa} | \\ a \; | \; & Aa \; | \; aa \; | \\[1em] % 第二个表格 | \; & \underline{\text{ B }} \; | \; \underline{\text{ b }} \; | \\ \underline{\overline B} \; | \; & \underline{BB} | \; \underline{Bb} | \\ b \; | \; & Bb \; | \; bb \; | \\[1em] % 第三个表格 | \; & \underline{\text{ C }} \; | \; \underline{\text{ c }} \; | \\ \underline{\overline C} \; | \; & \underline{CC} | \; \underline{Cc} | \\ c \; | \; & Cc \; | \; cc \; | \end{align} $$
内容的提问来源于stack exchange,提问作者CrSb0001
相关产品推荐
相关产品推荐

