LaTeX语法、工具及模板大全(持续更新ing...)

news2024/9/22 19:45:33

诸神缄默不语-个人CSDN博文目录

我之前把Markdown和LaTeX的语法写在一个博文里了,但是现在感觉还是应该拆开来比较合适,因为LaTeX太复杂了……

LaTex核心其实是套模板,但是为了套好模版,也需要学习一些具体的语法。

文章目录

  • 1. LaTeX编辑器的选择、安装与使用
    • 1. overleaf
    • 2. TeXLive原生编辑器
    • 3. TeXLive + VSCode
  • 2. LaTeX项目整体布局
  • 3. LaTeX文件格式
  • 4. LaTeX基础语法
  • 5. compiler/编译器的选择
  • 6. 参考文献
  • 7. 表格
  • 8. LaTeX对中文的支持
  • 9. LaTeX特殊字符
  • 10. LaTeX其他辅助工具
  • 11. LaTeX overleaf模板
  • 13. 教程
  • 14. 文中没有引用的其他参考资料

1. LaTeX编辑器的选择、安装与使用

我一般用的编辑器是在线的Overleaf, Online LaTeX Editor或者离线的TeXLive原生编辑器、或者VSCode。overleaf其实用的也是TeXLive,但是用法跟TeXLive不一样。编辑器指的是这个,compiler/编译器指的是pdfLaTeX etc. 见后文。

TeXLive和结合VSCode的安装教程:使用TeXLive+VSCode实现Windows系统本地读写、编译LaTeX文件

1. overleaf

overleaf中可以从零开始新建LaTeX项目,也可以上传zip压缩包上传LaTeX项目。

在项目中,menu:
在这里插入图片描述

点击这里编译,或者Ctrl + S自动编译:
在这里插入图片描述

2. TeXLive原生编辑器

安装好TeXLive后会默认用TeXWorks打开.tex文件,点击这个位置进行编译:
在这里插入图片描述

3. TeXLive + VSCode

点击这个位置进行编译,或者默认设置保存时自动编译:
在这里插入图片描述

2. LaTeX项目整体布局

(具体的标题都是可以改的,文件名后缀不能改)

  • main.tex:主LaTeX代码文件,在这个文件里面设置LaTeX排版布局、写内容等。也可以放在其他文件里面,然后在main.tex里面引用
    overleaf中在Menu中的这个位置改主文档:
    在这里插入图片描述
  • reference.bib:如果用的是BibTeX,会引用BibTeX格式的参考文献,放到reference.bib里,然后在main.tex中引用。
    也可以放到多个文件中,分别引用。

3. LaTeX文件格式

LaTeX文件的整体格式:
在这里插入图片描述

  1. 导言区:从\documentclass{...}\begin{document}之间的部分称为导言区,此部分通常用于全文样式设定

4. LaTeX基础语法

  1. 字体
    加粗\textbf{文字}
    斜体\emph{文字}\textit{文字}
    下划线underline{文字}或者uline{文字}(可以换行)1
  2. 插入超链接:\href{链接} \url{链接}\href{链接}{显示文字}2
  3. 插入脚注:\footnote{脚注文字}
  4. 在特殊符号前加\就能使其不产生渲染效果

5. compiler/编译器的选择

我一般用的是pdfLaTeX或者XeLaTeX。不过一般来说其实是看原模版用的是什么格式,就用什么格式。

6. 参考文献

在想要被注明的文字后加\cite{id},在文末添加\bibitem{id}: 参考文献 或使用bib文件。
还有2种做法是\citep{}\citet{},但是我至今还不知道区别是啥……

使用bib的操作:以Re5:读论文 TWAG: A Topic-guided Wikipedia Abstract Generator_诸神缄默不语的博客-CSDN博客这篇论文为例,在其论文ACL官网TWAG: A Topic-Guided Wikipedia Abstract Generator - ACL Anthology上可以下载到bib格式的引用文献:

