自定義環(huán)境與命令
與其他編程語言類似,latex中也可以自定義“函數(shù)”,即latex中的命令和環(huán)境。
定義新命令
定義新命令的命令主要有三個:\newcommand,\renewcommand,\providecommand,他們語法相同,都可以定義新的命令,主要區(qū)別在于\newcommand只能新建命令,如果已有重名的命令則會報錯;\renewcommand相反,不能新建命令,只能修改已有的命令,如果沒有同樣名稱的命令則會報錯;\providecommand命令若沒有命令則會創(chuàng)建新命令,若有則新定義無效。
則三個命令的語法相同,下面已\newcommand為例介紹語法。
基本語法為\newcommand<命令>[<參數(shù)個數(shù)>][<首參數(shù)默認(rèn)值>]{<具體定義>}
命令名只能已字母開頭,并且不能已\end開頭。

圖中是三個例子。第一個例子中,自定義的\hatedby命令輸出文字#2不受#1喜歡,而輸入的參數(shù)中,第一給參數(shù)是貓兒,第二個參數(shù)是蘿卜,因此得到的輸出如圖。第二個例子中,自定義了\loves命令,輸出為#2#1#3,顯然輸入只給出了兩個參數(shù),因此認(rèn)為這兩個參數(shù)分別是第二個參數(shù)和第三個參數(shù),第一個參數(shù)使用默認(rèn)值喜歡,因此得到圖中結(jié)果。第三個例子中,分別給出了三個參數(shù),只需要按照#2#1#3的順序輸出第二個、第一個、第三個參數(shù)的值即可得到結(jié)果。
定義環(huán)境
定義命令使用下面的命令
\newcommand{<環(huán)境名>}[<參數(shù)個數(shù)>][<首參數(shù)默認(rèn)值>]{<環(huán)境前定義>}{<環(huán)境后定義>}
\renewcommand{<環(huán)境名>}[<參數(shù)個數(shù)>][<首參數(shù)默認(rèn)值>]{<環(huán)境前定義>}{<環(huán)境后定義>}
例如下面可以定義一個摘要環(huán)境

這個例子中自定義了一個myabstract的環(huán)境。[1]表示這個環(huán)境中僅有一個參數(shù),[摘要]表示這個參數(shù)的默認(rèn)值為摘要,后面兩組{}分別定義了環(huán)境前后的格式,環(huán)境前是居中small字體的參數(shù),并開始quotation環(huán)境,環(huán)境后結(jié)束qutotation環(huán)境。這個自定義的環(huán)境相當(dāng)于給quotation環(huán)境增加了一個放在前面的居中的參數(shù)。下面是引用引用命令中,沒有給出參數(shù)值,因此使用默認(rèn)參數(shù)摘要,因此在環(huán)境的前面居中輸出摘要兩個字,之后輸出環(huán)境中的文字。