日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

LaTeX中定义新命令和环境

發布時間:2023/12/3 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 LaTeX中定义新命令和环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LaTeX中定義新命令和環境

文章目錄

  • 一、newcommand命令
    • 1、簡單字符串替換
    • 2、指定參數
    • 3、指定參數默認值
  • 二、renewcommand命令
  • 三、newenvironment定義新環境
  • 四、newenvironment與newcommand命令嵌套使用
  • 五、renewenvironment重定義已有環境
  • 六、總結和代碼
    • 1、總結
    • 2、代碼

這一講中,我們主要討論LaTeX中命令和環境的定義與重定義的方法。

一般都在導言區進行命令的定義和重定義。

一、newcommand命令

newcommand用于定義一個命令,需要指定新定義的命令的名稱,參數個數,默認參數值,以及具體定義。

1、簡單字符串替換

例如,

定義一個不帶參數的PRC命令(PRC是自己取的)。

設該命令的具體定義是“People’s Republic of China”(具體定義是根據自己的需要寫噠),并對“China”執行emphasize 強調命令。

這個命令實際上是一個簡單的字符串替換命令。

定義好了之后,我們就可以在正文區使用PRC這個命令。

直接在正文區寫上“\PRC”即可引用此命令。

編譯并查看結果:

顯然,只需要修改PRC命令的定義,就可以修改排版結果。

而在正文區,只需要使用PRC命令,并不需要做出任何修改。

這就是LaTeX排版中內容與格式分離的基本思想。

2、指定參數

我們也可以為newcommand命令定義的新命令指定參數。

參數個數最多是9個。用1~9來表示。

用諸如#1,#2,…,#9的方式使用各參數。

例如:

用**#1表示第一個參數,用#2**表示第二個參數。

(1)第一個例子,如圖:

在正文區,使用定義的新命令。

編譯運行查看結果:

(2)第二個例子,如圖:

在正文區,使用定義的新命令。

編譯運行查看結果:

如果定義的命令需要參數,則使用該命令時需要為其提供必要的參數。

例如,在loves命令中,“貓兒”對應“#1”參數,“魚”對應“#2”參數。

在hatedby命令中,“貓兒”對應“#1”參數,“蘿卜”對應“#2”參數。

3、指定參數默認值

還可以為newcommand命令定義的命令的參數指定默認值。

注意,只能為第一個參數指定默認值

此時第一個參數稱為該命令的可選參數。

在使用該命令時,如果需要為第一個參數提供實際參數,則該參數需要用方括號指定。

例如,

定義一個新命令love,有三個參數,第一個參數默認值是“喜歡”,接下來是該命令的具體定義。

可以用不同的方式使用該命令。

查看結果:

解釋:

(1)在love的第一種使用方式中,只提供了兩個參數。此處的“貓兒”對應“#2”參數,“魚”對應“#3”參數。“#1”參數取默認值“喜歡”。

(2)在love的第二種使用方式中,提供了三個參數。此處的“貓兒”對應“#2”參數,“魚”對應“#3”參數。方括號[]指定的可選參數“最愛”,對應于“#1”,從而取代了該參數的默認值“喜歡”。

二、renewcommand命令

我們也可以使用renewcommand重新定義已有的命令。

renewcommand命令與newcommand命令的用法完全一致,唯一的區別是renewcommand只能作用于已有的命令

例如,可以將abstractname重新定義為“內容簡介”。

該命令會被abstract環境自動使用。

在正文區寫上:

編譯運行并查看結果:

注意,其標題為重新定義的abstractname命令的內容。

我們可以再次更改。

正文區不用動,咱們再次查看結果:

三、newenvironment定義新環境

newenvironment命令與newcommand命令類似。

需要指定環境名稱,參數個數,首參數默認值,環境前定義,環境后定義。

例如,

定義一個新的摘要環境myabstract,它有一個可選參數,其默認值為“摘要”。

在“環境前定義”中,用small命令設定環境中內容的字號

并指定**#1**參數的排版方式。

begin命令開始quotation環境。

在“環境后定義”中,用end命令結束quotation環境。