@inproceedings{zhu-etal-2021-twag,
    title = "{TWAG}: A Topic-Guided {W}ikipedia Abstract Generator",
    author = "Zhu, Fangwei  and
      Tu, Shangqing  and
      Shi, Jiaxin  and
      Li, Juanzi  and
      Hou, Lei  and
      Cui, Tong",
    booktitle = "Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers)",
    month = aug,
    year = "2021",
    address = "Online",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2021.acl-long.356",
    doi = "10.18653/v1/2021.acl-long.356",
    pages = "4623--4635",
    abstract = "Wikipedia abstract generation aims to distill a Wikipedia abstract from web sources and has met significant success by adopting multi-document summarization techniques. However, previous works generally view the abstract as plain text, ignoring the fact that it is a description of a certain entity and can be decomposed into different topics. In this paper, we propose a two-stage model TWAG that guides the abstract generation with topical information. First, we detect the topic of each input paragraph with a classifier trained on existing Wikipedia articles to divide input documents into different topics. Then, we predict the topic distribution of each abstract sentence, and decode the sentence from topic-aware representations with a Pointer-Generator network. We evaluate our model on the WikiCatSum dataset, and the results show that TWAG outperforms various existing baselines and is capable of generating comprehensive abstracts.",
}

将这个文本文件存储为bib文件,如bibexample.bib。以overleaf为例,上传该文件,在正文中引用时调用\cite{zhu-etal-2021-twag},在后文参考文献部分调用:

\bibliographystyle{IEEEtran}
\bibliography{IEEEabrv,bibexample}
\nocite{zhu-etal-2021-twag}

事实上相当于自动写了bibitem后面的参考文献格式。

如果需要引用多条参考文献,就在bib文件后面继续叠bibtext格式文献条目就行。

如果只有ris格式的参考文献,将其转换为bibtex可以使用:Online RIS to BibTeX converter3
对于nbib格式的文件,可以在这个网站上搜索论文标题,下载对应的bib文件:TeXMed - Exporting PubMed to BibTeX4

7. 表格

  1. 给一个代码示例(可以用来测试LaTeX模板能不能打印表格):
\begin{table}[]
\begin{tabular}{lllll}
1 & 2 & 3 & 4 & 5 \\
1 & 2 & 3 & 4 & 5 \\
9 & 8 & 9 & 7 & 6 \\
1 & 2 & 3 & 4 & 5
\end{tabular}
\end{table}
  1. 加横线边框\hline
  2. 部分水平边框 \cline{i-j}
  3. 三线表的第一条线是\toprule,第二条是\hline,第三条是\bottomrule
  4. 如果需要加竖线就在\begin{tabular}后面加竖线,比如{ll}就是两行无竖线,{|l|l|}就是全加竖线。
  5. 如果需要改表格单元的宽度就把l改成p{10em}(这个数字就是宽度,单位可以改成in之类的)
  6. \\换行,&跳到下一单元,这一点跟数学公式里画矩阵时的操作比较像
  7. 在表格下方添加注释5
\begin{table*}[!ht]
   \centering
   \caption{表格上方的标题}
   \begin{tabular}{p{8em}p{7em}p{7em}p{8em}p{7em}}
   \toprule
       表头 & 表头 & 表头 & 表头 & 表头 \\ \hline
       内容 & 内容 & 内容 & 内容 & 内容 \\ \bottomrule
   \end{tabular}
   \begin{tablenotes}
   \footnotesize
   脚注内容\\
   会显示在表格下方
   \end{tablenotes}
   \label{这个是~\ref{这个花括号里面就写这个label花括号里面的内容}}
\end{table*}

8. LaTeX对中文的支持

