Кто-нибудь может мне сказать, что это делает? Я думаю, что понял большую часть
\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}