LaTeX|LaTeX筆記(一):基本功能

分類:技術 時間:2016-10-17

大家好,我最近開始學LaTeX,這篇文章是我這幾天學的內容的筆記。

目前我能夠用LaTeX做到的事情是:了解LaTeX的一些基礎相關知識,基本的英文文檔,結構完整,會插入表格和公式的基本操作。希望你讀完之后也能夠達到同樣或者高于我的水平吧。

另外因為我也是新手,所以如果有錯誤還請大家在評論區指正。

文章比較長,有圖,并且只適合之前對LaTeX完全沒有了解的人。

目錄

一、什么是LaTeX?

二、資料

三、下載和安裝

四、基本結構及操作

五、文檔層次結構

六、列表及表格環境

七、公式的編輯

八、特殊字符

九、幾個注意事項

一、什么是LaTeX?

了解LaTeX之前,首先要知道TeX,TEX(TeX)是由著名的計算機科學家Donald E. Knuth( 高德納 )發明的排版系統,本質上還是一門宏語言。而LaTeX是基于這門宏語言,經過后人不斷的完善形成的一種排版格式。

二、資料

目前網絡上關于LaTeX的資料大多比較陳舊,下面推薦我自己看過的不錯的一些。

  1. 論壇 - CTEX社區
  2. 一本入門書: 劉海洋,《LaTeX入門》 ,電子工業出版社。這本書在很多論壇上都被推薦過,我只看了前面基本介紹的部分,寫的非常詳細,可以參考。初步翻了后面的內容,應該比較全面,可以滿足入門到進階的要求。
  3. 視頻教程: ChinaTeXer的自頻道 。LaTeX網課沒有找到,這是無意中在優酷上發現的一套視頻,基本的方法介紹足夠入門了,缺點是清晰度很差,只能聽,看鼠標的移動,完全看不清楚代碼的具體內容,因此需要輔助其他教程。
  4. 不推薦知乎。之前被安利了知乎上有很多關于LaTeX的討論,看過之后覺得知識太零散了,搜集知識的成本很高,而且不適合我這種初學者。估計以后水平高一點了可以看吧。

三、下載和安裝

LaTeX現在主要使用的有兩個,一個是Ctex,一個是Tex live。前者為中國科學院教授維護的Chinese Tex, 后者為TUG(用戶組)維護版本。直接打包下載包含winedt,gspreview等。

下載過程中兩個版本,full和basic,full文件大,宏包全;basic文件小,使用宏包時軟件進行自動下載。可以在兩個版本中自行選擇。

下載CTeX可以直接在官網 Welcome to Chinese TeX:CTEX

我使用的為CTeX包,basic版本,版本內自帶WinEdt編輯器。

關于WinEdt編輯器的使用,可以看這里: ChinaTeX視頻教程-1-winedt介紹.flv ——這個很關鍵,我下面講的內容是默認你已經看過這個視頻的!!

四、基本結構及操作

構成一篇文檔最基本的三個語句是:

\documentclass{book} %確定文檔類型:這里以book為例,也可以是report,article,letter等。


\begin{document}% 文檔正文的開始


\end{document}% 正文的結束

基本操作過程:

創建文件--輸入代碼(也可以點擊WinEdt上方提供的按鈕)--點擊編譯為LaTeX(這一步是為了生成dvi文件)--保存文件--看下方是否報錯,是否超時--沒有則點擊dvi-pdf查看

正常生成dvi會顯示:

出現錯誤會提示:

(小注:dvi為latex自帶的文檔類型,ctex包中有dvi查看器;ps為很古老的一個類型,現在基本不用,但在某些特殊時候需要通過它轉換為pdf)

五、文檔層次結構

以book模板作為實例。%這是一個比較詳細的結構,里面的命令是寫文章用到的基本命令。

\documentclass{book} %模板類型為book

\title{...} %添加標題

\author{...} %添加作者

\date{} %LaTeX會自動生成日期,如果不需要就加這一步將日期去掉

\begin{document} %開始正文
\maketitle %制作封面

\tableofcontents %加入目錄,包括頁碼(非必需)

\mainmatters %如果希望頁碼是從正文部分開始就加上這句命令(非必需)

%下面是幾個主要的層次結構;

