我正在尝试创建一个表格,其中包含通过\newcommand
文档其他地方定义的信息。当我使用我创建的命令序列时,表格中单元格之间的垂直线消失了。
这是我正在使用的代码:
\documentclass[a4paper,12pt,notitlepage]{article}
\newcommand{\shorttitle}[1]{Template}
\begin{document}
\begin{tabular}{|l|l|l|l|l|}
\hline
A & \shorttitle & B & C & D \\
\hline
\end{tabular}
\vspace{1cm}
\begin{tabular}{|l|l|l|l|l|}
\hline
A & Template & B & C & D \\
\hline
\end{tabular}
\end{document}
我希望它像第二个示例一样出现,但不需要明确输入文本,因为我想在文档的几个点输入相同的文本。
有人能指出我做错了什么吗?
顺便说一句,在我的实际文档中,表格出现在页脚中,该页脚在单独的 .sty 文件中定义,因此我需要在一个文件中定义命令并在另一个文件中使用它
答案1
在 的定义中使用\shorttitle{}
或删除,否则会期待一个参数,而它找到的第一件事就是,被吞噬到涅槃 (;-)),所以这将删除一个表列(在显示中)[1]
\newcommand{\shorttitle}[1]{Template}
\shorttitle
&
\documentclass[a4paper,12pt,notitlepage]{article}
\newcommand{\shorttitle}[1]{Template}
\begin{document}
\begin{tabular}{|l|l|l|l|l|}
\hline
A & \shorttitle{} & B & C & D \\
\hline
\end{tabular}
\vspace{1cm}% Really?
\begin{tabular}{|l|l|l|l|l|}
\hline
A & Template & B & C & D \\
\hline
\end{tabular}
\end{document}