Latex笔记

码途追光人
• 阅读 7073

Reference

  • http://www.math.pku.edu.cn/te... 北大李东风老师的Latex排版心得,但是是11年的文章了,使用的CJK,可以当作一个小的参考
  • 一份其实很短的 LaTeX 入门文档 基于CTEX的教程,CTEX维护大佬
    关于 LaTeX 的中文支持,首先要说的是:在现在,一切教你使用 CJK 宏包的模板、人、网页、书,都是糟糕的、有害的、恼人的、邪恶的和应该摒弃的。
  • 一份不太简短的LATEX2ε介绍 注意:这是固定的最新版的链接,目前是2019版,网上其他地方的链接还有01版的,那可是有点年头了。【最全资料,以下所有内容无论是否有ref标志,在这里都能找到,如果只推荐一个,就是这个】
  • 马上用LaTeX写作 速成教程
  • TeX — Beauty and Fun 关于Latex的一个简介
  • 智障的LaTex入门教程 这真的是文章的名字,有趣的几个小文章,关于bib的介绍不错,其中的第四篇是很好的命令定义的入门

笔记

不是教程,是个速查手册!
数学、排版、常见错误、常用宏包、命令、符号,建议ref3直接查
version 1, 5/31/2019
version 2, 6/16/2019

文档格式

\documentclass{article} 
% \documentclass[UTF8]{ctexart} 支持中文对方式2的进一步封装
% \usepackage{xeCJK} 支持中文方式2
\begin{document}
...
\end{document}

\documentclass{...}是文档模板,常用的有article、book、report、beamer、ctexart等。例如\documentclass[11pt,twoside,a4paper]{article}则使用可选参数指定了页面信息。
document子环境里是文档内容。两者之间的是导言区。常在导言区设置页面大小、页眉页脚样式、章节标题样式等等。
\end{document} 之后插入任何内容都是无效的。

在使用 ctex 宏包和文档类时总是将源代码保存为 UTF-8 编码,用 xelatex 命令编译。

常用宏包

\usepackage[options]{·}

包名 用途 注释
graphicx 插图
amsmath 数学公式
titling 标题作者默认格式 ref2
geometry 版面设置 ref2
fancyhdr 设置页眉页脚 ref2
setspace 行间距 ref2
indentfirst 首行缩进 ref2
enumerate 定制列表的序号 ref4
subfig 设置子图 ref3

常用命令