\part{...} %第一部分
\chapter{...} %第一章
\section{...} %第一節
\subsection{...} %第一小節

%可以重復排列添加上面的層次結構。

六、列表和表格環境

1. 列表

LaTeX的列表分為無序列表和自定義列表。

(1). 有序列表

%在WinEdt上方顯示為Itemize,點擊之后會跳出彈窗要求輸入行數,默認為3,確認之后顯示的內容為:

\begin{itemize}
  \item *
  \item *
  \item *
\end{itemize}

下一步,直接在*的位置輸入需要寫的內容,例如:

\begin{itemize}
  \item This is the first row.
  \item This is the first row.
  \item This is the first row.
\end{itemize}

編譯效果如下圖:

(2). 自定義列表

%在WinEdt上顯示為Enumerate,點擊之后內容為:

\begin{enumerate}
  \item *
  \item *
  \item *
\end{enumerate}

同樣可以在*位置輸入所需內容,如果直接重復上面的步驟,你看到的將會是一個有序列表,以1.2.3.標記。

之所以被稱為自定義列表是因為我們可以自己選擇所需要的項目符號,這一部需要使用宏包。

使用宏包的命令為:

\usepackage{...} %...為宏包名字

簡單來說,這個過程就像是Python里面的import和C語言里面的include。

如果需要自定義項目符號,我們需要做下面的過程

\begin{enumerate}[A.] %這里我們將項目符號自定義為大寫字母.,也就是說自定義過程需要將內容加在后面的[]中。
  \item hello
  \item hello,suri
  \item hello
\end{enumerate}

輸出的文檔格式為:

同樣可以把A.換成任何自定義的符號。另外也可以在[]中對項目符號的格式進行修改。比如:

\begin{enumerate}[\beseries A.] %對項目符號加粗
\begin{enumerate}[\sffamily A.] %無襯線字體

2. 表格

(1)表格基本操作

%插入表格的命令為編輯器上方的Tabular,點擊之后確認行數和列數(這里是三行三列),將會出現:

\begin{tabular}{|*|*|*|} %這里的內容是為了確認對齊情況
  \hline
  % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
  * amp; * amp; * \\ %將內容輸入在*的位置
  * amp; * amp; * \\
  * amp; * amp; * \\
  \hline
\end{tabular}

這里需要說明的幾個情況是:

表格內容對齊的方式有三種,分別是居中對齊,靠左對齊,靠右對齊。三種格式反映在表格第一行,代表符號分別為c,l,r(英文首字母)

例如,如果我們需要將這份表格內容全部居中對齊,則輸入:

\begin{tabular}{|c|c|c|}

這里的豎線代表了輸出之后的表格中會出現豎的表格線,如果不需要可以去掉,即為。

\begin{tabular}{ccc}

輸入內容是下面這樣(沒有添加豎線的情況):

可能大家已經注意到了這里的橫線,在latex中,添加橫線的命令為:

\hline %添加橫線,單獨一行

同時latex也支持在某幾個單元格下面添加橫線,命令為:

\cline{2-3} %表示在是在上一行的第二個第三個單元格下面添加橫線。

輸入命令:
\begin{tabular}{ccc}
  \hline
  x amp; y amp; z \\
  1 amp; 123 amp; 23 \\
  \cline{2-3}
  34 amp; 57 amp; 789 \\
  \hline
\end{tabular}

結果為:

其他幾個命令:

\\ %用在每一行的后面,表示表格中的換行
\multicolumn {number} {...}{...} %合并列,其中number為要合并的列的數量,第一個...為對齊方式,第二個為合并的內容。只對該行有效。
\multirow %合并行,需要導入該宏包

(2)導入excel表格

導入excel表格方式有兩種,一種是利用第三方宏,這種方式容易被計算機屏蔽;第二種如下。

我隨便寫了一個表格,將表格內容復制,粘貼到記事本中,這時候你會發現是下面這樣:

也就是說,實際上表格中不同單元格之間是用Tab鍵分割開的。而我們在latex中使用的是amp;符號,所以,我們只需要將這里所有的tab一鍵替換為amp;符號。

將替換后的內容復制到winedt中:

\begin{tabular}{cccc}

