我目前正在做一个更大的项目,有几个章节。它们都在文件夹中chapter<chapternumber>
。每个文件夹都有一个子文件夹images
,用于存放图像。我必须将它们全部放在文档末尾的附录中。所以我想我为自己创建了一个appfig
可以节省一些工作的新环境:
\newenvironment{appfig}[3]
{
\begin{figure}[h]
\centering
\input{chapter#1/image/#2}
\caption{#3}
\label{fig:#2}
\end{figure}
}
#1
相应的章节、#2
图片名称和#3
图片标题在哪里。但是,我得到了错误
Runaway argument?
{chapter4,htb_angle_theory,htb/image/
! Paragraph ended before \@iinput was complete.
<to be read again>
\par
l.24
Runaway argument?
{
! Paragraph ended before \caption@prepareanchor was complete.
<to be read again>
\par
l.24
Extra }, or forgotten \endgroup.
\@caption ...\else \caption@prepareanchor {#1}{#2}
\memcaptioninfo {#1} {\csna...
l.24
还有一些类似的东西。
我在第 22 行使用 调用了环境\appfig{4,imagename.tex,some caption}
。
我在附录中这样做:
\chapter*{Appendix}
\pagenumbering{Roman}
\setcounter{page}{1}
\appfig{4,htb_angle_theory,htb}
有什么方法可以让我清楚地表明#1
只需将此数字添加到文件路径中吗?
编辑:
\input{}
我应该提到我打算只将此函数用于 pgf-plots。这就是我在-environment 中使用它的原因figure
。当我使用正常的图形环境时,一切都正常。
答案1
环境定义为三参数:
\newenvironment{appfig}[3]{...}{...}
缺少结束部分(TeX\par
从下面的空行中获取)。
它用作命令一争论:
\appfig{4,htb_angle_theory,htb}
可以使用以下方法修复此问题\newcommand
:
\newcommand{\appfig}[3]{...}
并使用以下命令调用命令三参数:
\appfig{4}{htb_angle_theory}{htb}
如果附录不包含文本,则使用minipage
包\captionof{figure}{#3}
或capt-of
可以caption
替代环境figure
,因为在这种情况下浮动环境没有多大意义。
顺便说一句,\pagenumbering
已经将页码重置为 1。