在Latex中经常使用一些自定义的名称,比如
\newtheorem{corollary}[theorem]{Corollary} %推论
. 常用的定义类型的命令有:
命令 | 含义 | 举例 | 备注 |
---|---|---|---|
\newcommand | 只用于定义新命令 | 不能与现有命令重名 | |
\renrecommand | 只用于改变已有的命令的定义 | 重定义已有命令或者定义新命令,都会报错 | |
\newthoorem | 定义一个定理类环境 | 先定义,才可使用 | |
\providecommand | |||
\newenvironment | |||
\renreenvrionment |
文章目录
- 一、command
- 1.1 栗子一:代替的情况
- 1.2 含参数的情况
- 二、`renewcommand`
- 2.1 重新定义标题名称
- 2.2 结构变量名
- 三、newtheorem
- 3.1 使用方法
- 3.2 命令的理解和错误认知
- 3.3 定理类的排序
一、command
语法格式
\newcommand<命令>[<参数个数>][<首参数默认值>]{<具体定义>}
注:这里新定义的 命令
要以\
开头。
1.1 栗子一:代替的情况
\newcommand\PRC{People's Republic of \emph{China}}
step1 :定义
step2:应用
step3:展示结果
1.2 含参数的情况
\newcommand \GO[2]{#1 likes to go to home with #2}
step1:定义,抄上
step2:应用
step3:展示
二、renewcommand
它的意义和用法与\newcommand
完全相同,只是用于改变已有命令的定义。值得注意的是,如果使用该命令重新定义已有的命令或用其定义新命令,都会产生一个编译时的错误。
我的理解是,有一个“命令”库,专门用来存在Latex中的命令,值得注意的是,这些命令都是唯一的。这里表示唯一的方式,是给这些“命令”类似人一样起个“名字”。名字是独一无二的,则保证了唯一性。在下面举例的时候,我称“命令”为“人”。
newcommand,意思是引入一个新的“人”,这个人要给个名字,比如叫“小明”,这个“小明”不能与原来的人同名,不然 呼叫“小明”的时候,会有两个人同时应答,会出错。至于这个“小明”是否与原来的“小刚”长的一模一样则不管(长的一样,指功能相同)。引入后,我们也需要将“小明” 放入库里。
renewcommand, 意思是在原来的某个“人”身上进修。比如,在库里有一个叫“小明”的人,我们现在送他去清华深造一下,然后“小明”长了本事了(内容重新定义过了),但是他还是叫“小明”。这里注意的是,假设你要送“小明”去清华,结果库里没有“小明”这个人(不存在这个命令),那么也会报错。此外,“小明”也在库里,你也要送“小明”去清华,结果“小明”没去或者玩了导致一点本事也没长,还跟以前一模一样,则也是失败了,所以系统也会报错。
栗子
\renewcommand{\algorithmicrequire}{\textbf{Input:}} % Use Input in the format of Algorithm
\renewcommand{\algorithmicensure}{\textbf{Output:}} % Use Output in the format of Algorithm
2.1 重新定义标题名称
\renewcommand{\contentsname}{\heiti 目\quad 录}
\renewcommand{\listfigurename}{图目录}
\renewcommand{\listtablename}{表目录}
\renewcommand{\partname}{第\thepart 部}
\renewcommand{\chaptername}{第\thechapter章}
\renewcommand{\abstractname}{摘要}
\renewcommand{\refname}{参考文献}
\renewcommand{\indexname}{索引}
\renewcommand{\figurename}{图}
\renewcommand{\tablename}{表}
\renewcommand{\appendixname}{附录}
\renewcommand{\proofname}{证明}
这的提醒的是,这是是 将已有的英文命令改为中文,中文的话要有对应编译版本。
2.2 结构变量名
\renewcommand{\equationautorefname}{公式}
\renewcommand{\footnoteautorefname}{脚注}
\renewcommand{\itemautorefname}{项}
\renewcommand{\figureautorefname}{图}
\renewcommand{\tableautorefname}{表}
\renewcommand{\appendixautorefname}{附录}
\renewcommand{\theoremautorefname}{定理}
三、newtheorem
参考资料:《 关于 \newtheorem》
调用时需要引用包:\usepackage{amsthm}
。
常用的 “数学内容” :Proposition,Theorem,Definition,Lemma,Assumption,Remark,Proof,Corollary,Example.
几者的关系:
推论(Corollary)是由定理(Theorem)推导出来的,定理(Theorem)是由引理(Lemma)推导出来的。总之:引理(Lemma) => 定理(Theorem)=> 推论(Corollary)
3.1 使用方法
- 导入包:
\usepackage{amsthm}
- 定义“定理类”环境。
大胆猜想,如果不定义的话,会有啥结果呢?显然是报错的。
\newtheorem{definition}{Definition}
- 使用及展示
\begin{definition}
Age is average 80.
\end{definition}
3.2 命令的理解和错误认知
月饼是有各种形状(也可以理解表面有不同的“雕花”),做月饼是需要模具的。现在有一个叫做“amsthm"的生产模具的厂商【\usepackage{amsthm}】,我现在给它下订单做月饼的”模具“。我给第一个模具起名为”definition",它的花样为“Definition"【\newtheorem{definition}{Definition}】. 由于第一个名字太长,我写的太累了,所以第二个我起个短名,给第二个模具起名为“assu",它的花样为”Assumption".第三个,第四个,。。。。
当我做月饼使用的时候呢,我拿了一个“definition"的模具【\bengin{definition}\end{definiton}】,往里面添加了红豆馅【Age is average 80.】的馅料,然后我的月饼在烘烤【编译】后就做好了。
3.3 定理类的排序
- 对于同一个模具,或者说名字相同的环境,其序号是顺延的。
- 特定时候要求,定理需要跟section同级别,引理需要跟子节subsection同级别。
如下可以看出,不写,默认为1,2,3
sectiion,默认为0.1, 0.2, …
subsection,默认为0.01, 0.02,…
\documentclass[]{article}
\usepackage{amsthm}
%opening
\newtheorem{definition}{Definition}[section]
\newtheorem{assu}{Assumption}[subsection]
\newtheorem{theo}{Theorem}
\title{}
\author{}
\begin{document}
\begin{theo}
Go to bed early and Give up early.
\end{theo}
\begin{definition}
Age is average 80.
\end{definition}
\begin{assu}[age]
If i is 8 years old.
\end{assu}
\begin{assu}[money]
If i have 100 dollar.
\end{assu}
\end{document}