eshiamp;sdamp;dfefeamp;sdsd\\
12amp;343amp;423amp;312\\
123amp;32amp;132amp;312\\
23amp;434amp;231amp;23\\
\end{tabular}

只需要修改c的數量,以及后面添加\\

結果:

(3)更美觀一些,添加表頭

應該都會發現上面的表格其實很丑,我們平時在論文中看到的可都不是這種東西,我們需要對表格進行一些修飾,添加表頭。

點擊table,出現的是:

\begin{table}
  \centering
  
  \caption{}\label{}
\end{table}

這里的caption是標題,label主要在添加超鏈接時使用,centering表示所有內容居中對齊。

%輸入剛才內容

\begin{table}
  \centering
  \begin{tabular}{cccc}
  \hline
  eshiamp;sdamp;dfefeamp;sdsd\\
  \hline
  12amp;343amp;423amp;312\\
  123amp;32amp;132amp;312\\
  23amp;434amp;231amp;23\\
  \hline
  \end{tabular}
  \caption{this is my table}
\end{table}

結果:

latex的優勢是,表格的編號可以自動更新,會節省很大時間成本。

注:如果表格太長無法在一頁的話,需要將table換成longtable,并需要使用宏包。

七、公式的編輯

(1)

latex編輯公式相對于word而言,是可以調整公式字母的大小選擇合適的行距,使排版看上去更加整潔。

latex公式有兩種,分別為行內公式和行間公式:

$a^2 b^2=c^2$ %行內公式
$$a^2 b^2=c^2$$ %行間公式
\[a^2 b^2=c^2\] %行間公式

輸出結果:

很多特殊的字符可以在面板上找到GUI然后直接點擊進行輸入即可,注意仍然需要在兩端添加$符號。

(2)導入mathtype公式

使用mathtype編輯公式是非常常用的方式,如果我們需要導入mathtype中的公式,需要進行如下設置;

點擊預置-剪切和復制預置,調整到下圖狀態,點擊確定

選中公式,進行復制,粘貼到latex頁面中:

\[\frac{{ - b \pm \sqrt {{b^2} - 4ac} }}{{2a}}\]

當然,如果對函數熟悉了,直接在latex界面輸入一定是速度更快的。

(3)對公式編號

點擊equation

\begin{equation}\label{}  %label仍然表示標簽,只有引用時用得到,非必需
  
\end{equation}

將公式去掉引導符后輸入:

\begin{equation}
\frac{{ - b \pm \sqrt{{b^2} - 4ac} }}{{2a}}
\end{equation}

輸出效果:

編號時根據章節來的,我的test程序中沒有層次結構,所以顯示為(1),這個是可以人為控制的,想要按照哪一部分來編號,可以在前面加代碼:

\numberwithin{equation}{subection} %按照subection對公式編號

八、特殊字符

%后面為注釋;輸入正規的%需要在%前面加\

$在數學狀態下使用,數學公式有行間公式和行內公式兩部分組成,行間公式需要在兩個$$之間進行,居中對齊。一個$是生成行內公式;正規的$也需要\

{}屬于內部命令,需要在前段和后端加\

\在latex有專門的命令為backslash

九、幾個注意事項

  • 如果點擊L之后,出現another application is already running…往往是因為上一次編譯的過程中出現錯誤,需要點擊下欄左上角紅色叉號。
  • LaTeX區分大小寫
  • 所有的部分都必須有begin和end

注:LaTeX的設計者把這五個字母設計成這個樣子,給我寫這篇文章帶來了巨大的困難;另外本來是想把公式說的更細一些,順便說一下圖片的,但是感覺這篇太長了,還是下次吧。

更多項目介紹,請關注我們的項目專欄: China's Prices Project - 知乎專欄

項目聯系方式:

  • 項目郵箱(@iGuo 的郵箱):[email protected]
  • 申請加入項目或者想給項目提供指導和幫助,請聯系CHO@Suri :[email protected]
  • 知乎:@iGuo(CEO)@Suri(COOamp;CHO,Human)@林行健@Dementia (CTO)@張土不 (CFO)@張一(CRO,Research)

Tags: LaTeX

文章來源:https://zhuanlan.zhihu.com/p/22959784


ads
ads

相關文章
ads

相關文章

ad