[翻译] [Overleaf] 在 LaTeX 中创建一个文档

2023-10-17 12:50

本文主要是介绍[翻译] [Overleaf] 在 LaTeX 中创建一个文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原  文:Creating a document in LaTeX
译  者:Xovee
翻译时间:2020年5月23日

LaTeX 是一个非常棒的创建文档的工具。它基于 “WYSIWYM” 理念(你见到的就是你所想表达的),你只需要关注于文档的内容,让计算机来帮助你处理文档的格式和排版。你可以非常轻松地使用 LaTeX 来创建专业的文档。这篇文档将教会你如何在 LaTeX 中创建一个文档。

文章目录

  • 介绍
  • 文档的序言(preamble)
  • 显示你文档的标题
  • 基础的排版:摘要、段落和换行
  • 注释
  • 参考指南
  • 延伸阅读

介绍

让我们首先来看一个最简单的例子:

\documentclass{article}\begin{document}
First document. This is a simple example, with no 
extra parameters or packages included.
\end{document}

在这里插入图片描述
这个例子的输入是一个只含有纯文字的 .tex 文件,它包含了可以让计算机创建 PDF 文档的代码。代码的第一行定义了文档的类型,article,然后,在 \begin{document}\end{document} 两个标签之间,你可以书写文档的正文。

注意:关于如何生成输出文件,请参考这篇文章

在 Overleaf 中打开这个例子。

文档的序言(preamble)

在之前的例子中,正文的范围是在 \begin{document} 之后。而在这个命令之前的内容,被称作文档的序言 preamble。在文档的序言之中,你定义将要创建的文档类型和文档语言,加载你需要的外部包,并设置各种参数。下面展示了一个标准的文档序言:

\documentclass[12pt, letterpaper]{article}
\usepackage[utf8]{inputenc}\title{First document}
\author{Hubert Farnsworth \thanks{funded by the Overleaf team}}
\date{February 2014}

下面是每一行代码的说明:

\documentclass[12pt, letterpaper]{article}
像之前的例子一样,这行代码定义了文档的类型。你可以在方括号中使用逗号分割的参数。在这个例子中,额外的参数包括:设置字体大小(12pt)和纸张大小(letterpaper)。当然,你也可以设置其他数值的字体大小(9pt、11pt),默认的字体大小是 10pt。纸张大小的参数值还包括:A4 和 legalpaper。需要注意的是,Overleaf 使用了一种欧洲的 LaTeX 发行版,也就是说,它默认的纸张大小是 A4。参考我们的文档(纸张大小和边距)来获取更多有关使用 Geometry 包来设定排版参数的信息。

\usepackage[utf8]{inputenc}
这一行代码设定了文档的编码形式(utf8),来允许你输入更多种类的字符(不仅仅是 ASCII,例如输入 à, ü, č …)。你可以忽略这行代码,或者使用另外一种编码,但是我们强烈推荐 utf-8。除非你有确切的理由使用另外一种编码,当你不确定使用哪种编码的时候,请在序言中添加这一行代码。

下面的三行代码是非常容易去理解的。不管怎么样,我们将在下一节中介绍这些命令。

还有两个非常重要的参数可以传递给 \documentclass,即 twocolumntwoside,如果你想使用一种双栏的布局,或者双面打印的布局的话。

在 Overleaf 中打开这个例子。

显示你文档的标题

为了在文档中显示标题,你需要在序言之中定义一些额外的信息:

\documentclass[12pt, letterpaper, twoside]{article}
\usepackage[utf8]{inputenc}\title{First document}
\author{Hubert Farnsworth \thanks{funded by the Overleaf team}}
\date{February 2014}\begin{document}\begin{titlepage}
\maketitle
\end{titlepage}In this document some extra packages and parameters
were added. There is an encoding package
and pagesize and fontsize parameters.\end{document}

在这里插入图片描述
序言中的三行代码定义了标题页中所要展示的信息。

\title{First document}
这是标题。

\author{Hubert Farnsworth}
你可以在这里添加一个或多个作者。作为一个可选的参数,你还可以添加下面这个命令:

\thanks{funded by the Overleaf team}
这个命令可以被添加在\author命令的内部,作者名字的后面。它会在作者名后添加一个上标,并且在当前页添加一个脚注来显示该命令的内容。当你需要感谢一个机构的时候,这个命令非常有用。

\date{February 2014}
你可以手动输入日期,或者使用\today命令来在每次编译之后显示最新的日期。

当你搞定了序言之后,你可以使用下面的指令来显示序言中所定义的内容:

\begin{titlepage} \end{titlepage}
这个命令定义了一种环境,在这个例子中,不管你在 titlepage 中定义了什么内容,它都将显示在文档的第一页。

\maketitle
这个命令将会显示你之前定义的标题、作者和日期。如果这个命令没有出现在 titlepage 环境之中,那么序言中所定义的内容将会出现在文档的开头。

在 Overleaf 中打开这个例子。

基础的排版:摘要、段落和换行

任何出现在 \begin{document}\end{document} 之间的内容,都将会出现在文档的正文之中。

