latex自学笔记
第一章 安装与测试
一、安装与测试
1.下载安装tex live和Tex studio,去这个网站:[http://tug.org/texlive/]可下载最新版本的iso文件进行安装,iso文件最好是装载之后进行安装。
2.Tex studio的下载可以去清华大学镜像网站直接搜索texstudio找到最新版本进行安装。
3.tex live相当于jdk,Tex studio相当于eclipse开发工具,可以方便开发和提高效率
4.打开命令行窗口输入tex -v命令查看tex live是否安装成功
5.查看latex版本命令:latex -v
6.查看xelatex版本命令:xelatex -v
7.为了得到随时更新,在命令行输入命令:tlmgr update --all
二、小试牛刀
1.(1)在d盘创建testLatex文件夹:mkdir testLatex
创建文件:notepad test.tex(后缀一般是tex,会提醒没有文件,是否创建,选择是)
在记事本中输入如下内容:
\documentclass{article}
\begin{document}
Hello \LaTeX.
\end{document}
注意下面的操作顺序:
1、保存文件 2、关闭记事本 3、使用dir命令查看
4、使用latex test.tex进行编译
5、再次dir,发现生成了一个test.aux、test.dvi、test.log文件
6、dvipdfmx test.dvi,生成一个test.pdf文件
7、test.pdf查看文档
在编辑完成后,也可以使用xelatex test.tex可以直接生成test.pdf文件。
可以使用批处理方式:
latex temp.tex
dvipdfmx temp.div
*del *.aux *.dvi .log
或者
xelatex text.tex
*del *.aux *.dvi .log
如果想要生成包含中文的pdf,在保存.tex时采用utf-8编码,并在添加
\usepackage{ctex}的宏,如下:
\documentclass{article}
\usepackage{ctex}
\begin{document}
你好,\LaTeX.
\end{document}
三、使用Tex Studio
以上操作方法纯属炫技,具体使用还得是使用IDE工具。即之前安装的Tex studio。一开始的安装博客里面有设置Tex studio的部分,包括语言设置,默认编译器(就像Python也有好几种编译器一样:Cpython、IPython、Jython等),行号设置等。
第二章 源文件的结构
一、源文件的基本结构
.tex文件分为导言区和正文区(文稿区),在.tex文件中,用%表示注释,%后的内容不解析。
导言区用\documentclass{article},article还可以用book、report、letter代替,不同类型代表不同类型的文档。
\title{First Tex File} %表示文档题目
\author{Andy} %作者
\date{\today} %日期,\today会获取今天的日期
以上这些设置要在正文区添加\maketitle使其生效
正文区写在如下位置:
\begin{document}
\maketitle%使得导言区的设置生效
hello world!
%在生成的文档中增加换行,也需要在源码中换行
函数
f
(
x
)
f(x)
f(x)的定义如下:
f
(
x
)
=
3
x
2
+
x
−
1
f(x)=3x^2+x-1
f(x)=3x2+x−1
\end{document}
正文区的 f ( x ) f(x) f(x)表示数学公式,单对$ 表示行内公式,即公式和前后内容连着,双对 表示行内公式,即公式和前后内容连着,双对 表示行内公式,即公式和前后内容连着,双对$ $$表示行间公式,和前后内容都换行隔开。
在生成的文档中增加换行,需要在源码中隔一行。或者在一行最后使用\,或者使用\par
%整体文件:
%导言区
\documentclass{article}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
hello world!
%在生成的文档中增加换行,需要在源码中隔一行
函数$f(x)$的定义如下:$f(x)=3x^2+x-1$
函数$f(x)$的定义如下:$$f(x)=3x^2+x-1$$
\end{document}
第三章 中文处理办法
一、LaTex中的中文处理办法
确保构建–>默认编译器是XeLaTeX,编辑器–>认字体编码是UTF-8。
整体文档:
%导言区
\documentclass{article}%自定义的新命令
\newcommand\degree{^\circ}%正文区使用了自定义的命令\degree
\title{\heiti 勾股定理}%指定黑体字体
\author{\kaishu 毕达哥拉斯}%指定楷书字体
\date{\today}
\usepackage{ctex}%显示中文需要添加该指令
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
符号语言表述:设直角三角形
A
B
C
ABC
ABC,其中
∠
C
=
90
°
\angle C=90\degree
∠C=90°,则有:
\begin{equation} %表示带编号的行内公式
AB2=BC2+AC^2
\end{equation}
\end{document}
\begin{equation}
AB2=BC2+AC^2
\end{equation}
equation:表示带编号的行内公式
二、查看latex中的帮助文档
1.查看ctex宏集手册:命令行输入texdoc ctex
2.查看一份不太简短的latex介绍:命令行输入texdoc lshort-zh
第四章 字体字号设置
一、LaTex字体字号的设置
字体属性:在LaTex中,一个字体有5种属性:
1.字体编码
- 正文字体编码:OT1、T1、EU1等
- 数学字体编码:OML、OMS、OMX等
2.字体族
- 罗马字体:笔画起始处有装饰
- 无衬线字体:笔画起始处无装饰
- 打字机字体:每个字符宽度相同,又称等宽字体
3.字体系类
- 粗细
- 宽度
4.字体形状
- 直立
- 斜体
- 伪斜体
- 小型大写
5.字体大小
整体:弄清字体命令和字体声明
%字体字号设置
\documentclass[10pt]{article}%10磅是默认正常的字体大小,即下文中的normalsize
\usepackage{ctex}
\newcommand{\myfont}{\textbf{\textsf{Fancy Text}}}
%正文区
\begin{document}
%字体族设置(罗马字体、无衬线字体、打字机字体)
\textrm{Roman Family} \textsf{Scan Serif Family}\texttt{Typewriter Family}%\textrm等是字体命令,大括号里是作用到的文字
{\rmfamily Roman Family} {\sffamily Scan Serif Family}{\ttfamily Typewriter Family}%\rmfamily是字体声明,后面紧跟的文字是作用到的文字
{\sffamily Who are you?you find self on everyone around.take you as the same as others!}
{\ttfamily Are you aiser than others?}
%字体系列设置(粗细、宽度),\textbf可以对字体加粗
\textmd{Medium Series} \textbf{Boldface Series}%\textmd等是字体命令,大括号里是作用到的文字
{\mdseries Medium Series} {\bfseries Boldface Series}%字体声明
%字体形状(直立、斜体、伪斜体、小型大写)
\textup{Upright Shape} \textit{Italic Shape} %字体命令
\textsl{Slanted Shape} \textsc{Small Caps Shape}
{\upshape Upright Shape} {\itshape Italic Shape }%字体声明
{\slshape Slanted Shape}
{\scshape Small Caps Shape}
%中文字体
{\songti 宋体} \quad{heiti 黑体}\quad{\fangsong 仿宋}\quad {\kaishu 楷书}%\quad表示空格
中文字体的\textbf{粗体}与\textit{斜体}
%字体大小
{\tiny Hello }\\
{\scriptsize Hello }\\
{\footnotesize Hello }\\
{\small Hello }\\
{\normalsize Hello }\\
{\large Hello }\\
{\Large Hello }\\
{\LARGE Hello }\\
{\huge Hello }\\
%中文字号设置命令
\zihao{5}你好!
\myfont%latex格式与内容分离
\end{document}
效果如下:
第五章 篇章结构
一、LaTex的篇章结构
\section{}表示小节,
\subsection{}构建子小节,
\subsubsection{}构建子子小节
整体如下(换行有,但不缩进,\par可以缩进,文字之间隔一行也可以换行缩进)
%文档基本结构
\documentclass{article}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
\section{引言}
中国人口模式的转变发生于民国时期 关于民国的进步,我只讲两个过去人们比较忽略的问题。 一是人口模式。如前所述,传统时代人口的增减是王朝兴衰的显示器。
中国人口模式的转变发生于民国时期 关于民国的进步,我只讲两个过去人们比较忽略的问题。 一是人口模式。如前所述,传统时代人口的增减是王朝兴衰的显示器。\par
中国人口模式的转变发生于民国时期 关于民国的进步,我只讲两个过去人们比较忽略的问题。 一是人口模式。如前所述,传统时代人口的增减是王朝兴衰的显示器。\\中国人口模式的转变发生于民国时期 关于民国的进步,我只讲两个过去人们比较忽略的问题。 一是人口模式。如前所述,传统时代人口的增减是王朝兴衰的显示器。
\section{实验方法}
\section{实验结果}
\subsection{数据}
\subsection{图表}
\subsubsection{实验过程}
\section{结论}
\section{致谢}
\end{document}
\chapter{}产生章节,不过要将\documentclass{ctexart}改为\documentclass{ctexbook},\tableofcontents{}产生目录。#此处原来有错误,现已修改,不影响阅读,感谢评论区的评论指正。
第六章 特殊符号
一、latex种的特殊符号
1.空白符号
- 空行分段,多个空行等同一个
- 自动缩进,绝对不能使用空格代替
- 英文中多个空格处理为1个空格,中文中空格将被忽略
- 汉字与其它字符的间距会自动由XeLaTeX处理
- 禁止使用中文全角空格
整体文档:
%文档基本结构
\documentclass{article}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}%中文处理宏包
\usepackage{xltxtra}%提供了针对XeLaTex的改进并且加入了XeTeX的LoGo
\usepackage{texnames}%一些logo
\usepackage{mflogo}
%正文区
\begin{document}
\section{空白符号}
实在学不了唱歌,能把主子伺候好,跟老母亲我一起去淘宝直播 卖宠物用品也是极好的啊,我学生家里就是卖宠物用品的,中日混血,家里有一群猫狗,一墙的仓鼠笼子(我看过照片,大概有几十个的样子)
%1em(当前字体中M的宽度)
a\quad b
%2em
a\qquad b
%约为1/6个em
a\,b a\thinspace b
%0.5个em
a\enspace b
%空格
a\ b
%硬空格
a~b
%1pc=12pt=4.218mm
a\kern 1pc b
a\kern -1em b
a\hskip 1 em b
a\hspace{35pt} b
%占位宽度
a\hphantom{xyz} b
%弹性宽度
a\hfill b
\section{\ LaTex 控制符}
\# \$ \{ \} \~{} \_{} \^{} \textbackslash
\section{排版符号}
\S \P \dag \ddag \copyright \pounds
\section{\ Tex 标志符号}
%基本符号
\ TeX{} \ LaTeX{} \ LaTeXe{}
%宏包提供
\XeLaTeX
%mflogo宏包提供
\METAFONT{} \MF{} \MP{}
\section{引号}
`' `` '' ``被引号包裹'' % `表示单引号的左边,'表示单引号的右边
\section{连字符}
- -- ---%短中长
\section{非英文字符}
\oe \OE \ae \AE \aa \AA \o \O \l \L \ss \SS !`?`
\section{重音符号}
\`O \'O \^O \''O \~o \=o \.o \u{o} \v{o} \H{o} \r{o}
\t{o} \b{o} \c{o} \d{o}
\end{document}
第七章 插图问题
一、插图问题
texstudio最上方向导里有图片插入,可以不用自己写代码,不过导言区需要加个\usepackage{graphicx}命令
为了可以插入图片,需要引入\usepackage{graphicx}宏指令,文本类型要设为\documentclass{ctexart},通过\graphicspath{{figures/}}指定待插入图片所在的文件夹,在正文区,导入图片,\includegraphics{two},two是figures文件夹下的文件(图像)名,
整体文档:
%导言区
\documentclass{ctexart}%ctexbook, ctexrep
%\usepackage{ctex}
%导言区:\usepackage{graphicx}
%语法:\includegraphics[<选项>]{<文件名>}
%格式:EPS,PDF,PNG,JPEG,BMP
\usepackage{graphicx}
\graphicspath{{figure/},{pics/}}%图片在当前目录下的figure目录
%正文区(文稿区)
\begin{document}
\LaTeX{}中的插图
\includegraphics{imagefile}
\end{document}
第八章 表格排版
一、latex中的表格
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
<表项> & <表项> & ............& <表项> \
\end{tabular}
用\表示换行
用&表示不同的列
l-本列左对齐
c-本列居中对齐
r-本列右对齐
p{<宽>}-本列宽度固定,能够自动换行
整体文档:
\documentclass{ctexart}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}
%正文区
\begin{document}
\begin{tabular}{|l| c| c| c| r|}%会有5列,指定每列的居中形式,|表示每列中间有竖线分开
\hline%每行之间由横线分开
姓名&语文&数学&外语&政治\\%\\表示换行
\hline
张三&87&120&25&36\\
\hline
张1&87&120&25&36\\
\hline
张2&87&120&25&36\\
\hline
\end{tabular}
\end{document}
第九章 浮动体
一、浮动体的作用
浮动体:
实现灵活分页(避免无法分割的内容产生的页面留白)
给图表添加标题-----交叉引用
figure环境(table环境与之类似)
\begin{figure}[允许位置]
<任意内容>
\end{figure}
<允许位置>参数(默认tbp)
h,此处(here)—代码所在的上下文位置
t,页顶(top)—代码所在页面或之后页面的顶部
b,页底(bottom)—代码所在页面或之后页面的底部
p,独立一页(page)—浮动页面
整体文档:
\documentclass{ctexart}
%\usepackage{ctex}
\usepackage{graphicx}
\graphicspath{{figures/}}
%正文区
\begin{document}
\LaTeX{}中\TeX MS的学籍证明 见图\ref{fig-xjzm}
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.3]{xjzm}
\caption{\TeX MS的学籍证明}\label{fig-xjzm}
\end{figure}
在\LaTeX{}中也可以使用表\ref{table-score}所示的表格
\begin{table}[h]
\centering
\caption{考试成绩单}\label{table-score}
\begin{tabular}{|l| c| c| c| r|}%会有5列,指定每列的居中形式,|表示每列中间有竖线分开
\hline%每行之间由横线分开
姓名&语文&数学&外语&政治\\%\\表示换行
\hline
张三&87&120&25&36\\
\hline
张1&87&120&25&36\\
\hline
张2&87&120&25&36\\
\hline
\end{tabular}
\end{table}
\end{document}
第十章 数学公式初步
一、数学公式初步
在前面就写过$ $之间的内容是数学公式,除此之外,还有( )之间的也是,以及\begin{math}
a+b=b+a
\end{math}
也是。
上标用表示,如果后有多个字符,需要把这些字符用{}括起来。
整体文档:
%文档基本结构
\documentclass{article}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}
\usepackage{amsmath}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
\section{行内公式}
\subsection{美元符号}
交换律$a+b=b+a$,如$1+2=2+1$
\subsection{小括号}
交换律\(a+b=b+a\),如\(1+2=2+1\)
\subsection{math环境}
交换律\begin{math}
a+b=b+a
\end{math}
\section{上下标}
\subsection{上标}
$2x^2+3x+5=6$
\subsection{下标}
$a_0,a_1,a_{100}$
\section{希腊字母}
$\alpha$
$\beta$
$\gamma$
$\epsilon$
$\pi$
$\omega$
$\Gamma$
$\Delta$
$\Theta$
$\Pi$
$\Omega$
\section{数学函数}
$\log$
$\sin$
$\cos$
$\arccos$
$\arcsin$
$\ln$
$\sin^2x+\cos^2x=1$
$\sqrt{2}$
$\sqrt{x^2+y^2}$
$\sqrt{2+\sqrt{2}}$
$\sqrt[4]{x}$
\section{分式}
大约是原体积的$3/4$
大约是原体积的$\frac{3}{4}$
\section{行间公式}
\subsection{$$$$}
$$2x^2+5x+3=6$$
\subsection{displayment}
\begin{displaymath}
2x^2+5x+3=6
\end{displaymath}
\subsection{自动编号公式}
交换律见式\ref{eq:commutative}
\begin{equation}
a+b=b+a \label{eq:commutative}
\end{equation}
\subsection{不带自动编号公式}
\begin{equation*}%需要使用\usepackage{amsmath}
a+b=b+a
\end{equation*}
公式编号与交叉引用也是自动实现的,在排版中,要习惯于采用自动化的方式处理诸如图、表、公式的编号于交叉引用。再如公式\ref{eq:pol}:
\begin{equation}
x^5 - 7x^3 + 4x = 0 \label{eq:pol}
\end{equation}
\end{document}
第十一章 数学公式矩阵排版
一、数学公式之矩阵
latex中的省略号用\dots(横向…)或\vdots(竖向…)或\ddots(斜着的…)
\frac {分子}{分母},也可以\frac 1 2,表示1/2,如果是1/20,需要\frac 1 20
整体文档:
%矩阵
\documentclass{article}
\title{First Tex File}
\author{Moon Sun}
\date{\today}
\usepackage{ctex}
\usepackage{amsmath}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
%矩阵环境,用&分隔列,用\\分割行
\[
%matrix环境 无界线
\begin{matrix}
0 & 1 \\
1 & 0
\end{matrix} \qquad
%pmatrix环境 小括号
\begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix} \qquad
%bmatrix环境 中括号
\begin{bmatrix}
0 & -i \\
i & 0
\end{bmatrix} \qquad
%Bmatrix环境 大括号
\begin{Bmatrix}
0 & -i \\
i & 0
\end{Bmatrix} \qquad
%vmatrix环境 单竖线
\begin{vmatrix}
0 & -i \\
i & 0
\end{vmatrix} \qquad
%Vmatrix环境 双竖线
\begin{Vmatrix}
0 & -i \\
i & 0
\end{Vmatrix} \qquad
\]
%可以使用上下标
\[
A = \begin{pmatrix}
a_{11}^2 & a_{12}^2 & a_{13}^2 \\
0 & a_{22} & a_{23} \\
0 & 0 & a_{33}
\end{pmatrix}
\]
%常用省略号:\dots(横着) \vdots(竖着) \ddots(斜着)
\[
A = \begin{bmatrix}
a_{11} & \dots & a_{1n} \\
& \ddots & \vdots \\
0 & & a_{nn}
\end{bmatrix}_{n \times n}
\]
%分块矩阵(矩阵嵌套)
\[
\begin{pmatrix}
\begin{matrix}
1&0\\
0&1
\end{matrix}
& \text{\Large 0}\\
\text{\Large 0}&\begin{matrix}
1&0\\0&1
\end{matrix}
\end{pmatrix}
\]
%三角矩阵
\[
\begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
& a_{22} & \cdots & a_{2n} \\
& & \ddots & \vdots \\
\multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}}
& & a{nn}
\end{pmatrix}
\]
%跨列的省略号:\hdotsfor{<列数>}
\[\begin{pmatrix}
1&\frac 12 &\dots &\frac ln \\
\hdotsfor{4}\\
m&\frac m2& \dots &\frac mn
\end{pmatrix}
\]
%行内小矩阵(smallmatrix)环境
复数$z=(x,y)$也可以用矩阵
\begin{math}
\left(%需手动加上左括号
\begin{smallmatrix}
x& -y\\y&x
\end{smallmatrix}
\right)%需手动加上右括号
\end{math}来表示
%array环境(类似表格环境tabular)
\[
\begin{array}{r|r}
\frac 12&0\\
\hline
0& -\frac abc\\
\end{array}
\]
\end{document}
第十二章 多行数学公式排版
一、latex中的多行公式排版
使用\text命令在数学公式中处理中文
整体文档:
\documentclass{article}
\title{First Tex File}
\author{Moon Sun}
\date{\today}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{amssymb}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
%gather和gather*环境(可以使用\\换行)
%带编号
\begin{gather}
a+b=b+a\\
ab ba
\end{gather}
%不带编号
\begin{gather*}
3+5=5+3\\
3 \times 5=5\times 3
\end{gather*}
%在\\前使用\notetag阻止编号
\begin{gather}
3^2 + 4^2 = 5^2 \notag \\
5^2 + 12^2 = 13^2 \notag \\
a^2 + b^2 = c^2
\end{gather}
%align和align*环境(用&对齐)
%带编号
\begin{align}
x &=t+\cos t+1\\
y &=2 \sin t
\end{align}
%不带编号
\begin{align*}
x &= t & x &= \cos t & x &= t \\
y &= 2t & y &= \sin(t+1) & y &= \sin t \\
x &=t+\cos t+1\\
y &=2 \sin t
\end{align*}
%split环境(对齐采用align环境的方式,编号在中间)
\begin{equation}
\begin{split}
\cos 2x &=\cos^2 x- \sin^2 x\\
&=2\cos^2 x-1
\end{split}
\end{equation}
%case环境
%每行公式中使用&分隔为两部分
%通常表示值和后面的条件
\begin{equation}
D(x)=\begin{cases}
1,& \text{如果} x \in \mathbb{Q};\\
0,& \text{如果} x \in \mathbb{R}\setminus\mathbb{Q}
\end{cases}
\end{equation}
\end{document}
第十三章 参考文献设置
一、latex中的参考文献
%一次管理,一次使用
%参考文献格式
\begin{thebibliography}
\bibitem[记号]{引用标志}文献条目1
\bibitem[记号]{引用标志}文献条目2
…
\end{thebibliography}
%其中文献条目包括:作者,题目,出版社,年代,版本,页码等
部分文档如下:
\begin{document}
\maketitle%使得导言区的设置生效
引用一篇文章\cite{article1},引用一本书\cite{book1}
\begin{thebibliography}{99}
\bibitem{article1}马化腾,雷军,李彦宏,张一鸣.\emph{基于LaTex的Web数学公式提取方法研究}[J].计算机科学.2014(06)
\bibitem{book1}Andy H,Bob,Cat,\emph{what does the fox say}
\end{thebibliography}
\end{document}
但更合理的方式是把参考文件单独处理
在另一个文件中(记为cite1)编写参考文献,如下图:@Book表示参考的是一本书
把该文件保存为后缀名为.bib的格式,内容如下:
@BOOK{mittelbach2004,
title={腾讯传},
publisher={广东教育出版社},
year={2004},
author={Frank Mittelbach and Michel Goossens},
series={Tools and Techniques},
address={广东},
edition={First}
}
在原文中引用:
\begin{document}
\maketitle%使得导言区的设置生效
引用一篇文章\cite{article1},引用一本书\cite{book1}
\begin{thebibliography}{99}
\bibitem{article1}马化腾,雷军,李彦宏,张一鸣.\emph{基于LaTex的Web数学公式提取方法研究}[J].计算机科学.2014(06)
\bibitem{book1}Andy H,Bob,Cat,\emph{what does the fox say}
这是一个文献引用:\cite{mittelbach2004}
\bibliography{cite1}
\end{thebibliography}
\end{document}
新的TEX参考文献排版引擎------biblatex/biber
样式文件(参考文献样式文件—bbx文献,引用样式文件—cbx文件)使用LATEX编写
支持根据本地化排版,如:
- biber -l zh__pinyin textfile,用于指定按拼音排序
- biber -l zh__stroke textfile,用于指定按笔画排序
第十四章 自定义命令和环境
\newcommand ---- 定义命令
命令只能由字母组成,不能以\end开头
\newcommand<命令>[<参数个数>][<首参数默认值>]{<具体定义>}
1.newcommand可以是简单的字符串替换
\usepackage{ctex}
%\newcommand可以是简单的字符串替换,例如:
%使用\PRC 相当于People's Republic of \emph{China}这串内容
\newcommand\PRC{People's Republic of \emph{China}}
%正文区
\begin{document}
\PRC
\end{document}
\usepackage{ctex}
%\newcommand可以是简单的字符串替换,例如:
%使用\PRC 相当于People's Republic of \emph{China}这串内容
\newcommand\PRC{People's Republic of \emph{China}}
%\newcommand也可以使用参数
%参数个数可以有1~9个,#1,#2表示第1、2个参数
\newcommand\loves[2]{#1 喜欢 #2}%#1表示第一个参数,#2表示第二个参数
%整体就是参数一喜欢参数二
%参数采用位置参数,第二个传入的参数即为#2
\newcommand\hatedby[2]{#2 不受 #1 喜欢}
%\newcommand的参数可以有默认值
%指定参数个数的同时指定了首个参数的默认值
%第一个参数就成为你了可选的参数(要使用中括号指定),比如:
\newcommand\love[3][喜欢]{#2#1#3}%[3]表示有3个参数,第一个参数的默认值是“喜欢”
%正文区
\begin{document}
\PRC
\loves{猫}{鱼}
\hatedby{猫}{萝卜}
\love[最爱]{猫}{鱼}
\end{document}