官方介绍:Chinese - Overleaf, Online LaTeX Editor
总之很复杂,据我观察,这是需要根据每个模板不同的情况来进行具体调整的。以爱思唯尔的https://www.overleaf.com/latex/templates/elsevier-article-elsarticle-template/vdzfjgjbckgz为例,想要在LaTeX中渲染中文,需要在导言区加:\usepackage{CJKutf8}
然后在\begin{document}后加:\begin{CJK*}{UTF8}{gbsn}
\end{document}前加:\end{CJK*}
然后就能渲染中文了

一般来说直接使用支持中文的模版就行

其他支持中文的包:
\usepackage{ctex}

9. LaTeX特殊字符

  1. LaTex{}在这里插入图片描述
  2. \textcircled{1}
  3. 反斜杠:\textbackslash

10. LaTeX其他辅助工具

  1. LaTeX自动转换模板工具(这个我也想写,这里是收集市面上的竞品)
    1. PaperShell - Overleaf, Online LaTeX Editor

11. LaTeX overleaf模板

overleaf官方模版集合:Templates - Journals, CVs, Presentations, Reports and More - Overleaf, Online LaTeX Editor)

  1. IEEE会议(双栏)IEEE Conference Template - Overleaf, Online LaTeX Editor
  2. CVPR2022会议(双栏)[CVPR2022] Official LaTeX Template - Overleaf, Online LaTeX Editor
  3. NeurIPS2021会议(单栏)NeurIPS 2021 - Overleaf, Online LaTeX Editor
  4. ICML2021会议(双栏)ICML2021 Template - Overleaf, Online LaTeX Editor
  5. ICLR2021会议(单栏)Template for ICLR 2021 Conference Submission - Overleaf, Online LaTeX Editor
  6. AAAI会议(双栏)AAAI Press LaTeX Template - Overleaf, Online LaTeX Editor
  7. ACL会议 https://www.overleaf.com/latex/templates/acl-2023-proceedings-template/qjdgcrdwcnwp
  8. 爱思唯尔期刊
    可以参考这篇博客:Elsevier(爱思唯尔)LaTex 模板详细说明_爱思唯尔latex模板-CSDN博客
    1. 简单(单栏)Elsevier Article (elsarticle) Template - Overleaf, Online LaTeX Editor
    2. (单栏)Elsevier’s CAS LaTeX Single-Column Template - Overleaf, Online LaTeX Editor
    3. (双栏)Elsevier’s CAS LaTeX Double-Column Template - Overleaf, Online LaTeX Editor
    4. Astronomy and Computing期刊(双栏)Elsevier Astronomy & Computing journal template - Overleaf, Online LaTeX Editor
  9. (中文)Elegant paper(单栏)ElegantPaper Template - Overleaf, Online LaTeX Editor(这个模板的官方项目:ElegantLaTeX/ElegantPaper: Elegant LaTeX Template for Working Papers,他们项目组还有中文LaTeX书籍和notes的模板)
    1. 一些使用这个模板时会遇到的问题:参考文献bib文件中月份如果不用整型数值的话会报error;参考文献排序可以在导言区添加\ExecuteBibliographyOptions{sorting=none},sorting方式的选择参考:在这里插入图片描述(图源6
  10. (中文)计算机学报(双栏)官方LaTeX模板直接转为overleaf可用的版本(是我调的,所以有bug请直接找我):计算机学报官方LaTeX模板-修改为overleaf可用版 - Overleaf, Online LaTeX Editor
  11. 简历(我现在用的是中文版):一个简洁优雅的 XeLaTeX 简历模板 - Tiankui Zhang
    这个模版可以用fontAwesome5(在http://ctan.math.illinois.edu/fonts/fontawesome5/doc/fontawesome5.pdf中可以直接查到具体的图标对应的ID),修改方案是将resume.cls中第18行直接改成\RequirePackage{fontawesome5}(参考标题前的小图标有哪些可选 · Issue #26 · billryan/resume)

13. 教程

我还没看过:

  1. 【永久更新地址】一份不太简短的Latex2e介绍:The Not So Short In­tro­duc­tion To LATEX (Chi­nese Edi­tion)_府学路18号车神的博客-CSDN博客
    一份不太简短的 LATEX 2ε 介绍
  2. Documentation - Overleaf, Online LaTeX Editor

14. 文中没有引用的其他参考资料

  1. LaTex文本部分如何输入反斜杠:symbols - How does one insert a backslash or a tilde (~) into LaTeX? - TeX - LaTeX Stack Exchange
  2. Latex教程: [13]插入表格水平,竖直边框-百度经验
  3. 如何用LaTeX打出各种箭头? - 知乎

  1. LaTeX技巧004:给文字添加下划线、波浪线等样式_latex 下划线-CSDN博客 ↩︎

  2. Latex插入超链接_latex 超链接-CSDN博客 ↩︎

  3. biblatex - How to cite from a .ris file - TeX - LaTeX Stack Exchange ↩︎

  4. nbib文件转成bib文件-CSDN博客 ↩︎

  5. Latex中表格添加注释的方法_latex表格加注释_VS洗发水的博客-CSDN博客 ↩︎

  6. sorting - Biblatex citation order - TeX - LaTeX Stack Exchange ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1353814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

14 简约登录页

效果演示 实现了一个简单的登录表单的样式,包括背景颜色、边框、字体颜色、字体大小、字体粗细、输入框样式、提交按钮样式等。当用户在输入框中输入内容时,输入框下方的提示文字会动态地变化,以提示用户输入正确的信息。当用户点击提交按钮时…

广播及代码实现

广播(Broadcast)是一种网络通信方式,它允许一台设备向网络中的所有其他设备发送消息。广播通常用于在网络上传递一些信息,让所有设备都能接收并处理。在广播中,通信的目标是整个网络而不是特定的单个设备。 向子网中…

电风扇目标检测数据集VOC格式1100张

电风扇的全方位介绍 一、功能特性 电风扇作为一种晋及化的家用电器,其主要功能是利用电机驱动扇叶旋转,从而产生风力,用干调节室内空气流通,达至降温、通风和改善室内环境的目的。此外,现代电风扇还具备定时、遥控、…

踩坑记录-安装nuxt3报错:Error: Failed to download template from registry: fetch failed;

报错复现 安装nuxt3报错:Error: Failed to download template from registry: fetch failednpx nuxi init nuxt-demo 初始化nuxt 项目 报错 Error: Failed to download template from registry: fetch faile 解决方法 配置hosts Mac电脑:/etc/hostswin电…

vue本地打包预览

1、项目打包 npm run build2、安装serve npm install -g serve3、在项目的 dist 文件运行命令行 serve 4、运行如下在浏览器打开即可

游戏用代理IP怎么检查是否有效?哪些因素会影响代理IP的质量?

随着网络游戏的普及,越来越多的玩家选择使用代理IP来提升游戏体验。然而,在使用代理IP的过程中,玩家们可能会遇到一些问题,其中最关键的就是如何检查代理IP是否有效以及哪些因素会影响代理IP的质量。本文将详细介绍这些问题&#…

R306指纹识别模块功能实现示例

1 基本通信流程 1.1 UART 命令包的处理过程 1.2 UART 数据包的发送过程 UART 传输数据包前,首先要接收到传输数据包的指令包,做好传输准备后发送成功应答包,最后才开始传输数据包。数据包主要包括:包头、设备地址、包标识、包长…

2024年【浙江省安全员-C证】模拟考试及浙江省安全员-C证证考试

题库来源:安全生产模拟考试一点通公众号小程序 浙江省安全员-C证模拟考试是安全生产模拟考试一点通生成的,浙江省安全员-C证证模拟考试题库是根据浙江省安全员-C证最新版教材汇编出浙江省安全员-C证仿真模拟考试。2024年【浙江省安全员-C证】模拟考试及…

Jenkins持续集成(上篇)

(一)持续集成与 Jenkins 介绍 持续集成 持续集成(Continuous integration,简称 CI),随着近几年的发展,持续集成在项目中得到了广泛的推广和应用。本章将带领读者一起了解持续集成工具 Jenkins…

jdk和IDEA教育版下载和安装详解

前言 研究生专业是通信系统,为了寻找实习于是在研二时期学习java。但是在学习java的过程中没有进行系统总结,很多知识点或者一些细节已经忘记。由于工作找的是某行软件中心的软件开发。准备在毕业前对java知识进行系统性学习。本专栏将从零基础开始,从最简单的jdk和IDEA下载…

阿赵UE学习笔记——6、免费资源获取

阿赵UE学习笔记目录 大家好,我是阿赵。   接下来准备要往UE引擎里面放美术资源了。美术资源可以自己做,不过也有一些免费的资源可以供我们使用的,这里介绍一些获得免费美术资源的方法。 一、Quixel 1、Quixel网站下载 Quixel资源库&#…

高效管理版本控制,Cornerstone 4 for Mac助您成为SVN专家

在软件开发和团队合作中,版本控制是一个至关重要的环节。为了帮助开发者更加高效地管理和控制代码版本,Cornerstone 4 for Mac应运而生。作为一款功能强大的SVN(Subversion)管理工具,Cornerstone 4 for Mac为Mac用户提…

动手学深度学习一:环境安装与数据学习

2024,重新开始深度学习。 第一步:李沐动手学深度学习 课程网址:https://courses.d2l.ai/zh-v2/ 包含教材和视频网址链接 Jupyter notebook安装 目前在本地先使用cpu版本pytorch,我的本地已经安装好conda,跟着教材创建…

什么是自动化测试?为啥要学自动化测试?

什么是自动化测试,接着对常用的自动化测试框架进行了对比分析,最后,介绍了如果将自动化测试框架Cypress运用在项目中。 一、自动化测试概述 为了保障软件质量,并减少重复性的测试工作,自动化测试已经被广泛运用。在开…

【C++ Primer Plus学习记录】switch语句

假设要创建一个屏幕菜单,要求用户从5个选项中选择一个,例如,便宜、适中、昂贵、奢侈、过度。虽然可以扩展if else if else序列来处理这5种情况,但是C的switch语句能够更容易地从大型列表中进行选择。 下面是switch语句的通用格式…

清风数学建模-灰色预测

内容:灰色预测 概念:灰色预测是对原始数据进行生成处理来寻找系统变动的规律,并生成有较强规律的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势:如图随机性被削弱,变的有规律。 原理介绍…

[C#]C# OpenVINO部署yolov8实例分割模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 YOLOv8 抛弃了前几代模型的 Anchor-Base。 YOLO 是一种基于图像全局信息进行预测的目标检测系统。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以来,领域内的研究者们…

后缀自动机超详细

后缀自动机 1.关于 e n d p o s endpos endpos 理解含义 假设字符串s是字符串S的一个子串,则 e n d p o s ( s ) endpos(s) endpos(s)表示s在S中的所有结束位置,如在字符串 a b c a b c a b abcabcab abcabcab中, e n d p o s ( a b ) 2 …

进程的基础认识

一、进程的概念 进程是指 可执行程序 内核数据结构(内核为了管理进程而创建的数据结构)。 二、进程的管理 进程是靠PCB(process control block [进程控制块])管理起来的,在linux下PCB叫 task_struct 当一个可执行程序从磁盘加载进内存&…

分割数组的最大差值 - 华为OD统一考试

分割数组的最大差值 - 华为OD统一考试 OD统一考试 分值: 100分 题解: Java / Python / C++ 题目描述 给定一个由若干整数组成的数组nums ,可以在数组内的任意位置进行分割,将该数组分割成两个非空子数组(即左数组和右数组),分别对子数组求和得到两个值.计算这两个值的差值…