譯自 Overleaf - Learn LaTeX in 30 minutes
譯者:@YunYouJun
譯文連接:yunyoujun.cn/share/trans…算法
在本指南中,咱們但願爲您初步介紹一下 LaTeX 。 該指南不須要您具備任何 LaTeX 的先驗知識, 不過到您完成時,您將會已經編寫出您的第一個 LaTeX 文檔,而且若是順利的話,您將可以對 LaTeX 提供的一些基本功能有很好地瞭解。express
LaTeX (發音爲 LAY-tek or LAH-tek) 是個用於建立專業外觀文檔的工具。 它基於「所見即所得」的思想,這意味着您僅須要關注您文檔的內容,接下來計算機會幫你搞定格式。 用戶們能夠輸入純文本並讓 LaTeX 來處理剩餘部分,而不是像 Microsoft Word 或 LibreOffice Writer 那樣在頁面上分割文本去控制格式。vim
譯者注:英式英語:/'leɪteks/ | 美式英語:/'letɛks/編輯器
LaTeX 在世界範圍內用於科學文檔,書籍以及許多其餘形式的出版。 它不只能夠建立精美的排版文檔,並且還容許用戶很是快速地處理排版更爲複雜的部分,例如輸入數學公式、建立目錄、飲用和建立書目以及在全部章節中保持一致的佈局。 因爲可用的開源軟件包數量衆多(稍後會詳細介紹),因此 LaTeX 的可能性是無窮的。 這些軟件包容許用戶使用 LaTeX 作更多的事情,好比添加腳註、繪製圖表格、建立表格等。ide
人們使用 LaTeX 最重要的緣由之一是它分離了文檔的內容和樣式。 這意味着您一旦寫好了文檔的內容,咱們就能夠輕鬆改變它的外觀。 一樣,您能夠建立一種文檔的樣式,用來標準化許多不一樣文檔的外觀。 這使得科學期刊能夠爲投稿建立模版。這些模版擁有一個預製佈局,而僅須要添加內容。 實際上,從簡歷到幻燈片的全部內容有上百種可用的模版。工具
第一步是建立一個新的 LaTeX 項目。 您能夠經過建立新的 .tex
文件來在本身的計算機上作這件事,或者您也能夠在 Overleaf 中開始一個新項目。 讓咱們從最簡單的工做示例開始吧:佈局
\documentclass{article}
\begin{document}
First document. This is a simple example, with no
extra parameters or packages included.
\end{document}
複製代碼
你能夠看到 LaTeX 已經經過縮進段落的第一行,爲你處理了第一段格式。 讓咱們來仔細看一下咱們代碼的每一個部分的功能。學習
代碼的第一行聲明來文檔的類型,叫作類。這個類控制文檔的總體外觀。 不一樣類型的文檔將會須要不一樣的類,即簡歷相比一篇科學論文將須要一個不一樣的類。 在這種狀況下,這個類是 article
,一種最簡單最多見的 LaTeX 類。 您若是正在處理其餘類型的文檔,那可能須要不一樣的類,例如 book
或者 report
。ui
在此以後,您編寫封裝在 \begin{document}
和 \end{document}
標籤裏的文檔內容。 這就是文檔的主體。你能夠在這裏開始編寫,並根據你的須要來修改文本。 你必須編譯文檔,才能在 PDF
中查看這些更改的結果。 你只需點擊 Recompile
即可在 Overleaf 中執行此操做。 (你也能夠經過點擊 Recompile
按鈕旁的小尖頭,並設置 Auto Compile
爲開,來將項目設置爲在編輯文件時自動從新編譯。)
若是你使用的是基礎文本編輯器,例如 gedit
、emacs
、vim
、sublime
、notepad
等,你將不得不手動編譯文檔。 爲此,只需在你的計算機終端/命令行中運行 pdflatex <你的文檔>
。 有關如何執行此操做的更多信息,請參見此處。
若是你正在使用專用的 LaTeX 編輯器好比 TeXmaker
或者 TeXworks
,只需點擊 Recompile
按鈕。 若是你不肯定位置在哪裏,請查閱程序文檔。
如今您已經瞭解瞭如何向文檔中添加內容,那麼下一步就是給它起個標題。 爲此,咱們必須簡短地談一下 preamble
(preamble 有引言、序文之意,可是這裏主要指 LaTeX 中的代碼部分,因此保留原詞)。
在上一個示例中,文本是被輸入在 \begin {document}
命令以後的。 在此以前,.tex
文件中的的全部內容都被稱爲 preamble
。 在 preamble
中,你定義要編寫的文檔的類型,編寫所用的語言,想要使用的包(稍後會詳細介紹)和其餘幾個元素。 例如,普通文檔的 preamble
將以下所示:
\documentclass[12pt, letterpaper]{article}
\usepackage[utf8]{inputenc}
複製代碼
下面是每行的詳細說明:
\documentclass[12pt, letterpaper]{article}
複製代碼
如前所述,這定義了文檔的類型。一些包含在方括號裏的附加參數能夠被傳遞給命令。 這些參數必須用逗號分隔。在示例中,額外的參數設置字體大小(12pt)和紙張尺寸(letterpaper)。 固然,可使用其餘字體大小(9pt,11pt,12pt),可是若是沒有指定,則默認大小爲 10pt
。 至於紙張尺寸,其餘可能的值是 a4paper
和 `legalpaper``; 請參閱有關頁面大小和邊距的文章,以獲取有關此內容的更多詳細信息。
\usepackage[utf8]{inputenc}
複製代碼
這是文檔的編碼。它能夠被省略或更改成其餘編碼,但建議使用 utf-8
。 除非您特別須要其餘編碼,不然若是你還不肯定的話,請將此行添加到 preamble
中。
要將標題,做者和日期添加到文檔中,您必須在 preamble
(不是文檔的主體)中添加三行。 這些行是
\title{First document}
複製代碼
這是文檔的標題。
\author{Hubert Farnsworth}
複製代碼
在此處輸入做者的姓名,而且做爲一個可選項,你能夠添加接下來的命令:
\thanks{funded by the Overleaf team}
複製代碼
這能夠被添加在標題命令的大括號裏做者的姓名以後。它將會添加上標和有着括號內文本的腳註。 若是您須要在文章中感謝一個機構,該功能將很是有用。
\date{February 2014}
複製代碼
您能夠手動輸入日期或使用命令 \today
,以便在編譯文檔時自動更新日期。
添加這些行後,您的 preamble
應該看起來像這樣
\documentclass[12pt, letterpaper, twoside]{article}
\usepackage[utf8]{inputenc}
\title{First document}
\author{Hubert Farnsworth \thanks{funded by the Overleaf team}}
\date{February 2017}
複製代碼
如今,您已經爲文檔指定了標題,做者和日期,您可使用 \maketitle
命令在文檔上打印此信息。這應被包含在文檔的 body
(主體,原文加粗,做爲 LaTeX 術語) 中您像要打印標題的位置。
\begin{document}
\maketitle
We have now added a title, author and date to our first \LaTeX{} document!
\end{document}
複製代碼
與任何你正在編寫的任何代碼同樣,包含註釋一般會頗有用。註釋是您能夠包含在文檔中的幾段文字,這些文字不會被打印,也不會以任何方式影響文檔。在調試時,它們對於組織工做,作筆記或註釋行/節頗有用。要在 LaTeX 中進行註釋,只需在行首寫一個 % 符號,以下所示:
\begin{document}
\maketitle
We have now added a title, author and date to our first \LaTeX{} document!
% This line here is a comment. It will not be printed in the document.
\end{document}
複製代碼
如今,咱們來看一些簡單的文本格式命令。
\textbf{...}
命令編寫。\textit{...}
命令編寫。\underline{...}
命令編寫。下面展現了其中每一個實例的示例:
Some of the \textbf{greatest}
discoveries in \underline{science}
were made by \textbf{\textit{accident}}.
複製代碼
另外一個很是有用的命令是 \emph{...}
命令。實際上,\emph
命令使用其參數的操做取決於上下文 - 在普通文本中,強調的文本是斜體,可是若是在斜體文本中使用,則此行爲是相反的 - 請參見如下示例:
Some of the greatest \emph{discoveries}
in science
were made by accident.
\textit{Some of the greatest \emph{discoveries}
in science
were made by accident.}
\textbf{Some of the greatest \emph{discoveries}
in science
were made by accident.}
複製代碼
此外,某些軟件包,例如 Beamer
,更改了 \emph
命令的行爲方式。
如今,咱們將研究如何將圖像添加到 LaTeX 文檔中。在 Overleaf 上,您首先必須上傳圖像。
如下是一個如何包含圖片的示例。
譯者注:前文使用的是 image ,這裏使用的是 picture ,因此分別譯爲圖像、圖片。
\documentclass{article}
\usepackage{graphicx}
\graphicspath{ {images/} }
\begin{document}
The universe is immense and it seems to be homogeneous,
in a large scale, everywhere we look at.
\includegraphics{universe}
There's a picture of a galaxy above
\end{document}
複製代碼
LaTeX 不能單獨管理圖像,所以您須要使用一個包。包可用於更改 LaTeX 文檔的默認外觀,或容許更多功能。 這種狀況下,您須要在咱們的文檔中包含一個圖像,所以您應該使用 graphicx
包。 該軟件包提供了新命令 \includegraphics{...}
和 \graphicspath{...}
。 要使用 graphicx
包,請在你的 preamble
中包含如下行:\usepackage{graphicx}
。
命令 `\graphicspath{ {images/} }告訴 LaTeX,圖像被保存在當前目錄下名爲 images 的文件夾中。
\includegraphics{universe}
是將圖像實際包含在文檔中的命令。 這裏的 universe(宇宙)是包含圖像的文件不帶擴展名時的名稱,因此 universe.PNG 就變成了 universe。 圖像的文件名不該包含空格或多個點。
注意:文件擴展名是被容許包括進來的,可是最好忽略它。若是省略文件擴展名,它將提示 LaTeX 搜索全部支持的格式。在上傳圖像文件時,一般也建議使用小寫字母做爲文件擴展名。有關更多詳細信息,請參見生成高分辨率和低分辨率圖像的部分。 譯者注:該段落原文給出的連接沒法跳轉到相應的信息部分。
能夠經過圖形環境對圖像添加標題、標籤和引用,以下所示:
\begin{figure}[h]
\centering
\includegraphics[width=0.25\textwidth]{mesh}
\caption{a nice plot}
\label{fig:mesh1}
\end{figure}
As you can see in the figure \ref{fig:mesh1}, the
function grows near 0. Also, in the page \pageref{fig:mesh1}
is the same example.
複製代碼
該示例中包含三個重要的命令:
\caption{a nice plot}
:您可能會指望此命令爲圖形設置標題。若是你建立了一個圖形列表,那麼標題將會被用在這裏。您能夠將其放在圖的上方或下方。\label{fig:mesh1}
:若是您須要在文檔中引用圖像,請使用此命令設置標籤。標籤將爲圖像編號,並與下一個命令結合使用,以供您參考。\ref{fig:mesh1}
:該代碼將替換爲與參考圖相對應的數字。將圖像放置在 LaTeX 文檔中時,咱們應始終將它們放置在圖形環境或相似環境中,以便 LaTeX 能夠用適合您剩餘文本的方式放置圖像。
注意:若是您在本身的計算機上使用標題和參考,那你將必須編譯兩次文檔才能使參考正常工做。Overleaf 會自動爲您完成此操做。
在 LaTeX 中建立列表很是簡單。您可使用不一樣的列表環境建立列表。 環境是咱們文檔中您但願以與文檔其他部分不一樣方式進行呈現的部分。 它們以 \begin{...}
命令開始,以 \end{...}
命令結束。
列表主要有兩種不一樣的類型,有序列表和無序列表。各自將使用不一樣的環境。
無序列表是由 itemize
(逐項列記之意,原文爲專有名詞)環境生成的。每一個條目以前必須帶有控制序列 \item
,以下所示。
\begin{itemize}
\item The individual entries are indicated with a black dot, a so-called bullet.
\item The text in the entries may be of any length.
\end{itemize}
複製代碼
默認狀況下,各個獨立的條目都用黑點標示,即所謂的項目符號。條目中的文本能夠有任意長度。
在不一樣環境中,有序列表具備相同的句法規則。咱們使用 enumerate
(枚舉之意,原文爲專有名詞)環境製做有序列表:
\begin{enumerate}
\item This is the first entry in our list
\item The list numbers increase with each entry we add
\end{enumerate}
複製代碼
與無序列表同樣,每一個條目以前必須帶有控制序列 \item
,它將自動生成標記該項目的數字。枚舉標籤由從 1 開始的序列號組成。
LaTeX 的主要優勢之一是易於編寫數學表達式。 LaTeX 容許兩種用於數學表達式的書寫模式:inline
(內聯)模式和 display
(顯示)模式。 第一種方式用於編寫做爲文本一部分的公式。第二種方式用於編寫不屬於文本或段落的表達式,所以被放在單獨的行上。 讓咱們看一個 inline
模式的例子:
In physics, the mass-energy equivalence is stated
by the equation $E=mc^2$, discovered in 1905 by Albert Einstein.
複製代碼
要使用 inline
模式來放置方程式,請使用如下定界符之一:\( ... \)
,$ ... $
或 \begin{math} ... \end{math}
。它們都可以起做用,選擇那種取決於我的口味。
displayed
模式有兩種版本:已編號和未編號。
The mass-energy equivalence is described by the famous equation
\[ E=mc^2 \]
discovered in 1905 by Albert Einstein.
In natural units ($c = 1$), the formula expresses the identity
\begin{equation}
E=m
\end{equation}
複製代碼
要在 display
模式下打印方程式,請使用如下定界符之一:\[ ... \]
,\begin{displaymath} ... \end{displaymath}
或 \begin{equation} ... \end{equation}
。 不鼓勵使用 $$ ... $$
,由於它會產生不一致的間距,而且和某些數學程序包一塊兒使用時可能表現得不是很好。
重要說明:equation* 環境是由外部軟件包提供的,請參閱 amsmath 的文章。
許多數學模式命令都須要 amsmath
程序包,所以在編寫數學公式時請確保將其包括在內。 下面顯示了一些基本數學模式命令的示例。
Subscripts in math mode are written as $a_b$ and superscripts are written as $a^b$. These can be combined an nested to write expressions such as
\[ T^{i_1 i_2 \dots i_p}_{j_1 j_2 \dots j_q} = T(x^{i_1},\dots,x^{i_p},e_{j_1},\dots,e_{j_q}) \]
We write integrals using $\int$ and fractions using $\frac{a}{b}$. Limits are placed on integrals using superscripts and subscripts:
\[ \int_0^1 \frac{1}{e^x} = \frac{e-1}{e} \]
Lower case Greek letters are written as $\omega$ $\delta$ etc. while upper case Greek letters are written as $\Omega$ $\Delta$.
Mathematical operators are prefixed with a backslash as $\sin(\beta)$, $\cos(\alpha)$, $\log(x)$ etc.
複製代碼
在 LaTeX 中數學的可能性是無窮的,不可能在這裏將它們都列出來。 請務必查看咱們這兒的其餘文章
如今,咱們將研究如何編寫摘要,以及如何將 LaTeX 文檔格式化爲不一樣的章、節和段落。
在科學文獻中,一般的作法是簡要概述論文的主題。 在 LaTeX 中有一個 abstract
(摘要)的環境。abstract
環境會將文本以特殊格式放在你文檔的頂部。
\begin{document}
\begin{abstract}
This is a simple paragraph at the beginning of the
document. A brief introduction about the main subject.
\end{abstract}
\end{document}
複製代碼
\begin{document}
\begin{abstract}
This is a simple paragraph at the beginning of the
document. A brief introduction about the main subject.
\end{abstract}
Now that we have written our abstract, we can begin writing our first paragraph.
This line will start a second Paragraph.
\end{document}
複製代碼
在編寫文檔內容時,若是須要開始新的段落,你必須按兩次 「Enter」 鍵(以插入雙空行)。 注意,LaTeX 會自動縮進段落。
想要開始新行而不實際開始新段落,請插入一個換行點,這能夠經過 \(在示例中爲雙反斜槓)或 \newline
命令來實現。
注意不要使用多個 \ 或 \newlines
來「模擬」段落之間具備較大間距的段落,由於這可能會干擾 LaTeX 的排版算法。 推薦的方法是繼續使用雙空行建立沒有任何 \ 的新段落,而後將 \usepackage{parskip}
添加到序言中。
您能夠在 段落和換行 文章中找到更多信息。
組織文檔的命令因文檔類型而異,最簡單的組織形式是分段,全部格式都可用。
\chapter{First Chapter}
\section{Introduction}
This is the first section.
Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Etiam lobortisfacilisis sem. Nullam nec mi et
neque pharetra sollicitudin. Praesent imperdietmi nec ante.
Donec ullamcorper, felis non sodales...
\section{Second Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi necante...
\subsection{First Subsection}
Praesent imperdietmi nec ante. Donec ullamcorper, felis non sodales...
\section*{Unnumbered Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem
複製代碼
命令 \section{}
標記新節的開始,在大括號內設置標題。 段編號是自動生成的,能夠經過在段命令中包含 * 做爲 \section*{} 來禁用。 咱們也能夠有
\subsection{}s,甚至還有 `\subsubsection{}s。下面列出了基本的深度級別:
-1 | \part{part} |
---|---|
0 | \chapter{chapter} |
1 | \section{section} |
2 | \subsection{subsection} |
3 | \subsubsection{subsubsection} |
4 | \paragraph{paragraph} |
5 | \subparagraph{subparagraph} |
請注意,\part
和 \chapter
僅在 report
(報告)和 book
(書籍)文檔類中可用。
有關文檔結構的更完整討論,請參見有關節和章的文章。
下面,您能夠看到一個表格最簡單的工做示例
\begin{center}
\begin{tabular}{ c c c }
cell1 & cell2 & cell3 \\
cell4 & cell5 & cell6 \\
cell7 & cell8 & cell9
\end{tabular}
\end{center}
複製代碼
tabular
(表格)環境是 LaTeX 建立表格的默認方法。您必須爲此環境指定一個參數,在這種狀況下爲 {c c c}
。 這告訴 LaTeX 這裏將有三列,而且每列中的文本必須居中。您也可使用 r
將文本向右對齊,使用 l
進行左對齊。 對齊符號 &
用於指定表格條目中的分隔符。每行中的對齊符號必須始終少於列數。 要轉到表格的下一行,咱們使用換行命令 \\
。咱們將整個表格包裝在 center
(中心)環境中,以便它出如今頁面的中心。
tabular
環境更加靈活,您能夠在每列之間放置分隔線。
\begin{center}
\begin{tabular}{ |c|c|c| }
\hline
cell1 & cell2 & cell3 \\
cell4 & cell5 & cell6 \\
cell7 & cell8 & cell9 \\
\hline
\end{tabular}
\end{center}
複製代碼
您可使用水平線命令 \hline
和垂直線參數 |
添加邊框。
{ |c|c|c| }
:這聲明瞭被垂直線分割的三列,並將被應用在表格中。|
符號指定這些列應由一條垂直線分隔。\hline
:這將插入一條水平線。在這裏,咱們在表格的頂部和底部包括了水平線。你使用 \hline
的次數沒有限制。在下面您能夠看到第二個示例。
\begin{center}
\begin{tabular}{||c c c c||}
\hline
Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
\hline\hline
1 & 6 & 87837 & 787 \\
\hline
2 & 7 & 78 & 5415 \\
\hline
3 & 545 & 778 & 7507 \\
\hline
4 & 545 & 18744 & 7560 \\
\hline
5 & 88 & 788 & 6344 \\ [1ex]
\hline
\end{tabular}
\end{center}
複製代碼
有時在 LaTeX 中建立表格可能會有些棘手,所以您可能想使用 TablesGenerator.com 在線工具導出表格的 [LaTeX] 代碼。File > Paste table data
(文件 > 粘貼表格數據)選項使您能夠從電子表格應用程序複製和粘貼數據。
您可使用與圖像幾乎相同的方式添加標題和引用表格。惟一的區別是,使用 table
(表)環境代替了 figure
(圖)環境。
Table \ref{table:data} is an example of referenced \LaTeX{} elements.
\begin{table}[h!]
\centering
\begin{tabular}{||c c c c||}
\hline
Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
\hline\hline
1 & 6 & 87837 & 787 \\
2 & 7 & 78 & 5415 \\
3 & 545 & 778 & 7507 \\
4 & 545 & 18744 & 7560 \\
5 & 88 & 788 & 6344 \\ [1ex]
\hline
\end{tabular}
\caption{Table to test captions and labels}
\label{table:data}
\end{table}
複製代碼
注意:若是您在本身的計算機上使用標題說明和參考,則必須編譯兩次文檔才能使參考正常工做。Overleaf 會自動爲您完成此操做。
建立目錄很簡單,命令 \tableofcontents
爲您完成全部的工做:
\documentclass{article}
\usepackage[utf8]{inputenc}
\title{Sections and Chapters}
\author{Gubert Farnsworth}
\date{ }
\begin{document}
\maketitle
\tableofcontents
\section{Introduction}
This is the first section.
Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Etiam lobortisfacilisis sem. Nullam nec mi et
neque pharetra sollicitudin. Praesent imperdietmi nec ante.
Donec ullamcorper, felis non sodales...
\addcontentsline{toc}{section}{Unnumbered Section}
\section*{Unnumbered Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi necante...
\section{Second Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi necante...
\end{document}
複製代碼
節,小節和章將自動被包含在目錄中。要手動添加條目(例如,當您想要一個未編號的部分時),請使用示例中的命令 \addcontentsline
。
您能夠經過從上方的左側菜單中點擊 PDF 下載你完成的 PDF。 還有一個更快的選擇就是單擊 PDF 查看器上的 Download PDF
(下載 PDF)按鈕,以下所示。