Окружающая среда внутри longtable с LaTeX

Я хотел бы создать новую среду для печати верхнего и нижнего колонтитула между разделами таблицы.

Я сделал это:

\documentclass{article}

\usepackage{longtable}

\newenvironment{env}{Heading&&& \\}{\hline \\}

\begin{document}

\begin{longtable}{p{7cm}lrr}
    \begin{env}
        Content&b&c&d
    \end{env}
\end{longtable}

\end{document}

но меня оскорбляет компилятор. Смотрите здесь для полного вывода.

Кто-то видит проблему?

1 ответ

Решение

Здесь есть две проблемы. Во-первых, вам нужно \\ в концеContent&b&c&d"Во-вторых, среды не работают внутри таблиц / длинных таблиц - вот откуда берутся большинство ваших сообщений об ошибках. Возможно, их можно заставить работать, но это далеко за пределами моего TeX-fu. Это лучшее, что я можно придумать:

\documentclass{article}
\usepackage{longtable}
\newcommand{\startenv}{Heading\tabularnewline}
\newcommand{\stopenv}{\hline\tabularnewline}
\begin{document}

\begin{longtable}{p{7cm}lrr}
\startenv
    Content&b&c&d \\
\stopenv
\end{longtable}

(Не обязательно использовать \tabularnewline вместо \\, но это позволит избежать головной боли, если вы когда-нибудь смешаете это с другими средами, которые используют \\ для своих целей.)

Другие вопросы по тегам