该代码运行良好:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tabulary}
\begin{document}
\begin{tabulary}{\linewidth}{L}
$ M $\\
\end{tabulary}
\end{document}
但是此代码会产生消息“Package tabulary 警告:输入第 7 行没有合适的列!”:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tabulary}
\begin{document}
\begin{tabulary}{\linewidth}{L}
$ \begin{cases} M \end{cases}$\\
\end{tabulary}
\end{document}
有人能弄清楚这是为什么吗?或者如何修复它?如果位于cases
“l”列中(实际上我试图运行的生产代码中就是这种情况),它也会失败,所以这不仅仅是 tabulary 在拉伸 a 或类似问题时遇到问题cases
。它在 tabular 中工作正常。
我知道警告不是错误,上面的代码编译得很好。但在我的实际用例中,问题是 tabulary 放弃了寻找合适的列,因此其他行(甚至没有 的行)cases
会超出页面范围。
答案1
呃,谁知道tabulary
在做什么:-)
其设置中的某些内容使嵌套cases
构造混乱。您可以尝试向软件包作者投诉,也许可以解决问题,但如果您只想继续处理文档并让警告消失,我会避免嵌套:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tabulary}
\newsavebox\mybox
\begin{document}
\sbox\mybox{$ \begin{cases} M \end{cases}$}
\begin{tabulary}{\linewidth}{L}
\usebox{\mybox}\\
\end{tabulary}
\end{document}