![嵌套数组和表格不知从何处生成“t”。如何删除它?](https://linux22.com/image/424226/%E5%B5%8C%E5%A5%97%E6%95%B0%E7%BB%84%E5%92%8C%E8%A1%A8%E6%A0%BC%E4%B8%8D%E7%9F%A5%E4%BB%8E%E4%BD%95%E5%A4%84%E7%94%9F%E6%88%90%E2%80%9Ct%E2%80%9D%E3%80%82%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E5%AE%83%EF%BC%9F.png)
例子:
\documentclass{article}
\begin{document}
\begin{center}
\begin{tabular}{ll}
text
& $
\begin{array}[cc]{ll}
& 1
\end{array}
$
\end{tabular}
\end{center}
\end{document}
如何删除“text”和“1”之间的“t”?
这是我的乳胶版本:
pdfTeX 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) kpathsea version 6.3.1 Copyright 2019 Han The Thanh (pdfTeX) et al. There is NO warranty. Redistribution of this software is covered by the terms of both the pdfTeX copyright and the Lesser GNU General Public License. For more information about these matters, see the file named COPYING and the pdfTeX source. Primary author of pdfTeX: Han The Thanh (pdfTeX) et al. Compiled with libpng 1.6.37; using libpng 1.6.37 Compiled with zlib 1.2.11; using zlib 1.2.11 Compiled with xpdf version 4.01
答案1
可选参数应该array
是以下之一
[t]
[b]
[c]
(最后一个可以省略)。也就是说,单身的括号之间的字符。现在修复方法应该很明显了。
TeX 会进行比较
\if #1t
如果比较结果#1
为cc
\if cct
以下两个字符相等,因此t
成为条件的“真实文本”的一部分,从而出现在输出中。
也许 LaTeX 内核可以检查可选参数是否为单个允许字符。但是,的代码array
从一开始就没有发生重大变化,并且是在 TeX 内存非常稀缺时编写的,太多检查可能会导致内存耗尽。