Latex 专业的参考

tex对于论文写作或者其他的一些需要排版的写作来说,还是非常有意义的。我在网上看到这个对于Latex的入门介绍还是比较全面的,Arbitrary reference .所以将会翻译出来,供初学者学习。

TeX语法

TeX语法,编辑

你可能已经注意到,(La)TeX文档是蠢笨的基本上不包含什么具有特殊意义的符号,经常是依赖环境的并且很容易就可以看得出来。下面有一段LaTeX的代码,你也不用担心你还读不懂它,因为它可能包含不少的特别的符号:

I am text. Yes.%comment: a semi-complex table with math in it:
\begin{tabular}{|l|r|}\hline$a_1~~~b$ & $\sqrt[3]{a_1^2}$ \\
\end{tabular}

最终产生的表格的排版是这个样子的

特殊符号的总结

  • {}是作为一些命令参数来定义一些小块,比如临时的粗黑体在{\bf bold}

  • $是用来开始和结束数学模式的,比如一些公式啊,数字之类的。你可以在你文本的任何地方插入$a+b=c$,输入$$a+b=c$$,那么你的公式就会在段与段之间以块的形式展现。

  • %是用来注释的,这个是单行注释。如果你要注释大段的代码的时候,为了避免插入过多的百分号,你可以把这些字符放在\iffalse\fi里面。

  • _^分别作为下标和上标。你也可以同时使用上标和下标,比如:

  • ~是一个硬空格,它对于排版是有影响的,它是具有大小的,并且不可分连的空格,就像&nbsp一样的。它很有用比如:A.~Smith以及在引用的图表的时候Figure~\ref{dataflow},这确保了作者姓名或者图片和数字之间不会在行与行之间分隔。(也可以使用其他的办法来解决这个问题,比如mbox,不会强制使用特殊的空格大小)

  • 实际上,\经常和~拿起来一起来使用。尽管这两者之间还是有区别的:\是字间的空格,经常用来告诉LaTeX这不是句子的末尾,一般用于缩写或者标题。(Dr.\ Jones)

  • &适用于在数组以及表格中定义列的。

  • **用于开始一个命令。有一些可能是比较特殊的(\\用于换行,\>用于tab缩进),一般化的话应该是这样的\commandname。当然这可能会有看起来不太相同的使用方法:

    • 一次效果函数,比如使用\ss来获得一个德国字母

    • 状态改变,比如粗体,强调,比如text-{\em a-tron}会产生。(花括号是来限制作用的范围的)

    • 使用命令取得相应的值,一般是使用{}或者[]。比如:

    • \textsc{SmallCaps}产生

    • \caption{Description用于标题说明,一般用于图表。
    • 口音和发声符号,比如\'{e} \v{o}来产生

    • 使用\beginend是定义环境,从而和其他内容区分处理,比如:

    \begin{verbatim}In the verbatim environment, text appears with almost no treatment.There's also no need for manual TeX newlines (\\)\end{verbatim}

    会产生

    这些命令有选择项和参数项,对于每一个命令都有着相应的设置。有一些命令定义后,你可以用几种方式使用,但是一般的使用时选择项在参数项之前,比如对于\command[option1,option2]{argument}你可以用\comman{argument}作为基本使用。

  • #是在内部使用的,比如\newcommand

为了在文本里面使用上述的一些字符,你需要添加反斜杠使用\$ \{ \% \} \_ \#从而产生

这里也有几个意外情况,\\是一个字面上的换行,\~是一个插入符号。

对于反斜杠如何表示,可以使用$\backslash$

对于其他的一些插入符号,你可以将参数不加设置,\~{}, \^{},这样也能获得你想要的比如

对于等宽字体你也可以使用inline verbatim,比如\verb|^|, \verb|~|, \verb||

关于波浪字符和插入字符更多信息

为了在URLs里面使用波浪符号,你可以使用url包,这个可以为你处理任何事情:波浪符号会被当做一个波浪符号而不是TeX里面的空格,它复制一个波浪符号而不是空格,这个URLs也是可以点击的。

为了在非URL文本里面获得波浪符号,当然还有其他的办法,比如swung dash

  • 你可以获得一个不一样的波浪符号(在空格之上)通过使用\~{}, \textasciitilde, \char \~。这个波浪符号位置比较高,大多数人并不喜欢用。
  • 如果你希望在等宽字体里面使用波浪符号,一个简单的方法是使用verbatim环境,可能没有内联的使用起来那么方便\verb|foo/~var
  • texttidlebelow(依赖包textcomp)的位置更低,但是不能够以波浪符号粘贴复制。它在某些字体面,位置可能特别低,这个可能和字体相关。
  • $\sim$对于大多数情况来说就不太常用了,一般在数学环境里面用的比较多。

如果你不想使用宏命令,你也可以自己创建一个波浪符号,自己来调整位置和样式。比如:

你可以提高\sim波浪符号的位置通过{\raise.17ex\hbox{$\scriptstyle\sim$}}

你也可以降低波浪符号的位置,在\mathtt里面看起来更精细,你可能比较偏向于在普通文本中使用。在texttt看起来更粗,对于等宽字体显示效果比较好。比如,你可以定义:

\newcommand\thintilde{{\lower.92ex\hbox{\mathtt{\char\~}}}}`

\newcommand\thicktilde{{\lower.74ex\hbox{\texttt{\char\~}}}}`

你可以产生a\thintilde b\thicktilde c看起来就是这样

作为对比:

当你希望使用一个字面上的插入符号,\^{}是一个高的发音符号,你也可以在verbatim样式里面使用,比如:

Latex--入门系列三相关推荐

  1. 机器学习入门系列三(关键词:逻辑回归,正则化)

    机器学习入门系列三(关键词:逻辑回归,正则化) 目录(?)[+] 一逻辑回归 逻辑回归 假设表示 决策边界 代价函数 其他优化方法 多元分类 二正则化 一.逻辑回归 1.逻辑回归 什么是逻辑回归问题, ...

  2. Reflex WMS入门系列三十二:导出到Excel

    Reflex WMS入门系列三十二:导出到Excel 如同SAP系统的风格 --- 凡是有list的界面,都能导出到Excel ---, Reflex WMS系统也提供了类似的功能.几乎在任何的Lis ...

  3. 小猪的C语言快速入门系列(三)

    小猪的C语言快速入门系列(三) 标签: C语言 本节引言: 在上一节中,对C语言的基本语法进行了学习,类比成学英语的话,我们现在 只是会单词而已,组成一个个句子还需要学习一些语法,本节学习的就是两对 ...

  4. 零基础数据挖掘入门系列(三) - 数据清洗和转换技巧

    思维导图:零基础入门数据挖掘的学习路径 1. 写在前面 零基础入门数据挖掘是记录自己在Datawhale举办的数据挖掘专题学习中的所学和所想, 该系列笔记使用理论结合实践的方式,整理数据挖掘相关知识, ...

  5. sumo添加车辆_SUMO仿真快速入门系列三:产生车辆移动模型

    在<SUMO快速入门系列二>中,我们已经产生了一个较为简单的街道地图模型. 本节中我们产生车辆移动模型并与道路模型结合,使得车辆在真实道路中跑起来.在SUMO中,车辆移动模型称为Deman ...

  6. LaTeX入门系列之四(LaTeX模板)

    [color=orange][size=x-large]下面是在网上收集到的国内外部分大学及期刊的LaTeX模板,分享一下!请大家下载使用,使用前请先核对是否适合最新格式![/size][/color ...

  7. SUMO仿真快速入门系列三:产生车辆移动模型

    在<SUMO快速入门系列二>中,我们已经产生了一个较为简单的街道地图模型. 本节中我们产生车辆移动模型并与道路模型结合,使得车辆在真实道路中跑起来.在SUMO中,车辆移动模型称为Deman ...

  8. etcd入门系列三:身份验证访问控制

    etcd入门系列 一. etcd在docker中的安装与使用 二. etcd 开启 https 1. 简介 etcd 默认是没有开启访问控制的,如果我们开启外网访问的话就需要考虑访问控制的问题,etc ...

  9. 保存点云数据_PCL入门系列三——PCL进行数据读写

    本节课我们将了解到以下内容: 基本的PCL中的数据类型: 使用PCL进行简单编程:写文件与读文件. 一.PCL库基本数据类型 上一节课,我们使用PCL库在本地写入了一个名为test_pcd.pcd的文 ...

  10. JNI和NKD入门系列三,在android studio上设置javah和ndk-build的快捷键

    1.首先点开偏好设置 2.点开External Tools并点击添加按钮 3.出来这样的页面,重要的是Insert macro按钮 4.类似的,选择一个内置变量并确定insert 5.会出现一个头尾由 ...

最新文章

  1. MySQL双主一致性架构优化
  2. 程序员真香!IT 业 2020 年平均工资最高
  3. Weblogic12C 集群实现session同步
  4. 前端基于gulp后端基于freemarker的工作流程总结
  5. SDN教育城域网解决方案
  6. 跨链(2)跨链技术“哈希锁定(Hash-locking)”
  7. mysql两列取小_mysql – 我想获取两列特定列之间的列值
  8. 入侵检测系统_GIDS:基于GAN的车载网络入侵检测系统
  9. eclipse关闭js校验
  10. 多线程程序中操作的原子性--转帖
  11. Pads logic 创建文件时发生严重错误
  12. jq上下级元素查找方法
  13. 比python更精简的语言,两行代码抓取淘宝/京东平台的商品数据--Uibot
  14. angularJs1.x 版本中 uib-tabset 如何默认激活不同的标签页
  15. access 之 format 函数详解
  16. .Net获取公司所有员工前一天钉钉考勤记录
  17. RGB TFT-LCD彩条显示实验
  18. [汇编语言]标志寄存器
  19. Elasticsearch集群“脑裂”现象
  20. 李清照词全集,共49首,有百家评说,附 txt 文本下载,就在本帖的附件中。

热门文章

  1. 如何有效的解决文件锁定问题
  2. 211毕业生3天被辞退:offer不等于工作稳了!
  3. Vue 实现 H5video 视频标签 禁止快进 最优
  4. ubuntu 文件管理器推荐
  5. Lync 2010升级到Lync 2013 之部署WAC 角色服务器!
  6. 原生js代码实现图片放大境效果
  7. Razor 视图引擎的一些属性和方法
  8. 纯css绘制齿轮加载动画
  9. numpy.argsort()函数
  10. java web自动生成编号_2013-8-6 10:56:07 JAVA_WEB:员工号自动生成源代码