参数编号在 \newenvironment 页脚中不起作用。如何使其起作用?

参数编号在 \newenvironment 页脚中不起作用。如何使其起作用?

我尝试为单调重复的表格创建一个新环境,该环境具有一个参数。该参数必须位于表格的末尾。我尝试了以下方法:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[magyar]{babel}
\usepackage{amsthm}
\newenvironment{point}[1]
{
    \begin{tabular}{ @{}p{.4\textwidth}p{.4\textwidth}c@{} }
    \hline
}
{
    \hline
    \multicolumn{2}{r}{Summary}& #1 point
    \end{tabular}
}

但我得到了Illegal parameter number in definition of \endpoint.错误。我不知道为什么会发生这种情况以及如何解决它。

答案1

环境的参数仅在起始代码的定义中可用。但您可以使用宏来保存参数的内容。

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[magyar]{babel}
\usepackage{amsthm}
\newcommand*\points{}% <- new macro
\newenvironment{point}[1]
{%
    \renewcommand*\points{#1}% <- save the argument
    \noindent
    \begin{tabular}{ @{}p{.4\textwidth}p{.4\textwidth}c@{} }
    \hline
}
{%
    \hline
    \multicolumn{2}{r}{Summary}& \points~point
    \end{tabular}%
}

\begin{document}
\begin{point}{5}
  x&x\\
  y&y\\
\end{point}
\end{document}

在此处输入图片描述

相关内容