我希望显示的方程式在 longtable 中居中,但它们似乎向右移动了一点。
这是代码。
\documentclass[a4paper, 11pt, oneside]{amsart}
\usepackage{amsmath,amssymb, amsthm}
\usepackage[a4paper,width=16.5cm,top=1.5cm,bottom=2.cm]{geometry}
\usepackage{ltxtable}
\usepackage{cases}
\usepackage{lipsum}
\begin{document}
\begin{longtable}{p{0.13\textwidth} | p{0.86\textwidth-2\tabcolsep}}
\hline\hline
\bf LEFT Col. & \bf RIGHT Col.\\
\hline\hline
ABC & \lipsum[2].\\
\hline
abc & \lipsum[2]
\begin{numcases}{u(r)=}
C_1 r + C_2 \log r + C_3 \log (\log r) \\
C_4 \log ( \log (\log r))+ C_5 \log (\log ( \log (\log r)))
\end{numcases}
hhu
\begin{align}
C_1 r + C_2 \log r + C_3 \log (\log r)+ C_4 \log ( \log (\log r))+ C_5 \log (\log ( \log (\log r)))
\end{align}
\\
\hline\hline
\end{longtable}
\end{document}
此外,表格似乎太大了。如何解决这个问题?
答案1
文档amsart
类似乎执行了一些指令,这些指令最终会扰乱方程式生成器例程。参见@egreg 的回答以便进行全面诊断和直接治疗。如果您不采用该解决方案,则需要将显示的方程式装入 中minipage
。
还请注意,第二列的可用宽度不是0.86\textwidth-2\tabcolsep
,而是0.87\textwidth-4\tabcolsep-1\arrayrulewidth
。
\documentclass[a4paper, 11pt, oneside]{amsart}
%\usepackage{amsmath,amssymb, amsthm} % loaded automatically by 'amsart' doc. class
\usepackage[a4paper,width=16.5cm,top=1.5cm,bottom=2.cm]{geometry}
\usepackage{longtable,cases,calc,lipsum}
\begin{document}
\begin{longtable}{p{0.13\textwidth} | p{0.87\textwidth-4\tabcolsep-1\arrayrulewidth}}
\hline
\bfseries LEFT Col. & \bfseries RIGHT Col.\\
\hline
abc & \lipsum[2][1-5] \par
\begin{minipage}{\hsize} % <-- new
\begin{numcases}{u(r)=}
C_1 r + C_2 \log r + C_3 \log (\log r) \\
C_4 \log ( \log (\log r))+ C_5 \log (\log ( \log (\log r)))
\end{numcases}
hhu
\begin{equation}
C_1 r + C_2 \log r + C_3 \log (\log r)+ C_4 \log ( \log (\log r))
+ C_5 \log (\log ( \log (\log r)))_{\vphantom{a}}
\end{equation}
\end{minipage} % <-- new
\\
\hline
\end{longtable}
\end{document}
答案2
如果你尝试用article
,问题就会消失,所以它必须依赖于amsart
,事实确实如此,因为该类\fullwidthdisplay
在每次数学显示时执行,这意味着
\displayindent=0pt \displaywidth=\columnwidth
在您的上下文中,这将产生比列规范分配的更大的宽度p
。您可以通过告诉 LaTeX 改用来解决此问题\linewidth
。
\documentclass[a4paper, 11pt, oneside]{amsart}
\usepackage{amsmath,amssymb, amsthm}
\usepackage[a4paper,width=16.5cm,top=1.5cm,bottom=2.cm]{geometry}
\usepackage{longtable,array}
\usepackage{cases}
\usepackage{lipsum}
\newcommand{\modfullwidthdisplay}{%
\displayindent=0pt
\displaywidth=\linewidth
}
\newcolumntype{q}[1]{>{\let\fullwidthdisplay\modfullwidthdisplay}p{#1}}
\begin{document}
\begin{longtable}{
@{}
p{\dimexpr0.14\textwidth-\tabcolsep-0.5\arrayrulewidth}
|
q{\dimexpr0.86\textwidth-\tabcolsep-0.5\arrayrulewidth}
@{}
}
\hline
\bfseries LEFT Col. & \bfseries RIGHT Col.\\
\hline
ABC & \lipsum[2].\\
\hline
abc & \lipsum[2]
\begin{numcases}{u(r)=}
C_1 r + C_2 \log r + C_3 \log (\log r) \\
C_4 \log ( \log (\log r))+ C_5 \log (\log ( \log (\log r)))
\end{numcases}
hhu
\begin{align}
C_1 r + C_2 \log r + C_3 \log (\log r)+ C_4 \log ( \log (\log r))+ C_5 \log (\log ( \log (\log r)))
\end{align}
\\
\hline
\end{longtable}
\end{document}
我稍微改变了尺寸规格以便覆盖整个文本宽度。
请注意,该功能\bf
已被弃用约 30 年。