## 编译环境 操作系统 * [x] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [x] TexLive `2019` * [ ] MikTeX `版本号` * [ ] CTeX `若需勾选,请把[ ]改成[x]` ## 我的问题 下面这段代码出现在一个文档类的定义里面,请问 1、`\ifdef`是什么意思? 2、一些命令前面有`\@`是什么意思? ``` \newcommand{\makecvheader}{% \begingroup \ifdef{\@photodiameter}{\begin{minipage}{\dimexpr\linewidth-\@photodiameter-2em}}{}% \raggedright\color{emphasis}% {\Huge\bfseries\MakeUppercase{\@name}\par} \medskip {\large\bfseries\color{accent}\@tagline\par} \medskip {\footnotesize\bfseries\@personalinfo\par} \ifdef{\@photodiameter}{% \end{minipage}\hfill% \begin{minipage}{\@photodiameter} \tikz\path[fill overzoom image={\@photo}]circle[radius=0.5\linewidth]; \end{minipage}\par}{}% \endgroup\medskip } ``` 完整代码: https://www.overleaf.com/articles/one-page-technical-resume/xrbwfjdzpmmx

3 回答3

0
第二个问题,cls中将@当做字母看待
0
ifdef{token}{true-block}{false-block}
0
`ifdef` 是个判断。 `\@` 是将其看为一个字母。

你的回答

请登录后回答

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