## 编译环境
操作系统
* [x] Windows 7/8/10
* [ ] macOS
* [ ] Linux
`若需勾选,请把[ ]改成[x]`
Tex发行版
* [x] TexLive `2...
## 编译环境
操作系统
* [x] Windows 7/8/10
* [ ] macOS
* [ ] Linux
`若需勾选,请把[ ]改成[x]`
Tex发行版
* [x] TexLive `2019`
* [ ] MikTeX `版本号`
* [ ] CTeX
`若需勾选,请把[ ]改成[x]`
## 我的问题
我在看一个cls文件(定义一个毕业论文封面的模板),请问下面这个命令是什么意思,@是什么意思?求大侠解答!
```
%%% ---- 封面 ----- %%%
\makeatletter
\def\stunum#1{\def\@stunum{#1}}\def\@stunum{} % 学号
\def\ctitle#1{\def\@ctitle{#1}}\def\@ctitle{} % 题目
\def\cschool#1{\def\@cschool{#1}}\def\@cschool{} % 院系
\def\cmajor#1{\def\@cmajor{#1}}\def\@cmajor{} % 专业
\def\cauthor#1{\def\@cauthor{#1}}\def\@cauthor{} % 作者
\def\cadvisor#1{\def\@cadvisor{#1}}\def\@cadvisor{} % 老师
\def\cdate#1{\def\@cdate{#1}}\def\@cdate{} % 日期
```
作者追问:2020-09-27 23:33
您好,谢谢您的解答,感激不尽!我还有下面疑问。
`\def\@stunum{}` 的作用是什么?我删除这段代码,并没有报错!
回答: 2020-09-27 23:33
这是将 `\@stunum` 初始化为空。如果删掉这行,在使用 `\stunum{}` 前,`\@stunum` 是为定义的,这时如果生成封面调用 `\@stunum` 就会报错。
回答: 2020-09-27 23:33
这是将 `\@stum` 初始化为空。如果删掉这行,在使用 `\stum` 前,`\@stum` 是为定义的,这时如果生成封面调用 `\@stum` 就会报错。
回答: 2020-09-27 23:33
未定义
一周热门 更多>