提问于:
浏览数:
1620
为什么第一个figure环境外面加括号会报错,而去掉第一个figure环境外面的括号不会报错,第二个figure环境外面加了括号哦。
\documentclass{article}
\begin{document}
{\begin{figure}[h]
\newsavebox{\set}
\savebox{\set}{\put(0,0){\circle*{3}}}
\begin{picture}(0,0)
\put(0,0){\usebox{\set}}
\end{picture}
\end{figure}
\let\set\undefined}
{\begin{figure}[h]
\newsavebox{\set}
\savebox{\set}{\put(0,0){\circle*{3}}}
\begin{picture}(0,0)
\put(0,0){\usebox{\set}}
\end{picture}
\end{figure}
\let\set\undefined}
\end{document}
1 回答
0
建议将代码置于代码块中,这样的MWE很乱。
报错的原因是`set`盒子的重复定义,`\let\set\undefined`置于大括号外才能对后续代码起作用,否则只对大括号内的代码起作用,修改后的代码为:
```tex
\documentclass{article}
\begin{document}
{\begin{figure}[h]
\newsavebox{\set}
\savebox{\set}{\put(0,0){\circle*{3}}}
\begin{picture}(0,0)
\put(0,0){\usebox{\set}}
\end{picture}
\end{figure}
}
\let\set\undefined
{\begin{figure}[h]
\newsavebox{\set}
\savebox{\set}{\put(0,0){\circle*{3}}}
\begin{picture}(0,0)
\put(0,0){\usebox{\set}}
\end{picture}
\end{figure}
\let\set\undefined
}
\end{document}
```
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。