综合

  • \hfill 填满这一行的剩余空间
  • \\[⟨length⟩] \newline段内换行 \\*另起一行但不是新段
  • 一个回车或多个空格都会视为一个空格。多个空行分段,或者使用\par分段
  • \newpage 强制换页
  • \- 单词中的这个符号表明可以在这里换行
  • emph{...} 强调,变成花体或斜体,emph内部的emph会恢复正常
  • ulem 宏包的 \uline 命令能够生成自动换行的下划线
  • \footnote{...} 后边的内容是脚注。某些环境中,先使用 \footnotemark 为脚注计数,再在合适的位置用 \footnotetext 生成脚注。
  • 交叉引用

    • \label{...} \ref{...} \pageref{...}
    • 在使用不记编号的命令形式(\section*\caption*、带可选参数的\item命令等)时不要使用 \label命令,否则生成的引用编号不正确。
  • 波浪号 $\sim$ 省略号 \ldots
  • 调用时方括号[]指代可选参数,花括号{}指代必选参数。
  • ~一个空格,不会随着版面变化,通常用在人名、图表名称
  • \qquad\quad空格(\,\:\;

章节标题

  • \maketitle添加作者, \author \date{\today}

    • \title 中使用\thanks添加关于作者的脚注,\and连接不同作者
  • \section \subsection \subsubsection \paragraph \subparagraph(带上*号,则生成的节标题既不出现于目录,也不带序号)

    • \section[⟨short title⟩]{⟨title⟩} 标题使用 ⟨title⟩ 参数,在目录和页眉页脚中使用 ⟨short title⟩ 参数
  • report/ctexrep中,还有\chapter{·};在文档类book/ctexbook中,还定义了\part{·}
  • \appendix 附录,这是一个分界线,把后边章的序号改为字母标记
  • \tableofcontents 生成目录

引用相关

  • \bibliographystyle{IEEEtran} 设置引用格式
  • \bibliography{reference.bib} 导入引用文件
  • \cite{} 引用
  • \usepackage[hyphens]{url} \usepackage[hidelinks]{hyperref} 前一个包的参数使url执行自动换行;后边的包可以将url转换成超链接,参数是为了消除彩色边框
  • \begin{filecontents}{reference.bib} 这个子环境中创造了一个虚拟文件,同真实文件一样可以使用上述命令,这个子环境在Document外使用
  • biblatex包,自定义bib格式
  • thebibliography 子环境提供了基本引用格式,\bibitem为每个条目

子环境\begin{...} \end{...}

  • 列表 \item[·]后边可填入不同的列表标签,如[+],标签的解析与下边的环境有关

    • itemize 列表
    • enumerate 有序列表
    • description 带描述的列表,ref4,用法:\item[⟨item title⟩]
  • verbatim 原文打印,也可在段落中使用\verb+text+可将分隔符+之间的文本直接打印,其中+可以为除了*和空格的任意字符。可以使用这个输出代码...
  • center 居中,flushleft左对齐,flushright为右对齐

    • \centering \raggedright \raggedleft 上述是子环境,这个是命令,在其他子环境中使用这个命令即可
  • quote引文,quotation为长引文,verse为诗歌,abstract摘要
  • minipage 盒子,见ref3
  • eqution 自动编号公式,数学公式编辑见ref2
  • table 表格浮动环境,参数和figure相似。

    • 双栏排版环境下,LATEX 提供了 table*figure* 环境用来排版跨栏的浮动体。它们的用法与 table 和 figure 一样,不同之处为双栏的 ⟨placement⟩ 参数只能用 tp 两个位置。
  • tabular 表格环境,通常嵌入到表格浮动环境中。高阶用法见ref3,推荐自动生成

    • 参数[pos]{table spec}table specccc,表示有三列,居中对齐。l表示左对齐,r表示右对齐,|表示增加一条竖线,p{width}固定长度的列,可自动换行。这四个参数是并列关系,一个为一列。@{·}可以在两列之间插入任何字符,@{} 可直接用来消除单元格前后的间距
    • 参量Pos设定相对于环绕文本基线的垂直位置,使用字母t、 b和c 来设定表格靠上、靠下或者居中放置。
    • \\换行,&对齐,\hline行间横线。
    • 支持宏包diagbox后,可以在tabular环境中用命令\diagbox{leftBottom}{leftTop}{rightTop}生成对角线表格。
    • \multicolumn{cols}{spec}{text}可以生成一个较宽的列。参量cols表示所占列数,spec标记了单元格样式(同table spec),text为文本。可以使用这个生成代码段
  • figure 图形浮动环境,h表示当前位置,t是top,b是bottom,p是图形单独一页

    • 通常包含一个center环境居中,然后使用\includegraphics{...}导入图形。
    • \caption[short title]{title} 可以给图片或表格加个标签(ref1说label在caption内部比较保险,ref2说label要放在caption后)
    • \DeclareGraphicsExtensions{.pdf,.jpg,.png}使用这个命令指定导入图形的后缀,在导入时直接写名字就行,不用写后缀(导言区)
    • \graphicspath{{figs/}{grs/}}指定图形路径(导言区)
\begin{figure}[htbp] 
\centering 
\includegraphics[width=\textwidth]{img01} 
\caption{例子,这里是图的题注\label{fig:figfloat1}} 
\end{figure}

\begin{figure}[htbp] 
 \begin{minipage}[t]{0.48\linewidth}
  \centering 
  \includegraphics[width=\textwidth]{img01} 
  \caption{左图\label{fig:float2-1}} 
 \end{minipage} 
 \hfill 
 \begin{minipage}[t]{0.48\linewidth} 
  \centering 
  \includegraphics[width=\textwidth]{img02} 
  \caption{右图\label{fig:float2-2}} 
  \end{minipage} 
\end{figure}

插入代码

来自ref5

\usepackage{listings}
\lstloadlanguages{C, csh, make}
\lstset{language=C,tabsize=4, keepspaces=true,
    breakindent=22pt, 
    numbers=left,stepnumber=1,numberstyle=\tiny,
    basicstyle=\footnotesize, 
    showspaces=false,
    flexiblecolumns=true,
    breaklines=true, breakautoindent=true,breakindent=4em,
    escapeinside={/*@}{@*/}
}

上边的写入导言区即可,然后使用lstlisting子环境写代码。/*@\label{code:restart}@*/可以作为代码具体某一行的引用,这一行在编译后就会消失,可以写到引用的代码的后边,这样行号就是对应的行号

tricks

  • 注意引号,前引号`,后引号是'
  • 中文连字符可使用--,中文破折号---。单-在英文中用来组成复合词,两个连接数字表示范围,三个用来连接单词
  • %的妙用,用在末尾的时候可以注释掉换行符
  • \newcommand{\name}{...} 值定义,以后就可以用\name来代替后边的内容,命令定义见ref6
  • 把文档拆分成多文件,使用\include{...}导入。这个命令会在插入内容的前后换页。常用的是使用\input{文件名}直接导入。导言区使用\includeonly{...}文件清单,只有清单里的文件才会被导入。
  • 书签 \usepackage[pdftex]{hyperref}
  • 版面设置,这部分内容都要写在导言区

    • 页边距 \usepackage{geometry} \geometry{papersize={20cm,15cm}} \geometry{left=1cm,right=2cm,top=3cm,bottom=4cm}
    • 段间距 \addtolength{\parskip}{.4em}
    • pagestyle{plain}产生只有页号的页,pagestyle{headings}页码在页眉的页面。
  • 花体字、空心字见ref1
  • 各种符号怎么打同样见ref1
  • 西欧语言的重音和特殊字符见ref3,写引用的时候很重要

Other

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Latex中引用公式和图片,并实现超链接点击自动跳转
Latex中使用\\ref{}引用文中定义的公式或者图片时,有时会出现引用显示正确,但是单击时不会跳转到出处的现象,这时需要建立超链接实现跳转,具体操作如下:在Latex文件前面添加如下内容\usepackage{hyperref}\hypersetup{hypertextrue,colorlin
Stella981 Stella981
3年前
LaTeX 中使两张表格并排
在使用LaTeX写论文或者画海报的时候,希望两张较小的表格可以并排,(一般情况的LaTeX插入两张图片是上下布局的)查找了一下,相关的例子如下:\begin{minipage}{\textwidth}\begin{minipage}t{0.45\textwidth}\centering\ma
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
JYK1106 JYK1106
3年前
LaTeX学习系列——搭建文档框架
​在写任何一篇文章时,我们都需要先列出一个提纲,有了提纲,在写作过程中会更加得心应手。同理,排版一篇已经写好的文章也是需要提纲的。在使用LaTeX对文章进行排版的过程中,首先应该写出LaTeX文档的框架,进行必要的基本设置,再填入内容会更加便捷。今天我们以《杂谈勾股定理》举例,列出大致框架,手把手教你学会LaTeX。从上图可以看出,文章的整体框架已经出来了,
铁扇公主 铁扇公主
1年前
LaTeX编辑器 Texpad 最新激活 for mac
Texpad是一款专为Mac设计的LaTeX编辑器,它具有许多方便的功能,可帮助用户更加高效地编写和排版文档。具体功能如下:它拥有高效的LaTeX环境,支持加载任何规模的项目。在大纲视图中,可以快速浏览整个项目。集成了符号表、参考文献管理器和代码编辑器等有
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
JYK1106 JYK1106
3年前
如何使用LaTeX制作PPT?
作为LaTeX排版软件,LaTeX主要被用来制作书籍和文章。但由于现代LaTeX系统主要以PDF文件为输出方式,授课、演讲用的计算机幻灯片也日益成为LaTeX的一个重要应用。LaTeX中专门用来制作幻灯片的工具有powerdot文档类、prosper文档类、pdfslide宏包、ppower4宏包、pdfscreen宏包等。但现在最流行的还属beamer文档