longtable 環境中的自動行編號

longtable 環境中的自動行編號

我有一個文檔,每一章都有自己的文件。我嘗試對錶進行自動編號,但它下降了缺少 \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 開始。我無法找出問題所在,因為它與常用的表格命令一起工作。

答案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}

相關內容