\documentclass[12pt, letterpaper, twoside]{article}
\usepackage[utf8]{inputenc}\begin{document}\begin{abstract}
This is a simple paragraph at the beginning of the document. A brief introduction to the main subject.
\end{abstract}In this document some extra packages and parameters
were added. There is an encoding package,
and pagesize and fontsize parameters.This line will start a second paragraph. And I canbreak\\ the lines \\ and continue on a new line.\end{document}

在这里插入图片描述
通常来说,在科研论文写作之中,我们需要写一段简短的摘要来说明文章的大体内容。你可以使用 abstract 环境来做到这一点。abstract 环境将会用一种特殊的格式来将其中的文字置于文档的顶部。

在书写文档的正文的时候,如果你需要换行,那么你需要点击 Enter 按键两次(输入一个空白行)。需要注意的是,段落在它的开始有一个空格。

你可以使用\\,或者\newline,来使文字换行。

你可以在段落和换行中找到更多的信息。

有关更多文档结构的讨论,请参考文档的章节。

在 Overleaf 中打开这个例子。

注释

有时候你可以在 LaTeX 代码之中添加注释来增强文档的可读性。在文字之前添加 %,LaTeX 将会忽略该行其后的文字。

\documentclass{article}
\usepackage[utf8]{inputenc} %codification of the document\usepackage{comment}%Here begins the body of the document
\begin{document}
This document contains a lot of comments, none of them
will appear here, only this text.This document contains a lot of comments, none of them
will appear here, only this text.\begin{comment}
This text won't show up in the compiled pdf
this is just a multi-line comment. Useful
to, for instance, comment out slow-rendering parts
while working on a draft.
\end{comment}\end{document}

在这里插入图片描述
在这个例子的最后一个部分,你可以看到一个 comment 环境,你可以使用它来注释多行内容。为了使用这个指令,你必须在序言中引入 comment 包:

\usepackage{comment}

因为 % 符号使一个保留符号,如果你想在文档中真正显示这个符号,使用\%。完整的保留符号列表如下:

参考指南

你可以在 \documentclass 中使用的文档类型:

文档类型描述
article对于短的文章和期刊文章,这个类型是最常用的。
report更长的文章和学位论文,使用这个类型
book用来书写一本书
letter用来写信
slides极少使用
beamer使用 beamer 类样式的 slides,更多信息请参考这篇文章

保留符号
下面的符号是 LaTeX 的保留符号,它们被用来生成指令,或者有其他特殊的用途。

# $ % ^ & _ { } ~ \

如果你想在文档中显示这些符号,需要一些特殊的技巧:

符号作用如何去显示它
#宏参数\#
$数学模式$
%注释\%
^上标(数学模式)\^{} 或 \textasciicircum
&在表格中分割列\&
_下标(数学模式)\_
{}处理块{}
~不可分割的空格\textasciitilde 或 \~{}
\指令的开始符\textbackslash 或 \

延伸阅读

  • 选择一个 LaTeX 编译器
  • 段落和换行
  • 粗体、斜体、下划线
  • 列表
  • 数学
  • LaTeX中的参考文献
  • 图片
  • 表格
  • 一篇并不短的 LaTeX 介绍

这篇关于[翻译] [Overleaf] 在 LaTeX 中创建一个文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225517

相关文章

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S

Java利用Spire.XLS for Java自动化设置Excel的文档属性

《Java利用Spire.XLSforJava自动化设置Excel的文档属性》一个专业的Excel文件,其文档属性往往能大大提升文件的可管理性和可检索性,下面我们就来看看Java如何使用Spire... 目录Spire.XLS for Java 库介绍与安装Java 设置内置的 Excel 文档属性Java

Python自动化提取多个Word文档的文本

《Python自动化提取多个Word文档的文本》在日常工作和学习中,我们经常需要处理大量的Word文档,本文将深入探讨如何利用Python批量提取Word文档中的文本内容,帮助你解放生产力,感兴趣的小... 目录为什么需要批量提取Word文档文本批量提取Word文本的核心技术与工具安装 Spire.Doc

C#高效实现在Word文档中自动化创建图表的可视化方案

《C#高效实现在Word文档中自动化创建图表的可视化方案》本文将深入探讨如何利用C#,结合一款功能强大的第三方库,实现在Word文档中自动化创建图表,为你的数据呈现和报告生成提供一套实用且高效的解决方... 目录Word文档图表自动化:为什么选择C#?从零开始:C#实现Word文档图表的基本步骤深度优化:C

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

Python列表的创建与删除的操作指南

《Python列表的创建与删除的操作指南》列表(list)是Python中最常用、最灵活的内置数据结构之一,它支持动态扩容、混合类型、嵌套结构,几乎无处不在,但你真的会创建和删除列表吗,本文给大家介绍... 目录一、前言二、列表的创建方式1. 字面量语法(最常用)2. 使用list()构造器3. 列表推导式

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

C#实现插入与删除Word文档目录的完整指南

《C#实现插入与删除Word文档目录的完整指南》在日常的办公自动化或文档处理场景中,Word文档的目录扮演着至关重要的角色,本文将深入探讨如何利用强大的第三方库Spire.Docfor.NET,在C#... 目录Spire.Doc for .NET 库:Word 文档处理利器自动化生成:C# 插入 Word