如何学习读懂代码 如\ifx\CompleteCourse\relax \ClassScribeSetupA

2020-12-20 22:40发布

## 编译环境 操作系统 * [ ] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [ ] TexLive `年...

## 编译环境 操作系统 * [ ] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [ ] TexLive `年份` * [ ] MikTeX `版本号` * [ ] CTeX `若需勾选,请把[ ]改成[x]` ## 我的问题 本人初学,求教学习方法。 1.在看别人代码时,有很多看不懂的地方。也没有help命令可用。不知道如何学习。 2.查找环境“trivlist”和一些命令时,完全找不对文档,也不会找依赖的宏包。 如:texdoc ifx打开的是ifxptex package;texdov trivfloat 打开的是trivfloat。 3.\ifx\CompleteCourse\relax \ClassScribeSetupA 出现在首行,不明作用,怎么删都报错。 源代码时在下面网页看到的。删除部分语句就报错。无法使用删除比较法学习。 http://www.cs.toronto.edu/~toni/Courses/MLTheory/Lectures/l1.tex 我粘贴一小段,求各路大神指教学习方法。%Proof Complexity Scribe Notes template ``` \ifx\CompleteCourse\relax \ClassScribeSetupA \else \documentclass[11pt]{article} \newtheorem{theorem}{Theorem} \fi % FOR THE SCRIBE: CUSTOMIZE THE ENTRIES BELOW: % Fill in the following information particular to these scribe notes: \def\scribeone{Danny Heap} % Who is the scribe? \def\classdate{15 September 2005} % Date of the class \def\classnumber{1} % Is this the first, second, ...? % Here are some commands that stay the same for the whole class. \def\classinstructor{Toniann Pitassi} \def\classtitle{Machine Learning Theory} \def\doctitle{\textup{CS 2416 - Machine Learning Theory}} \def\classid{\textup{Lecture \#\classnumber: \classdate}} \ifx\CompleteCourse\relax \ClassScribeSetupB \else \def\makeatletter{\catcode`\@=11\relax} \def\makeatother{\catcode`\@=12\relax} \makeatletter \def\ps@scribeheadings{\let\@mkboth\@gobbletwo \def\@oddhead{\sl\doctitle \hfill \classid }\def\@oddfoot{\hfil \rm \thepage \hfil}\def\@evenhead{\@oddhead}% \def\@evenfoot{\@oddfoot}\def\sectionmark##1{}\def\subsectionmark##1{}} \makeatother \pagestyle{scribeheadings} \begin{document} \end{document} ```
1条回答
zepinglee
2020-12-21 16:27 .采纳回答
1. `\ifx` 是 TeX 的命令,需要阅读 The TeXbook 或者 TeX for the Impatient (`texdoc impatient`)。 2. `trivlist` 是 LaTeX2e kernel (`texdoc source2e`)定义的。 一般地来说,要想找到某个命令或者环境在哪定义,一般的查找顺序是 TeXbook -> `source2e` -> `classes` -> 加载的其他宏包,但是后面的代码可能会重定义前面的命令,所以需要一些经验。 建议新手先不要去动看不懂的代码,尤其是名字带 @ 的。

一周热门 更多>