LaTeX 进阶语法

LaTeX进阶语法

一、 样式排版

在学完基础语法之后,标题、目录、、章节、公式、列表和图片等,学完这些只有,你排版出来的文档还是有许多类似的东西,如,字体,页眉页脚、页边距等等。本章的内容是修改LaTeX的排版样式。

1、 字体和字号

1.1 字体样式

常用的字体样式:

1.2 字号

字号命令实际大小依赖于所使用的文档类及其选项。表 5.3 列出了这些命令在标准文档类中的绝对大小,单位为 pt。

注意,可以选择使用{}来进行分块。

LaTeX还提供了一个基础命令\fontsize来设置任意大小的字号:

语法:\fontsize{size}{base line-skip}

  • size:字号大小
  • base line-skip:基础行距

注意:表5.3中的命令也都设定了与字号对应的基础行距,大小为字号的1.2倍。

如果不是在导言区,\fontsize的设定需要\selectfont命令才能立即生效,而表5.2的字号设定都是立即生效的。

常用的快捷设置字号的命令:

每一个命令对应的字号大小:

1.3 ctex宏包更改中文字体

可以使用ctex宏包中的命令来设置中文字体:

\setCJKmainfont{⟨font name⟩}[⟨font features⟩]
\setCJKsansfont{⟨font name⟩}[⟨font features⟩]
\setCJKmonofont{⟨font name⟩}[⟨font features⟩]

由于中文字体少有对应的粗体或斜体,⟨font features⟩ 里多用其他字体来配置,比如在 Win-dows 中设定基本字体为宋体,并设定对应的 BoldFont 为黑体,ItalicFont 为楷体:

\setCJKmainfont{SimSun}[BoldFont=SimHei, ItalicFont=KaiTi]
1.4 文字装饰

下划线:\underline

An \underline{underlined} text.

\underline 命令生成下划线的样式不够灵活,不同的单词可能生成高低各异的下划线,并且无法换行。ulem 宏包提供了更灵活的解决方案,它提供的 \uline 命令能够轻松生成自动换行的下划线:

An example of \uline{somelong and underlined words.}

斜体:\emph

Some \emph{emphasized words,including \emph{double-emphasized}words}, are shown here.

\emph 命令,它将文字变为斜体以示强调,而如果在已强调的文字中嵌套使用 \emph 命令,命令内则使用直立体文字。

2、 段落格式和间距

2.1 长度和长度变量

长度的数值 ⟨length⟩ 由数字和单位组成。

  • 在一些情况下还会用到可伸缩的“弹性长度”,如 12pt plus 2pt minus 3pt 表示基础长度为 12pt,可以伸展到 14pt,也可以收缩到 9pt。也可只定义 plus 或者 minus 的部分,如 0pt plus 5pt。
  • 长度的数值还可以用长度变量本身或其倍数来表达,如 2.5\parindent 等。
  • 如果需要自定义长度变量,需使用命令:\newlength{\⟨length command⟩}

长度变量可以用 \setlength 赋值,或用 \addtolength 增加长度:

\setlength{\⟨length command⟩}{⟨length⟩}
\addtolength{\⟨length command⟩}{⟨length⟩}
2.2 行距

前文中我们提到过 \fontsize 命令可以为字号设定对应的行距,但我们很少那么用。更常用的办法是在导言区使用 \linespread 命令。

语法:\linespread{⟨factor⟩}

  • factor:其作用于基础行距而不是字号。缺省的基础行距是 1.2 倍字号大小(参考 \fontsize 命令),因此使用 \linespread{1.5} 意味着最终行距为 1.8 倍的字号大小。

  • 如果不是在导言区全局修改,而想要局部地改变某个段落的行距,需要用 \selectfont 命令使 \linespread 命令的改动立即生效。

    {\linespread{2.0}\selectfont
    The baseline skip is set to be
    twice the normal baseline skip.
    Pay attention to the \verb|\par|
    command at the end. \par}
    In comparison, after the
    curly brace has been closed,
    everything is back to normal.
    
2.3 段落格式
\setlength{\leftskip}{⟨length⟩}  % 左缩进
\setlength{\rightskip}{⟨length⟩}  % 右缩进
\setlength{\parindent}{⟨length⟩}  % 首行缩进

控制段落缩进的命令为:

\indent
\noindent

如果需要在某一段不缩进,可在段落开头使用 \noindent 命令。相反地,\indent 命令强制开启一段首行缩进的段落。在段落开头使用多个 \indent 命令可以累加缩进量。

2.4 水平间距

LaTeX 默认为将单词之间的“空格”转化为水平间距。如果需要在文中手动插入额外的水平间距,可使用 \hspace 命令:

This\hspace{1.5cm}is a space of 1.5 cm.

\hspace 命令生成的水平间距如果位于一行的开头或末尾,则有可能因为断行而被舍弃。可使用 \hspace* 命令代替 \hspace 命令得到不会因断行而消失的水平间距。

命令 \stretch{⟨n⟩} 生成一个特殊弹性长度,参数 ⟨n⟩ 为权重。它的基础长度为 0pt,但可以无限延伸,直到占满可用的空间。如果同一行内出现多个 \stretch{⟨n⟩},这一行的所有可用空间将按每个 \stretch 命令给定的权重 ⟨n⟩ 进行分配。

x\hspace{\stretch{1}}
x\hspace{\stretch{3}}
x\hspace{\fill}x  % 相当于\stretvh{1}
2.5 垂直间距

在页面中,段落、章节标题、行间公式、列表、浮动体等元素之间的间距是 LATEX 预设的。

  • 比如 \parskip,默认设置为 0pt plus 1pt。

如果我们想要人为地增加段落之间的垂直间距,可以在两个段落之间的位置使用 \vspace 命令:

A paragraph.

\vspace{2ex}
Another paragraph.

另外 LATEX 还提供了\bigskip, \medskip, \smallskip 来增加预定义长度的垂直间距。

\parbox[t]{3em}{TeX\par TeX}
\parbox[t]{3em}{TeX\par\smallskip TeX}
\parbox[t]{3em}{TeX\par\medskip TeX}
\parbox[t]{3em}{TeX\par\bigskip TeX}

3、 页面和分栏

3.1 页面介绍

控制页边距的参数由图 5.1 里给出的各种长度变量控制。可以用 \setlength 命令修改这些长度变量,以达到调节页面尺寸和边距的作用;反之也可以利用这些长度变量来决定排版内容的尺寸,如在 tabularx 环境或 \includegraphics 命令的参数里,设置图片或表格的宽度为0.8\textwidth。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ImeoJEl-1673003807549)(null)]

页边距等比较直观的参数则必须间接设置。我们根据图 5.1 将各个方向的页边距计算公式给出(以奇数页为例):

⟨left-margin⟩ = 1in +
  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveKenny

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值