tabularx 中的方程式

tabularx 中的方程式

我一直尝试使用 tabularx 在表格中显示一组方程式。但是,以下都不令人满意:

  • 第二排太紧

  • 第三行有很多间距(我尝试过其他环境来消除间距,但都不起作用。虽然 parbox 给出了更好的结果,但也没有令人满意)

  • 为什么两列大小相同?(使用对齐可以解决这个问题,但间距不能解决。)

     \documentclass{article}
      \usepackage[utf8]{inputenc}
      \usepackage{tabularx}
    
      \begin{document}
    
      \begin{table}
              \begin{tabularx}{\textwidth}{|X|X|}
                  \hline
                  \multicolumn{2}{|>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth\relax}X|}{\textbf{Species Concentration in the Bulk}} \\
                  \hline
                  $
                      \left[H{\rm PO}_4^{2-}\right]_h
                  $&
                  $
                      \frac{{K_{a5}{K_{a6}\left[H_3O^+\right]}_h C}_{bp}}{{\left[H_3O^+\right]_h}^3+K_{a5}\left[H_3O^+\right]_h^2+K_{a5}{K_{a6}\left[H_3O^+\right]}_h +{K_{a5}K}_{a6}K_{a7}}
                  $
                  \\\hline
                  $$
                      \left[{\rm PO}_4^{3-}\right]_h
                  $$&
                  $$
                      \frac{{{K_{a5}K}_{a6}K_{a7}C}_{bp}}{{\left[H_3O^+\right]_h}^3+K_{a5}\left[H_3O^+\right]_h^2+K_{a5}{K_{a6}\left[H_3O^+\right]}_h +{K_{a5}K}_{a6}K_{a7}}
                  $$\\
              \hline
              \end{tabularx}
      \end{table}
      \end{document}
    

答案1

在此处输入图片描述

对于上述结果,您需要定义不同的列宽,\displaystyle对所有数学术语使用相同的数学环境(),并通过使用包添加一些垂直空间cellspace

\documentclass{article}
\usepackage[column=O]{cellspace}
    \setlength\cellspacetoplimit{5pt}
    \setlength\cellspacebottomlimit{5pt}
    \addparagraphcolumntypes{X}
\usepackage{tabularx}
  
\begin{document}
\begin{table}
\begin{tabularx}{\textwidth}{|>{\hsize=0.3\hsize$\displaystyle}X<{$}|
                              >{\hsize=1.7\hsize$\displaystyle}OX<{$}|}
  \hline
  \multicolumn{2}{|Ol|}{\textbf{Species Concentration in the Bulk}} \\
    \hline
 \bigl[H\mathrm{PO_4}^{2-}\bigr]_h
    &   \frac{{K_{a5}{K_{a6}\left[H_3O^+\right]}_h C}_{bp}}
             {\bigl[H_3O^+\bigr]_h^3 + K_{a5}\bigl[H_3O^+\bigr]_h^2 +
               K_{a5}{K_{a6}\bigl[H_3O^+\bigr]}_h + 
               {K_{a5}K}_{a6}K_{a7}}
            \\  \hline
\bigl[\mathrm{PO}_4^{3-}\bigr]_h
    &   \frac{K_{a5}K_{a6} K_{a7}C_{bp}}
             {\bigl[H_3O^+\bigr]_h^3 + K_{a5}\bigl[H_3O^+\bigr]_h^2 + 
              K_{a5}K_{a6} \bigl[H_3O^+ \bigr]_h +
              K_{a5}K_{a6} K_{a7}}
            \\
    \hline
\end{tabularx}
  \end{table}
\end{document}

笔记:不清楚你的数学模式符号/变量是什么意思。不知怎的,它们让我想起了化学公式。如果是这种情况,那么你可以考虑加载包mhchem,例如,按如下方式替换第一列和第一行中的术语

% in preamble
\usepackage[version=4]{mhchem}

 % in the first cell
\ce{[HPO4^{2-}]_h}

得出的结果(包含指令的单元格\ce以黄色突出显示):

在此处输入图片描述

答案2

tabularx 旨在控制宽度换行在段落中有 p 列,因此不适合这里,我会使用tabular。此外,X默认情况下所有列的宽度相同,但在这里您希望单元格具有其自然宽度。

一般而言,有一些软件包可以mhchem简化化学式的输入,但我在这里没有改变这一点。此外,\rm 在 LaTeX 中默认情况下没有定义。

在此处输入图片描述

\documentclass{article}
% only in old latex  \usepackage[utf8]{inputenc}
  \usepackage{array,amsmath}
  \newcommand\zfrac[2]{\dfrac{\rule[-5pt]{0pt}{0pt}#1}{\rule[-10pt]{0pt}{15pt}#2}}

  \begin{document}

  \begin{table}
  \centering
  \setlength\extrarowheight{2pt}
  \renewcommand\arraystretch{2}
          \begin{tabular}{|*{2}{>{$\displaystyle}c<{$}|}}
              \hline
              \multicolumn{2}{|c|}{\textbf{Species Concentration in the Bulk}} \\
              \hline
              
                  \left[\mathrm{H}{\mathrm{PO}}_4^{2-}\right]_h
              &
              
                  \zfrac{{\mathrm{K}_{a5}{\mathrm{K}_{a6}\left[\mathrm{H}_3O^+\right]}_h \mathrm{C}}_{bp}}{{\left[\mathrm{H}_3O^+\right]_h}^3+\mathrm{K}_{a5}\left[\mathrm{H}_3O^+\right]_h^2+\mathrm{K}_{a5}{\mathrm{K}_{a6}\left[\mathrm{H}_3O^+\right]}_h +{\mathrm{K}_{a5}\mathrm{K}}_{a6}\mathrm{K}_{a7}}
              
              \\\hline
              
                  \left[{\mathrm{PO}}_4^{3-}\right]_h
              &
              
                  \zfrac{{{\mathrm{K}_{a5}\mathrm{K}}_{a6}\mathrm{K}_{a7}\mathrm{C}}_{bp}}{{\left[\mathrm{H}_3O^+\right]_h}^3+\mathrm{K}_{a5}\left[\mathrm{H}_3O^+\right]_h^2+\mathrm{K}_{a5}{\mathrm{K}_{a6}\left[\mathrm{H}_3O^+\right]}_h +{\mathrm{K}_{a5}\mathrm{K}}_{a6}\mathrm{K}_{a7}}
              \\
          \hline
          \end{tabular}
  \end{table}
  \end{document}

相关内容