![参数编号在 \newenvironment 页脚中不起作用。如何使其起作用?](https://linux22.com/image/334616/%E5%8F%82%E6%95%B0%E7%BC%96%E5%8F%B7%E5%9C%A8%20%5Cnewenvironment%20%E9%A1%B5%E8%84%9A%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%E3%80%82%E5%A6%82%E4%BD%95%E4%BD%BF%E5%85%B6%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我尝试为单调重复的表格创建一个新环境,该环境具有一个参数。该参数必须位于表格的末尾。我尝试了以下方法:
\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}