我有一个表格制作程序,可以为我创建表格。然而,一个问题是它写得不是很好。
例如,我希望它制作一个如下所示的表格:
\begin{tabular}{|l|lll|l|}
\cline{1-1} \cline{5-5}
id & x & y & y & sum \\ \cline{1-1} \cline{5-5}
a & 1 & 2 & 3 & 6 \\ \cline{1-1} \cline{5-5}
b & 1 & 2 & . & 3 \\ \hline
c & \multicolumn{1}{l|}{.} & \multicolumn{1}{l|}{.} & . & . \\ \hline
\end{tabular}
但是,有时它会在end{tabular}
命令末尾添加反斜杠,即end{tabular}\\
. 这会在某些环境中引发错误,例如threeparttable
和center
。
我已经在我自己的机器上编辑了这个程序的源代码,并通过电子邮件发送了一个没有回应的维护者。我有一个即将到来的项目,我需要在多台计算机上与多个同事共享此代码,我不能让每个人都找到更改包代码的确切命令。一般来说,这甚至还没有开始考虑具有可再现性的错误。
我意识到解决这个问题的好方法是让 Latex 将命令读取\end{tabular}\\
为end{tabular}
. 但是当我尝试定义自己的命令时,我无法让语法正常工作。有人可以帮我创建这个定义吗?我不明白为什么\newcommand{\end{tabular}\\}{\end{tabular}}
不起作用。
编辑:
我添加了一个 MWE。以下代码将无法使用 ShareLatex 进行编译。end{tabular}\\
说“ ”后,空白行会弹出一个错误There is no line to end here
。以(没有反斜杠)结尾的第二段代码end{tabular}
编译得很好。
\documentclass[12pt]{article}
\usepackage[a4paper, margin = .5in]{geometry}
\usepackage{pdflscape}
\usepackage{threeparttable}
\begin{document}
\begin{table}
\caption{My test table}
\begin{center}
\begin{threeparttable}
\small
\begin{tabular}{lll}
a & b & c \\
2 & 3 & 4 \\
this & that & here
\end{tabular}\\
\begin{tablenotes}
\item
\end{tablenotes}
\end{threeparttable}
\end{center}
\end{table}
\end{document}
这是第二个代码块,即运行的代码块。
\documentclass[12pt]{article}
\usepackage[a4paper, margin = .5in]{geometry}
\usepackage{pdflscape}
\usepackage{threeparttable}
\begin{document}
\begin{table}
\caption{My test table}
\begin{center}
\begin{threeparttable}
\small
\begin{tabular}{lll}
a & b & c \\
2 & 3 & 4 \\
this & that & here
\end{tabular}
\begin{tablenotes}
\item
\end{tablenotes}
\end{threeparttable}
\end{center}
\end{table}
\end{document}