У меня есть документ, в котором каждая глава находится в отдельном файле. Я пытаюсь сделать автоматическую нумерацию таблицы, но она падаетотсутствует \endcsname вставленошибка, когда я хочу сделать шаг счетчика. Основной файл:
\documentclass[11pt,twoside]{report}
\usepackage{calc}
\usepackage[paperwidth=297mm,%
paperheight=210mm,%
inner=.12\paperwidth,%
outer=.08\paperwidth,%
top=.05\paperheight,%
bottom=.05\paperheight,%
xetex]{geometry}
\usepackage{longtable}
\usepackage[magyar]{babel}
\title{\textbf{Tanmenetek}\\Matematika}
\author{Benkó Tamás}
\newcounter{serial}[chapter]
\newcommand{\serie}{\stepcounter{serial}\arabic{serial}.}
\begin{document}
\maketitle
\chapter{9. osztály}
\input{nine.tex}
\end{document}
Файл nine.tex выглядит следующим образом:
\begin{longtable}{@{\makebox{\serie}}llll}
\multicolumn{1}{@{}l}{Óra címe}&Óra témája&Kompetencia-területek&Eszközök\\
\endhead
Bevezetés&Bevezetés&-&-\\
\end{longtable}
Когда я напрямую пишу команду \serie в каждую строку, она работает правильно. Когда я пишу \stepcounter в каждую строку, она все еще работает, но начинается с 0. Когда \stepcounter попадает в дескриптор @{}, я получаю указанную ошибку. Я не могу понять, в чем проблема, потому что она с обычной табличной командой работает.
решение1
Если добавить \usepackage{array}
табличную преамбулу, она будет обрабатываться более безопасным способом, не нарушаемым хрупкими командами.
\documentclass[11pt,twoside]{report}
\usepackage{calc}
\usepackage[paperwidth=297mm,%
paperheight=210mm,%
inner=.12\paperwidth,%
outer=.08\paperwidth,%
top=.05\paperheight,%
bottom=.05\paperheight,%
]{geometry}
\usepackage{longtable}
\usepackage[magyar]{babel}
\usepackage{array}
\title{\textbf{Tanmenetek}\\Matematika}
\author{Benkó Tamás}
\newcounter{serial}[chapter]
\newcommand{\serie}{\stepcounter{serial}\theserial.}
\begin{document}
\maketitle
\chapter{9. osztály}
\begin{longtable}{@{\serie}llll}
\multicolumn{1}{@{}l}{Óra címe}&Óra témája&Kompetencia-területek&Eszközök\\
\endhead
Bevezetés&Bevezetés&-&-\\
\end{longtable}
\end{document}