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}
首先,我完全意识到我的代码可能不是实现我想做的事情的理想方式。但是我不是专业的 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}