为什么第一个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 回答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} ```

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。