LaTeX 自定义环境和命令

%导言区

\documentclass{ctexart}  %ctexbook ctexrep

% \newcommand 定义命令

% 命令只能由字母组成,不能以\end开头

%[]内为可选参数

% \newcommand<命令名称>[<参数个数>][<首参数默认值>]{<具体定义>}

%\newcommand可以是简单字符串替换,例如:

%\emph{text}表示强调

%使用\PRC 相当于 People's Republic of \emph{China} 这一串内容

\newcommand\PRC{People's Republic of \emph{China}}

%\newcommand也可以使用参数

%参数个数可以从1到9,使用时用#1,#2,...,#9表示

\newcommand\love[2]{#1 喜欢 #2}

\newcommand{\hateby}[2]{#2 不受 #1 喜欢}

%\newcommand的参数也可以有默认值

%指定参数个数的同时指定首个参数的默认值

%那么这个命令的第一个参数就成为了可选参数(调用时要使用[]指定 不然就使用默认值)

%下述命令有三个参数 其中第一个参数#1为可选参数 默认值为喜欢

\newcommand{\loves}[3][喜欢]{#2#1#3}

%\renewcommand重定义命令

%与\newcommand命令作用和用法相同,但只能用于已有命令

%\renewcommand<命令名称>[<参数个数>][<首参数默认值>]{<具体定义>}

\renewcommand{\abstractname}{简介} %重新定义\abstractname

%定义和重定义环境

%[]内可选 {}必填

%\newenvironment{<环境名称>}[<参数个数>][<首参数默认值>]{<环境前定义>}

%                            {<环境后定义>}

%\renewenvironment{<环境名称>}[<参数个数>][<首参数默认值>]{<环境前定义>}

%                            {<环境后定义>}

%为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}}

%正文区

\begin{document}

\PRC

\love{猫}{鱼}

\hateby{猫}{萝卜}

\loves{猫}{鱼} %不指定可选参数的取值 就使用默认值

\loves[最爱]{猫}{鱼} %[]指定可选参数的取值 此时将覆盖默认值

\begin{abstract}%\abstractname命令在abstract环境中自动调用

这是一段摘要。。。

\end{abstract}

\begin{myabstract} %使用自定义环境 使用默认参数值

这是一段自定义格式的摘要。。。

\end{myabstract}

\begin{myabstract}[我的摘要] %使用自定义环境 传入参数值 覆盖默认参数

这是一段自定义格式的摘要。。。

\end{myabstract}

\begin{Quotation}{易$\cdot$乾}

初九,潜龙勿用。

\end{Quotation}

定义命令和环境是进行\LaTeX{}格式定制、达成内容和格式分离目标的利器。使用自定义的命令和环境把字体、字号、缩进、对齐、间距等各种琐细的内容包装起来,辅以一个有意义的名字,可以使文档结构清晰、代码整洁、易于维护。在使用宏定义的功能时,要综合利用各种已有命令、环境、变量等功能,事实上,前面所介绍的长度变量与盒子、字体字号等内容,大多不直接出现在文档正文中,而主要都是用在实现各种结构化的宏定义中。

\end{document}

效果演示:

LaTeX学习 |(15)LaTeX 自定义环境和命令相关推荐

  1. LaTex学习笔记——LaTeX公式换行

    ps.  1."\!" 表示其前后字符之间无间隙        2.暂留        3.段落中的数学表达式应该置于( 和), $ 和$ 或者begin{math} 和end{m ...

  2. Latex学习笔记——latex中的中文处理办法

    latex中要使用中文排版首先要保证latex源文件的编码形式为UTF-8 其次还需要将构建命令设置为xelatex 然后有两种方法导入宏包: 第①种方法是直接将导言区引入的文档类改为\documen ...

  3. Latex学习笔记 ------ latex中图片的插入

    \documentclass{ctexart}% 导言区:\usepackage{graphicx} 使用usepackage命令导入graphicx宏包实现插图 % 语法: \includegrap ...

  4. latex学习笔记——latex的字体字号设置

    字体属性 一.字体编码 正文字体编码:OT1.T1.EU1等 数学字体编码:OML.OMS.OMX等 二.字体族 罗马字体:笔画起始处有装饰 无衬线字体:笔画起始处无装饰 打字机字体:每个字符宽度相同 ...

  5. 学习TeXworks编辑器(二)TAB补全详解与自定义补全命令总结

    文章目录 写在前面 内置补全命令及记忆 希腊字母的补全 规则 对应表 小写希腊字母 大写希腊字母 作为变量的希腊字母 常用数学命令(字体)的补全 常用环境的补全 自定义补全命令 结语 参考文献 写在前 ...

  6. Latex学习笔记(六)——自定义Latex模板

    前言: 对于一个给定的模板,自己做了修改,用于日常工作写报告使用(主要去除了封面和摘要部分),包含两个文件:(1) cls 文件里面定义好了常用的格式和环境:(2) tex 文件里面是我们文档内容的源 ...

  7. 假装认真的LaTeX学习笔记(1)—— Sublime中自动补全LaTeX命令(LaTeX-cwl安装教程)

    假装认真的LaTeX学习笔记(1)-- Sublime中自动补全LaTeX命令 简介 使用环境 如何在Sublime中获得LaTeX自动补全功能 安装Sublime插件--LaTeX-cwl 方法一: ...

  8. Latex学习笔记(五)——Latex模板学习总结

    前言: 最近参加了数学建模大赛,整个论文都是使用Latex工具排版的,至此感觉到了它的魅力.但是由于论文模板是主办方提供的,在排版格式定义文件(.cls文件)中已经设置好了所有环境,因此用起来还是很简 ...

  9. LaTeX学习笔记(中文版使用)

    下面是一篇优秀的LaTeX学习笔记, 转自: http://vincentme.org/post/LaTeX_study_note.php LaTeX LaTeX(LATEX,音译"拉泰赫& ...

最新文章

  1. 2021年大数据常用语言Scala(二十三):函数式编程 扁平化映射 flatMap
  2. 邮件数据恢复解决方法
  3. luogu P2365 任务安排(FJOI2019 batch)
  4. python模拟用户压力测试_Python 工具 Locust 进行负载测试
  5. 第06讲:多路加速,了解多进程基本原理
  6. 山东大学计算机非全上课,山东大学非全日制研究生上课方式
  7. tomcat启动的时候,没加载xml配置文件
  8. HDU2569 彼岸【打表+记忆化递归】
  9. Word转PDF(SaveAsPDFandXPS + jacob)
  10. xshell修改linux编码,xshell更改字符编码,xshell系统设置中文乱码怎么解决
  11. sun认证 java怎么考_Sun认证Java程序员考试技巧分享
  12. Allegro导出dxf
  13. Onlyoffice安装步骤
  14. laser_filters源码整体分析
  15. 对 iOS 14.2 糟糕的音乐控制界面的思考
  16. 2021年起重机司机(限桥式起重机)考试题库及起重机司机(限桥式起重机)找解析
  17. 分子对接教程 | (6) AutoDock对接操作与对接结果解读
  18. 部署onlyoffice(node.js版本)之野蛮施工法
  19. 在进行多媒体计算机辅助教学,计算机多媒体辅助在数学教学中的应用
  20. C++ STL函数 结构体数组sort()排序(henu.hjy)

热门文章

  1. ”每股净资产”与“每股未分配利润”
  2. 重点:bat脚本的基本命令语法
  3. 菜单栏管理工具菜单栏管理工具当选Bartender4 Mac
  4. 深度学习 (四)Keras利用CNN实现图片识别(Mnist、Cifar10)
  5. Karl Guttag:我在AWE 2022体验到了哪些有意思的AR眼镜
  6. glade使用与GTK+学习初步
  7. 北加州地震台网震相走时获取及 HYPOINVERSE 格式读取
  8. NOKIA5110液晶显示模块学习笔记
  9. 电影分区发行 移动端电影院创造中国电影市场新增量
  10. 锁相放大器sr830_锁相放大器SR830