LuaLaTeX:tabularx 环境中逐字环境的水平对齐

LuaLaTeX: horitontal alignment of verbatim-environments inside a tabularx-environment

首先,我完全意识到我的代码可能不是实现我想做的事情的理想方式。但是我不是专业的 LaTeX 用户,这是我想出的方法。

我做了一个最小的例子,希望在编译时能正常工作(编译器:LuaLaTeX)来显示我的问题。 我正在尝试使用 tabularx-table 制作一个 beamer-frame,它一方面包含在线逐字环境,另一方面包含方程式环境。 "Y" 列类型是 tabularx 的 "X" 环境的修改形式,我在另一个 Whosebug 线程上找到了它。

现在的确切问题如下:我希望逐字表达式与等式表达式对齐,或者至少在每个单元格中垂直居中。

如前所述,我远不是专家,我已经用尽了我所有的想法,所以我非常感谢任何形式的想法和建议。 :)

\documentclass[c, 10pt]{beamer}

\usepackage{polyglossia}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{siunitx}
\usepackage{tabularx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{siunitx}
\usepackage{placeins}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{verbatim}
\usepackage{fancyvrb}
\usepackage{nicefrac}
\usepackage{array}

\setdefaultlanguage{english}

\usetheme{JuanLesPins}
\usecolortheme{seahorse}

\newcolumntype{Y}{>{\centering\arraybackslash} X}

\begin{document}

\begin{frame}[fragile, allowframebreaks]{Symbols and Commands}
    \begin{block}{\centering \large{Division}}
        \begin{table}[h]
            \centering
            \renewcommand\baselinestretch{0.01}\selectfont
            \begin{tabularx}{\textwidth}{Y Y Y}
                \toprule
                \multicolumn{1}{m{.3\textwidth}}{\centering Code} & \multicolumn{2}{m{.6\textwidth}}{\centering Examples}\
                \midrule 
                \verb|\dfrac{a}{b}| & 
                {\begin{equation*}
                    \dfrac{a}{b}
                    \end{equation*}} & 
                {\begin{equation*}
                    \mathrm{e}^{\dfrac{1}{k_BT}}
                    \end{equation*}} \
                \verb|\frac{a}{b}| &
                {\begin{equation*}
                    \frac{a}{b}
                    \end{equation*}} &
                {\begin{equation*}
                    \mathrm{e}^{\frac{1}{k_BT}}
                    \end{equation*}} \
                \verb|\nicefrac{a}{b}| &
                {\begin{equation*}
                    \nicefrac{a}{b}
                    \end{equation*}} &
                {\begin{equation*}
                    \mathrm{e}^{\nicefrac{1}{k_BT}}
                    \end{equation*}} \
                \bottomrule
            \end{tabularx}
        \end{table}
    \end{block}
\end{frame}    

\end{document}

要在 table 中放置未编号的方程式,我宁愿使用内联数学而不是方程式环境。要获得与方程式中相同的分数渲染,请添加 \displaystyle.

Off-topic:

  • 不要多次加载包

  • 不要使用fragile, allowframebreaks,除非它们确实是框架所必需的

  • [H] 这样的浮动说明符在没有浮动机制的文档中没有意义 class

  • 在 beamer table 中不需要 \centering,它们默认居中

  • 语法\large{...}是错误的,\large是一个开关,不带参数,所以应该是\large Division。无论如何,最好不要将格式化指令放在宏参数中,而是设置适当的 beamer 模板来控制块标题的字体


\documentclass[c, 10pt]{beamer}

%\usepackage{polyglossia}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{siunitx}
\usepackage{tabularx}
%\usepackage{amsmath}
%\usepackage{amssymb}
%\usepackage{siunitx}
%\usepackage{placeins}
\usepackage{multirow}
\usepackage{booktabs}
%\usepackage{verbatim}
%\usepackage{fancyvrb}
\usepackage{nicefrac}
\usepackage{array}


%\setdefaultlanguage{english}

\usetheme{JuanLesPins}
\usecolortheme{seahorse}

\newcolumntype{Y}{>{\centering\arraybackslash} X}

\setbeamerfont{block title}{size=\large}

\begin{document}

\begin{frame}
    \frametitle{Symbols and Commands}
    \begin{block}{\centering Division}
        \begin{table}
%            \centering
%            \renewcommand\baselinestretch{0.01}\selectfont
            \begin{tabularx}{\textwidth}{Y Y Y}
                \toprule
                 Code & \multicolumn{2}{c}{Examples}\
                \midrule 
                \verb|\dfrac{a}{b}| & 
                $\displaystyle\dfrac{a}{b}$ & 
                $\displaystyle\mathrm{e}^{\dfrac{1}{k_BT}}$ \\addlinespace
                \verb|\frac{a}{b}| &
                $\displaystyle\frac{a}{b}$ &
                $\displaystyle\mathrm{e}^{\frac{1}{k_BT}}$ \\addlinespace
                \verb|\nicefrac{a}{b}| &
                $\displaystyle\nicefrac{a}{b}$ &
                $\displaystyle\mathrm{e}^{\nicefrac{1}{k_BT}}$ \
                \bottomrule
            \end{tabularx}
        \end{table}
    \end{block}
\end{frame}    

\end{document}