“LaTeX”的版本间的差异
跳到导航
跳到搜索
tabular
(未显示同一用户的12个中间版本) | |||
第3行: | 第3行: | ||
== 笔记 == | == 笔记 == | ||
− | === | + | === Limit controls must follow a math operator === |
+ | |||
+ | <code>\limits</code> 用于使下标出现在运算符的下面。<code>\limits</code> 之前的符号需要是一个 math operator。所以需要这样定义 | ||
+ | <syntaxhighlight lang=latex> | ||
+ | \mathop{\mathrm{arg\,min}}\limits_{0≤j<i}(D(j)) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 表格 === | ||
+ | |||
+ | ==== 合并单元格 ==== | ||
+ | |||
+ | <syntaxhighlight lang=latex> | ||
+ | \multicolumn{3}{l}{Stuff that spans 3 columns, left aligned} | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== tabular <code>@{}</code> ==== | ||
+ | |||
+ | 在 tabular 的参数中使用 <code>@{}</code> 可以移除对应列之间或者表格左右的空白。<ref>[https://latex.org/forum/viewtopic.php?t=27022 Why do people insert @{} in table preamble?]</ref> | ||
+ | |||
+ | ==== 表格标题换行 ==== | ||
+ | |||
+ | 无需宏包的做法: | ||
+ | #使用 <code>\shortstack</code> 命令,缺点为无法调整竖直方向的对齐,其它单行标题靠下。 | ||
+ | #:<syntaxhighlight lang=latex> | ||
+ | \begin{tabular}{ll} | ||
+ | \shortstack{ABC\\DEF} & GHI \\ | ||
+ | \hline | ||
+ | cell & cell \\ | ||
+ | \end{tabular} | ||
+ | </syntaxhighlight> | ||
+ | #:效果为 | ||
+ | #:<syntaxhighlight lang=text> | ||
+ | ABC | ||
+ | DEF GHI | ||
+ | --------- | ||
+ | cell cell | ||
+ | </syntaxhighlight> | ||
+ | #tabular 环境第一个参数中使用 <code>p{3cm}</code> 指定单元格的宽度,可用 <code>\newline</code> 手动换行。 | ||
+ | |||
+ | 用 makecell 宏包:{{code|latex|<nowiki>\makecell{ABC\\DEF}</nowiki>}}</code> 两行间距较大,用 <code>\\[-1ex]</code> 暂时解决。 | ||
+ | |||
+ | === 调整段间距 === | ||
+ | |||
+ | <syntaxhighlight lang=latex> | ||
+ | \setlength{\parskip}{8pt} | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === <code>\newcommand</code> 和 <code>\newcommand*</code> 的区别 === | ||
+ | |||
+ | <code>\newcommand</code> 定义体中可以出现分段,<code>\newcommand*</code> 定义体中不能。<ref>[https://tex.stackexchange.com/a/1057 What's the difference between \newcommand and \newcommand*?]</ref>为了快速地排查错误,一般只要允许都应使用带 * 的版本。 | ||
+ | |||
+ | <syntaxhighlight lang=latex> | ||
+ | \newcommand{\examplea}[1]{% #1 可以包含 \par | ||
+ | } | ||
+ | \newcommand*{\exampleb}[1]{% #1 不能包含 \par | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 禁用连字(ligature) === | ||
虽然连字是一种 feature,但是有的时候不需要连字。 | 虽然连字是一种 feature,但是有的时候不需要连字。 | ||
− | * {{code|latex|f\/f}} | + | * {{code|latex|f\/f}} 字母间距偏大,<code>\/</code> 原本是用来修正斜体与直立体字符间距的 <ref>[https://stackoverflow.com/a/1459479/10974106 LaTeX sequence \/?]</ref> |
* {{code|latex|<nowiki>f{}f</nowiki>}} 可能在 pdfLaTeX 和 LuaLaTeX 不可用 <ref>[https://tex.stackexchange.com/a/439663 How do I disable ligatures?] Mico 的评论</ref> | * {{code|latex|<nowiki>f{}f</nowiki>}} 可能在 pdfLaTeX 和 LuaLaTeX 不可用 <ref>[https://tex.stackexchange.com/a/439663 How do I disable ligatures?] Mico 的评论</ref> | ||
+ | * {{code|latex|<nowiki>\hbox{f}f</nowiki>}} | ||
=== <code>\{</code> 和 <code>\lbrace</code> 的区别 === | === <code>\{</code> 和 <code>\lbrace</code> 的区别 === | ||
第16行: | 第75行: | ||
* <code>\{</code> 能在文本模式和数学模式中使用 | * <code>\{</code> 能在文本模式和数学模式中使用 | ||
* <code>\lbrace</code> 只能在数学模式中使用 | * <code>\lbrace</code> 只能在数学模式中使用 | ||
+ | |||
+ | == 宏包 == | ||
+ | |||
+ | === algorithm2e === | ||
+ | |||
+ | {{main| LaTeX algorithm2e}} | ||
+ | |||
+ | === ctex === | ||
+ | |||
+ | 汉字字宽被存于 <code>\ccwd</code> 中。<ref>ctex 宏包文档第 1 章第 8 节 8.1 字号与间距</ref> | ||
+ | |||
+ | == 工具 == | ||
+ | |||
+ | === texcount === | ||
+ | |||
+ | 包括 include 文件的字数: | ||
+ | |||
+ | texcount -inc main.tex | ||
+ | |||
+ | 简略输出: | ||
+ | |||
+ | texcount -inc -brief main.tex | ||
+ | |||
+ | === Tables Generator === | ||
+ | |||
+ | [https://www.tablesgenerator.com/ 网站]。用于生成 LaTeX 表格。支持从 Google Docs 中复制,可调整对齐选项等等。可在工具栏右边选择使用 booktabs 风格的表格。 | ||
== 参考资料 == | == 参考资料 == |
2021年10月22日 (五) 20:46的最新版本
LaTeX 是一个排版系统。
笔记
Limit controls must follow a math operator
\limits
用于使下标出现在运算符的下面。\limits
之前的符号需要是一个 math operator。所以需要这样定义
\mathop{\mathrm{arg\,min}}\limits_{0≤j<i}(D(j))
表格
合并单元格
\multicolumn{3}{l}{Stuff that spans 3 columns, left aligned}
tabular @{}
在 tabular 的参数中使用 @{}
可以移除对应列之间或者表格左右的空白。[1]
表格标题换行
无需宏包的做法:
- 使用
\shortstack
命令,缺点为无法调整竖直方向的对齐,其它单行标题靠下。\begin{tabular}{ll} \shortstack{ABC\\DEF} & GHI \\ \hline cell & cell \\ \end{tabular}
- 效果为
ABC DEF GHI --------- cell cell
- tabular 环境第一个参数中使用
p{3cm}
指定单元格的宽度,可用\newline
手动换行。
用 makecell 宏包:\makecell{ABC\\DEF}
两行间距较大,用 \\[-1ex]
暂时解决。
调整段间距
\setlength{\parskip}{8pt}
\newcommand
和 \newcommand*
的区别
\newcommand
定义体中可以出现分段,\newcommand*
定义体中不能。[2]为了快速地排查错误,一般只要允许都应使用带 * 的版本。
\newcommand{\examplea}[1]{% #1 可以包含 \par
}
\newcommand*{\exampleb}[1]{% #1 不能包含 \par
}
禁用连字(ligature)
虽然连字是一种 feature,但是有的时候不需要连字。
\{
和 \lbrace
的区别
\{
能在文本模式和数学模式中使用\lbrace
只能在数学模式中使用
宏包
algorithm2e
参见主条目 LaTeX algorithm2e。
ctex
汉字字宽被存于 \ccwd
中。[6]
工具
texcount
包括 include 文件的字数:
texcount -inc main.tex
简略输出:
texcount -inc -brief main.tex
Tables Generator
网站。用于生成 LaTeX 表格。支持从 Google Docs 中复制,可调整对齐选项等等。可在工具栏右边选择使用 booktabs 风格的表格。
参考资料
- ↑ Why do people insert @{} in table preamble?
- ↑ What's the difference between \newcommand and \newcommand*?
- ↑ LaTeX sequence \/?
- ↑ How do I disable ligatures? Mico 的评论
- ↑ \{ & \} vs \lbrace & \rbrace
- ↑ ctex 宏包文档第 1 章第 8 节 8.1 字号与间距