有人能告诉我这有什么用吗?我想我已经理解了大部分
\newenvironment{keywords}{%
\renewcommand{\arraystretch}{1.1}
\begin{tabular}{>{}l>{}p{13cm}}
}{%
\end{tabular}
}
答案1
>{<stuff>}<col spec>
在tabular
或array
列规范中将插入<stuff>
在开头<col spec>
。它由array
包裹。 举个例子,
\begin{tabular}{>{\textbullet\space}l}
First \\ Second \\ Third
\end{tabular}
将创建一个包含三个项目的列表tabular
。
在您的情况下,<stuff>
是空的,因此不执行任何操作(并且可以被删除)。
答案2
>{<content>}
表格参数中的命令意味着将为<content>
以下列的每个单元格执行(如果是命令)或显示(如果是文本)(其类型由即将到来的字母 - 此处为l
和p
- 定义)。如果您在第一个里面添加例如\Large
命令>{}
(并使其成为>{\Large}
),那么您的关键字的第一列(它们的名称)将在您的表格中显示为大号。
尝试一下:
\documentclass[]{article}
\usepackage{array}
\newenvironment{keywords}{%
\renewcommand{\arraystretch}{1.1}
\begin{tabular}{>{\Large}l>{}p{13cm}}
}{%
\end{tabular}
}
\begin{document}
\begin{keywords}
test & Here is a long keyword that will exceed one line and break to the second one\\
Another test & Here is a long keyword that will exceed one line and break to the second one\\
\end{keywords}
\end{document}
由于是空的,它们没有添加任何内容,因此不会显示或执行任何内容。
相反,如果他们@{}
删除列之间的多余空间,则会出现以下情况:
尝试:
\documentclass[]{article}
\usepackage{array}
\newenvironment{keywords}{%
\renewcommand{\arraystretch}{1.1}
\begin{tabular}{>{}l@{}p{13cm}}
}{%
\end{tabular}
}
\begin{document}
\begin{keywords}
test & Here is a long keyword that will exceed one line and break to the second one\\
Another test & Here is a long keyword that will exceed one line and break to the second one\\
\end{keywords}
\end{document}