注意,在“環境前定義”和“環境后定義”兩端,使用大括號

正文區,用begin和end命令,使用自定義的myabstract環境。

編譯運行并查看結果:

當然,也可以為myabstract環境指定可選參數。

查看結果:

在此,“我的摘要”對應**#1**參數,并取代了第一個參數的默認值“摘要”。

四、newenvironment與newcommand命令嵌套使用

我們可以在newenvironment環境前定義中,用newcommand定義一個使用newenvironment參數的命令,并將該新命令應用于環境后定義中,以解決環境后定義中無法使用參數的問題。

如圖:

此處,“環境前定義”中的quotesource命令使用了新環境quotation的**#1**參數。

并在“環境后定義”中,使用了新命令。

正文區,使用beginend命令,使用新定義的環境。

編譯運行并查看結果:

注意,新環境Quotation的必選參數“易…乾”對應**#1**參數,并傳遞到quotesource命令中。

而且,在“環境后定義”中,使用了quotesource命令,

五、renewenvironment重定義已有環境

newenvironment用法一致,但前提是要有已有環境。

六、總結和代碼

1、總結

這一講,我們主要討論了命令和環境的定義與重定義,使用命令和環境的定義和重定義,達到內容與格式分離的目標。

這是LaTeX排版中的一個重要理念。

在LaTeX排版中,一定要避免直接在正文中使用原始的和基礎的排版命令。

當然,還可以定義和重定義帶星號的短命令與環境。

詳情請大家查閱相關資料。

2、代碼

tex文件代碼:

%導言區
\documentclass{ctexart} %ctexbook,ctexrep%newcommand--定義命令
%命令只能由字母組成,不能以\end開頭
%\newcommand<命令>[<參數個數>][<首參數默認值>]{<具體定義>}%\newcommand可以是簡單字符串替換,例如:
%使用\PRC相當于People's Republic of \emph{China} 這一串內容
\newcommand\PRC{People's Republic of \emph{China}}%newcommand也可以使用參數
%參數個數可以從1到9,使用時用 #1,#2,...,#9表示
\newcommand\loves[2]{#1 喜歡 #2}
\newcommand\hatedby[2]{#2 不受 #1 喜歡}%\newcommand的參數也可以有默認值
%指定參數個數的同時,指定了首個參數的默認值,那么這個命令的第一個參數
%就成為可選的參數(需要使用中括號指定)
\newcommand\love[3][喜歡]{#2#1#3}%renewcommand--重定義命令
%與\newcommand命令作用和用法相同,但只能用于已有命令。
%\renewcommand<命令>[<參數個數>][<首參數默認值>]{<具體定義>}
\renewcommand\abstractname{簡介}%定義和重定義環境
%\newenvironment{<環境名稱>}[<參數個數>][<首參數默認值>]
%				{<環境前定義>}
%				{<環境后定義>}%為book類中定義摘要(abstract)環境
\newenvironment{myabstract}[1][摘要]%
{\small\begin{center} \bfseries #1 \end{center} %\begin{quotation}} %{\end{quotation}}%環境參數只有<環境前定義>中可以使用參數,
%<環境后定義>中不能再使用環境參數。
%如果需要,可以先把前面得到的參數保存在一個命令中,在后面使用:
\newenvironment{Quotation}[1] %
{\newcommand\quotesource{#1} %\begin{quotation}} %{\par \hfill--- 《\textit{\quotesource}》%\end{quotation}}%\renewenvironment{<環境名稱>}[<參數個數>][<首參數默認值>]
%				{<環境前定義>}
%				{<環境后定義>}%正文區(文稿區)
\begin{document}\PRC\loves{貓兒}{魚}\hatedby{貓兒}{蘿卜}\love{貓兒}{魚}\love[最愛]{貓兒}{魚}\begin{abstract}這是一段摘要...\end{abstract}\begin{myabstract}[我的摘要]這是一段自定義格式的摘要...\end{myabstract}\begin{Quotation}{易$ \cdots $乾}初九,潛龍勿用。\end{Quotation}\end{document}

總結

以上是生活随笔為你收集整理的LaTeX中定义新命令和环境的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。