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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一文搞懂Overleaf(Latex)中的Environment和\newenvironment命令

發布時間:2023/12/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一文搞懂Overleaf(Latex)中的Environment和\newenvironment命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 什么是Environment
  • 自定義Environment(\newenvironment命令)
  • 自定義Environment傳遞參數
    • 定義單個參數
    • 定義多個參數
  • 重寫現有Environment
  • 實戰:定義摘要
  • 參考資料

什么是Environment

在Latex中,\begin{sth} 內容 \end{sth} 這種類型的都是environment。他描述了內容應該如何展示。

例如:

\begin{center} 這個一個系統定義好的Environments \end{center}

center這個environment定義應該將其內容居中展示。



自定義Environment(\newenvironment命令)

定義好的environment并不能滿足人們的需求,比如不同學校的摘要要求字體,格式等都不一樣,所以需要自定義environment

通過\newenvironment命令可以自定義environment,格式為 \newenvironment{name}{pre}{after},其中name表示environment的名稱,pre表示內容前的內容,after表示內容后的內容。 例如

\newenvironment{myenv}{文檔前面的內容\par}{文檔后面的內容}\begin{myenv} 文檔的內容\par \end{myenv}


可以看到,使用自定義environment myenv,他會自動在文檔前面和后面增加指定的內容。

\par 是指切換下一段,類似換行。


除了指定文本內容外,還可以在environment中使用environment,例如

\newenvironment{boxed}{\begin{center}\begin{tabular}{|p{0.9\textwidth}|}\hline\\}{ \\\\\hline\end{tabular} \end{center}} %--------------------------------------------------boxed之前的內容\begin{boxed} This is the text formatted by the boxed environment \end{boxed}boxed之后的內容

上述內容等價于

文檔之前的內容\begin{center}\begin{tabular}{|p{0.9\textwidth}|}\hline\\ 文檔內容 \\\\\hline\end{tabular} \end{center}文檔之后的內容


到這里,其實就很容易看出,environment的本質為:將\begin{name}替換為pre,將\end{name}替換為after

\newenvironment{name}{pre}{after}\begin{name} \end{name}

自定義Environment傳遞參數

\newenvironment{name}[參數個數][首參數默認值]{pre}{after}

定義單個參數

\newenvironment{myenv}[1][默認值]{參數:#1 \par}{}\begin{myenv} 內容 \end{myenv}\begin{myenv}[參數1] 內容 \end{myenv}


該實例中,定義了1個參數,參數默認值為默認值。在pre中可以使用#1獲取參數。after中不能獲取參數

定義多個參數

\newenvironment{myenv}[2][默認值]{參數:#1 \par 參數2:#2 \par}{}\begin{myenv}[參數1]{參數2} 內容 \end{myenv}\begin{myenv}{參數2} 內容 \end{myenv}


當有多個參數時,第一個參數使用[]傳遞,后面的參數使用{}傳遞

重寫現有Environment

和前面一樣,只需要將newenvironment改為renewenvironment 即可





實戰:定義摘要

要求:

  • 標題:小二號黑體字居中
  • 正文:為小四號宋體,行距20磅,首行縮進二個字符
\documentclass{article} \usepackage[UTF8]{ctex} % 引入宏,顯示 \usepackage[UTF8]{ctex} % 引入宏,顯示中文 \usepackage{type1cm} % 字體工具包 \usepackage{indentfirst} % 首行縮進 \usepackage{xeCJK} % 中文字體\begin{document}\newenvironment{cnabstract} { \begin{center} \heiti \zihao{-2} 摘要 \end{center} % 正文部分設置 \setlength{\baselineskip}{20pt} % 設置行間距為20磅 \setlength{\parindent}{2em} % 2em 代表首行縮進兩個字符 \songti % 宋體 \zihao{-4} % 小四 } {}\begin{cnabstract}這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要這里是摘要。摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段摘要第二段。\end{cnabstract}\end{document}


參考資料

官方文檔:https://www.overleaf.com/learn/latex/Environments
【LaTeX入門】03、設置字體相關命令: https://blog.csdn.net/xiazdong/article/details/8892070

總結

以上是生活随笔為你收集整理的一文搞懂Overleaf(Latex)中的Environment和\newenvironment命令的全部內容,希望文章能夠幫你解決所遇到的問題。

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