为什么第一个figure环境外面加括号会报错,而去掉第一个figure环境外面的括号不会报错

2020-06-30 23:42发布

为什么第一个figure环境外面加括号会报错,而去掉第一个figure环境外面的括号不会报错,第二个figure环境外面加了括号哦。 \documentclass{article} \begin{do...

为什么第一个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条回答
registor
2020-07-01 07:46
建议将代码置于代码块中,这样的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} ```

一周热门 更多>