Latex和 lyx到底區別在哪 ? 匿名使用者 1級 2010-07-17 回答

本文是介紹TeX排版系統, 但你閱讀下面的資訊後, 你將能夠:

下載和安裝LaTeX(包括Windows, linux, 或者Mac系統)

使用LaTeX建立簡單的文件

安裝新的LaTeX宏包

在LaTeX文件中插入表格和影象

使用LaTeX的互動引用, 腳註和基本的參考文獻用法

在LaTeX文件中插入數學公式

這些主題已經覆蓋寫文件的基本任務。 然而, 注意到, 但使用LaTeX系統的時候, 你可以很容易建立看起來非常專業的文件, 並且LaTeX是全面和可擴充套件的。 還有許多在這篇基礎引導性文章沒有提及的功能。 幸運的是, LaTeX的文件非常豐富。 如果你對碰到什麼問題, 可以向你的老朋友Google尋求幫助。

什麼是LaTeX?

LaTeX是一個排版系統, 它允許作者建立一個高質量的文件, 而不用過多關心格式, 分頁, 物件的位置和其它一些將作者從寫作上分心的格式設定。 LaTeX的發音為 “lay-tech”, 它是原始排版系統TeX (”tech”)的一個擴充套件。 你可以在Wikipedia上找到 TeX 和 LaTeX 的歷史。

也可以參加本站的介紹什麼是LaTeX,什麼是TeX。

LaTeX在一個專業領域被廣泛的使用。 在數學, 物理, 經濟, 統計和其它一些學術和專業領域, 它們的文件需要經常使用LaTeX來排版數學符號, 因為LaTeX能簡單而高質量地支援數學符號。一些出版公司也使用基礎TeX的系統來排版文件。

為什麼要學習LaTeX, LaTeX的優缺點分析可參考本站的資源, LaTeX-勸學篇和 TeX的優缺點

LaTeX 是怎樣工作的?

LaTeX與傳統的字處理軟體有下列兩個基本的不同:

一般地, 使用容易學的LaTeX的標記語言來寫LaTeX文件, 而不是使用圖形介面來確定格式[1]。

在輸入文字之後需用LaTeX編譯生成文件, 而不像其它字處理軟體, 它可以使用下面的文件的總長度, 表格的數目等資訊來最佳化表格, 圖形, 斷頁等。

下面是一個非常基本的LaTeX文件的例子:

\documentclass{article}

\author{Your Name}

\title{Test Document}

\begin{document}

\maketitle

This is a test document

\end{document}

使用任何一個LaTeX發行版, 儲存上面的文字到一個字尾為 “。tex” 的檔案, 然後用LaTeX來編譯就可以生成一個文件了。

LaTeX被設定成在不同的系統可得到同樣的輸出。 因此, 如果你釋出上面的文字, 其他人可以使用某個LaTeX發行版的 , 而不用關注他的作業系統, 都將得到完全一樣的結果。 LaTeX可以輸出各種格式的檔案, 但最流行的是PDF格式。

如何得到LaTeX軟體

從技術上來說, 你只需要LaTeX引擎(一些二進位制的檔案和庫)就可以將簡單的文字tex檔案轉化為優美的PDF檔案。 LaTeX可以以命令列形式被使用, 因而*nix和Dos的支持者將覺得這非常好。 然而使用一個LaTeX前端編輯器將使得操作跟簡單。 大多數的LaTeX前端編輯器本質上都是文字編輯器, 但還有下面的功能:

編譯LaTeX文件, 而不是使用命令列。

讓LaTeX語言跟容易的書寫(命令補全, 建立模板化表格等)。

這這篇文件中, 我假設你已經有了一個LaTeX引擎和一個前端編輯器。 每個作業系統下你都有很多的LaTeX引擎和一個前端編輯器供選擇。 我將描述最流行和最容易安裝的開源的工具的安裝。 不同發行版間的唯一區別是應用時的一些配置和用法不同, 你也可以自由地選擇其它的發行版。

對於版本的選取, 我這裡推Window下推薦CTeX, 參見 寫給初學者: CTeX安裝與使用

Linux 下使用推薦 texlive, 參見ray2。0-GUN/Linux下成功安裝latex+CJK

上面的兩個連結也包含了對中文的支援, 建議沒有用過LaTeX的看一下, 後面不會特別提到中文的設定了。

接下來的介紹TeX發行版一般就可以跳過去了。

Mac OS X系統

引擎。 gwTeX 是OS X中擁有圖形介面安裝的開源LaTeX發行版。 在它的主頁上選擇一個映象, 選在TeX包下載。 還可以安裝一個額外的指南。當安裝完畢,你還僅需一個前端編輯器。

注: 由於資源時效性關係, 現在Mac OS X 下 的最流行的LaTeX發行版應該是 MacTeX。 參見這裡。

前端編輯器。 TeXShop 是OS X上的一個非常流行的前端編輯器。 安裝只需要簡單地將它拖到/Applications資料夾 。 TeXShop 會自動的配置gwTeX, 所以如果你使用的是gwTeX引擎, 那你已經設定好。

為了測試你使用的版本, 將前面的例子存為一個 。tex 格式檔案, 然後用 TeXShop 開啟你的文件, 再編譯。如果進行順利的話,將會開啟一個新的輸出視窗, 一個新的PDF檔案(還有 log 檔案) 會在你儲存的檔案目錄下出現。

Windows 系統

引擎。 MikTeX 是一個非常流行的開源發行版。 為了安裝, 訪問這個頁面 , 下載它的安裝檔案, 下載頁面上也有額外的安裝說明。

前端編輯器。 TeXnic Center 是一個具有很多有幫助特性的開源編輯器。 就跟通常安裝程式一樣, 下載和允許安裝檔案, 完畢後有自動執行“嚮導”。

TeXnic center 會自動配置MikTeX。 為了測試的安裝, 將前面的例子存為一個 。tex 格式檔案,用TeXnic center 開啟, 然後選擇 Build > Current file 。 如何所有設定正確的華, 一個新的PDF檔案(還有 log 檔案)會在你儲存的檔案目錄下出現。

Linux 系統

Linux 系統有它們自己的程式管理工具(例如apt-get, rpm 等), 安裝 LaTeX 將依賴你的 Linux 發行版。 Ubuntu 使用者可以透過 Synaptic Package Manager (一種安裝包管理工具)安裝LaTeX。 Kile 是一個在KDE和Gnome下都流行和容易使用的編輯器 。

關於檔案格式的一點註記

LaTeX 可以生成多種格式的輸出檔案, 包括 PDF 和 DVI (與裝置獨立的格式) 檔案。 生存檔案的格式依賴於是否使用PdfLaTeX或另一個程式來編譯檔案。 編輯器預設會建立 PDF 檔案, 主要到改變相應的設定會影響輸出檔案的格式。

LaTeX 基礎知識

LaTeX 命令

LaTeX 命令通常是以一個反斜槓(backslash)開頭, 和具有形式\command[options]{argument。 例如,

\section{Introduction}

將定義一個叫 “Introduction” 的新的小節。 符號“%” 定義一個註記, 這一行它後面的字元都將被認為是註記, 而被 LaTeX 忽略。 如果你需要在文件中輸入字元“%” , 使用命令: \%。

在 LaTeX 使用引號的方式有點不同。 為了插入一個引號, 使用標準的 “文字” , 就是兩次字元 ` (位於鍵盤的左上方)。

導言區(preamble)

文件中, 行 “\begin{document}” 之前的部分稱為導言區。 一個典型的導言區可以像這樣:

\documentclass{article}

\usepackage{graphicx}

\title{Test}

\author{Test}

\date{}

在上面的例子中:

\documentclass{article} 告訴 LaTeX , 這個檔案是的型別是文章 (article)。 其它型別有: 書本(book), 信 ( letter) 和 簡報 ( slides) 。

\usepackage{graphicx} 告訴 LaTeX 使用 graphicx 宏包 , 它允許使用者在文件中包含許多型別的影象。 將會在後面介紹宏包的用法。

\title{} and \author{}顯然就是定義文章的標題和作者。

\date{} 告訴 LaTeX 留下一行生成日期。 \date{April 2006}將會生成日期 “April 2006〃 。 如果只使用 \date{} 將告訴 LaTeX 使用今天的日期。

命令\documentclass{} 有一些引數。 例如, \documentclass[11pt,twocolumn]{article} 將文件的主體為設為兩欄格式。 注意引數之間用逗號隔開。 其它的一些引數包括:

oneside 或 twoside - 改變邊界, 設定成單頁或雙頁文件

landscape - 將文件的格式從 portrait 改為 landscape。

titlepage 或 notitlepage - 定義是否使用分離的標題頁面, 或者標題, 作者和日題出現在文章的頂部。

文件的主體(The document body)

導言區後邊, 也就是 \begin{document} 和 \end{document} 之間的部分是文件的主體。 大多數的 LaTeX 文件只是一個簡單的純文字。 為了開始一個新的段落, 輸入兩個回車。 LaTeX 會自動忽略一個空白的行。 為了強制斷行, 使用\\ 。

文件的結構 (Document structure)

定義一個文件的結構可使用命令 \section{}。 LaTeX 是基於結構的文件。 結構的標記有:

\section{Name}

\subsection{Name}

\subsubsection{Name}

\paragraph{Name}

為了插入一個沒有標號的小節, 使用命令 \section*{Name}。 章節的會自動的連續的編號。

命令 \paragraph{}不是必須的, 除非你想為一個段落插入一個標題。 例子:

1 Section command

Section star command

this section is not numbered

2 Section command

Test here the the numbering continuous normally

2。1 Subsection command

Test here

Paragraph command this paragraph have a title。

環境(Environments)

環境是一塊特殊的文字。 例如, itemize 和 enumerate 環境相應地建立專案和編號列表。 下面的標記:

\begin{itemize}

\item First thing

\item Second thing

\item Third thing

\end{itemize}

\begin{enumerate}

\item First numbered thing

\item Second numbered thing

\end{enumerate}

將生成一個專案列表和接下來的一個編號列表。

注意到環境都是以 \begin{environmentname} 開頭和以 \end{environmentname} 結尾。 它們可以被巢狀, 所以一個專案列表可能包含另一個專案列表或者編號列表等。

另外一下經常被使用的環境有:

引用環境 (Quote): \begin{quote}…\end{quote} 建立一小節縮排的引用的文字

Verbatim環境: \begin{verbatim} … \end{verbatim} 類似於HTML中的 pre 。 在 verbatim 環境中, 文字將顯示為等寬格式的字型和特殊字元將被忽略。 當書寫原始碼的時候, Verbatim 環境非常有用。

Description 環境: \begin{description} \item[First item] text \end{description} 生成一個列表和或專案, 它有一個粗體的名字和之後懸掛縮排的文字

改變字型的樣式 (Modifying text styles)

LaTeX 背後一個基本的思想是解決作者的格式問題。 然後, 有時還是需要手動得設定指定字型樣式。

插入粗體 (bold text), 使用 \textbf{text here}

插入斜體 (italic text), 使用 \emph{text here}

插入但等寬字型 (monospace text), 使用 \texttt{text here} (“ tt ” 代表打字機 (teletype)

為了在句子中使用 verbatim 文字, 使用 \verb | your text here | 。 注意可以使用任意的分界符, 例如\verb+your text here+ 將顯示同樣的效果。

latex新手 可以去這個頁面找到跟多的資訊, 還有更多latex教程。

宏包(Packages)

使用宏包可以擴充套件 LaTeX 的 功能。 宏包的安裝主要分為下面兩步:

用 LaTeX 執行 。ins 檔案來生成 。sty 和 。cls 檔案

將兩個新建立的檔案複製到適當的目錄下, 然後更新 LaTeX 資料庫

但是, 也有一些例外。 檔案型別 。sty 和 。cls 分別代表 樣式 (style) 和 類 (class)。 如果一個宏包不是 。ins 格式而是 。sty 和 。cls 檔案, 則不需要用LaTeX處理, 直接跳到第二步。 另外, 當用LaTeX處理 。ins 檔案時候, 通常會生成一個 。dtx 檔案。 這個檔案可以透過LaTeX來建立這個宏包的手冊。

注意: 用 LaTeX 處理宏包檔案, 只需要用你的LaTeX前端編輯器開啟, 然後按通常處理一個 tex 檔案編譯。

OS X。 為了在gwTeX下安裝一個新的宏包, 按照前面的方法操作, 然後將 sty, cls 和其它檔案移到 ~/Library/texmf。 如果這個目錄不存在, 那麼建立它。

Windows。 在 PC 上使用 MikTeX 安裝宏包的一個最簡單方式是使用 MikTeX 宏包管理器, 可以在Start Menu 上找到。 只需要開啟宏包管理器, 選擇一個映象, 選擇你要安裝的宏包。 MikTeX 將會處理餘下的事情。 使用 MikTeX 的另一個優點是當你編譯一個 。tex 檔案的時需要一個你機器上沒有安裝的宏包, 它將自動提示你去下載宏包。

接下來, 介紹兩個流行的宏包: graphicx 和 gemetry 。 這些宏包已經在 gwTeX 和 MikTeX 上預設安裝了, 而不需要另外下載安裝它們。

graphicx 宏包

graphicx 宏包用於在 LaTeX 文件插入影象。 為了使用它, 首先在文件的導言區加上命令 \usepackage{graphicx}。 然後使用下面的命令插入圖形。

\includegraphics[options]{filename。png}

graphicx 宏包支援許多檔案型別, 包括 PDF, PNG 和 JPG。 注意此時需要用 PdfLaTeX 編譯你的文件。 它的主要引數有:

width=Xin

height=Xin

scale=X (Where x is between 0 and 1)

geometry宏包

用 LaTeX 處理格式化的文件是非常簡單的, 但你需要改變它的預設格式的時候就變得有點複雜了。 使用 geometry 宏包就改變你文件的某些設定, 包括邊距等。 下邊是一個將四周邊距改為 1 in 的例子 :

\usepackage[margin=1in]{geometry}

其它一些宏包

如果你想修改標準的 LaTeX 設定, 這需要一些宏包來幫助你。 為了學習更多的宏包知識, 可以訪問綜合的 TeX 文件網站(CTAN)。

關於插圖的更詳細的介紹可參見 LaTeX2e插圖指南

中文有CTeX論壇是推薦大家去查考資料和提問的。

圖形和表格

圖形和表格都是 LaTeX 中的環境, 然而它們有一些特殊的屬性, 例如命令 \caption{}, 這將生成圖形和表格的標題。 它們被稱為浮動物件, 因為它們在最終編譯生成文件中的位置依賴當前 LaTeX 樣式的演算法。

圖形 (Figures)

為了插入一個圖形, 使用

\begin{figure}[hbtp]

\caption{Figure name}

\begin{center}

\includegraphics{filename。pdf}

\end{center}

\label{your-reference-key}

\end{figure}

在上面的程式碼中,

\begin{figure} 只是告訴 LaTeX 現在開始一個圖形 (figure) 環境

[hbtp] 決定 LaTeX 如何放置這個圖形 (當前位置here (h), 底部bottom (b), 頂部top(t), 頁面page(p))。 LaTeX 首先會嘗試在將圖形插入到當前位置 (tex 檔案中的插入點), 如果沒有足夠的空間或者其它審美考慮, 它將嘗試把圖形先放在當前頁面的底部, 然後是頂部, 最後是一個特殊頁面來放置這個浮動物件。 如果強制圖形只出現在原來的位置, 使用命令 \begin{figure}[h], 而忽略其它引數 b, p 和 t

\caption{Figure name}生成圖形的名稱

\begin{center} 只是告訴 LaTeX 將圖形放置在頁面的中間。 不要忘記在結束 figure 環境前結束 centering 環境。

\includegraphics{…} 指定你要插入圖形檔案的位置

\label{your-reference-key} 是一個標籤, 它將允許你在文字中引用這個圖形。 例如, 你的圖形標籤為 “fig1” , 當你需要引用它時輸入 \ref{fig1}

表格 (Tables)

LaTeX 中一個浮動表格由兩個環境組成: 表格, 在文字中浮動的實體, 和 tabular (製表的內容)。 例如,

\begin{table}[hbtp]

\caption{This table is an example}

\begin{center}

\begin{tabular}{c|cc}

First row, first column & First row second column & First row, third column \\ \hline

Second row, first column & Second row, second column & Second row, third column \\

Third row, first column & Third row, second column & Third row, third column \\

\multicolumn{3}{c}{…}

\end{tabular}

\end{center}

\label{exampletable}

\end{table}

除了程式碼 \begin{tabular} … \end{tabular} 之間的內容外它的意思跟前面圖形環境的描述是一樣的。 下面我們來看 tabular 環境是怎樣工作的:

\begin{tabular}{c|cc} 告訴 LaTeX 開始一個新的包含3個居中列的 tabular 環境。 第一個“c”之後的豎線 (”|”) 告訴 LaTeX 第一列有一個垂直的邊線。 使用{lcrr}能建立 4 列, 第一列左對其, 第二列居中, 第三列和第四列右對齊

表格單元用符號 “&”分離, 表格行用符號“\\”分離。

\hline 生成一條水平線

\multicolumn{3}{c}{Text here} 建立一個有 3 列的行, 居中格式, 並且包含文字 “Text here”

建立和插入表格還有一些跟複雜的引數, 但是上面的例子應該已經包含90%的應用了。[2]

註釋 (Annotations)

LaTeX 能夠自動建立一些重要的註釋, 例如腳註, 交叉引用, 表格的目錄和參考文獻。 注意到下面的命令需要 LaTeX 自動對正文元素進行計數, 從而需要 LaTeX 需要執行兩次才能顯示效果。

腳註(Footnotes)

為了插入一個腳註, 只需要輸入 \footnote{Footnote text here}。 LaTeX 自動插入一個腳註數目和文字。[3]

交叉引用 (Cross references)

為了引用一個表格或圖形的標籤, 使用 \ref{your-reference-key} 其中 “your-reference-key” 是表格或圖形環境中命令 \label{your-reference-key} 的引數。

表格的目錄 (Table of contents)

為了插入一個表格目錄, 在文件的開始的地方使用 \tableofcontents 。 (你必須執行 LaTeX 兩次來獲得表格目錄和正確的引用。)

參考文獻(Bibliography)

為了建立一個參考文獻列表, 在你文件的最後, 使用

\begin{thebibliography}{99}

…。

\bibitem{key1} Disarray, General。 2006。 “\LaTeX{}: From beginner to \TeX pert。” \emph{General Disarray Blog}。 Available online at \textt{http://generaldisarray。wordpress。com}。 …。

\end{thebibliography}

你必須手動輸入參考文獻的專案。 在正文中引用一個專案, 使用 \cite{key}, 引數{99}告訴 LaTeX 這是一個最多 99 個專案的參考文獻。 LaTeX 必須知道這個引數才能正確地調整參考文獻專案左邊的編號。

一個跟有效的建立參考文獻的方法是使用 BibTeX, 它允許你維護一個引用專案的資料庫, 當需要引用它們時呼叫這個資料庫。 也有一些圖形化的工具來管理的你引用資料庫, 所以你需要要努力去對引用加程式碼, 而只是將它們改成不同的格式。 然而 BibTeX 在編譯的時候變得比較複雜, 作為一個介紹, 你可以看在這個頁面。

BibTeX的用法也可參見頁面LaTeX之參考文獻的寫法

插入數學公式 (Inserting mathematics)

在 LaTeX 插入數學公式的方法有幾種。 最通常用的方法是內聯記號(inline notation) 和 displaymath 環境 (displaymath environment)。

內聯 記號(Inline)

在一個段落中插入數學符號, 而有不影響其它文字的格式, 將數學公式用 $ 符號括起來。 例如, , $a^2+b^2=c^2$ 是我們熟悉的公式。

Display math

displaymath 環境讓你數學符號單獨佔一行。 程式碼

\[

a^2+b^2=c^2

\]

將建立一個段落分割和一個居中的方程。

Equation

equation 環境可以用來數學公式的編號和引用標記, 例如,

\begin{equation}

a^2+b^2=c^2

\label{pythag}

\end{equation}

就像 displaymath 生成同樣的方程, 但是它還會在右邊生成一個編號, 並且你可以使用 \ref{pythag}來引用這個方程。

Equation array

eqnarray 環境能夠允許你輸入多行的公式, 並設定對齊點。 例如,

\begin{eqnarray}

a&=&b+c\\

d&=&e+f

\end{eqnarray}

數學記號 (Mathematical notation)

有一些命令來插入一些特殊的數學運算元和符號。 它們可以在網上很容易的找到, 如果你不能想出一個有效的命令, Google查詢一下。 下面有一些經常用的命令:

希臘字母: 一般來說, 它就是拼寫的單詞。 例如 \beta, \gamma 和 \epsilon。 大寫則使用 \Gamma。

特殊符號 (Misc symbols): \leftarrow (使用 \Leftarrow 得到一個雙向肩頭), \rightarrow, etc。, \leftrightarrow (<==>, if and only if), , \leq (less than or equal to), \geq (greater than or equal to)

指數和分量 (Indexing and exponents): 下標使用下劃線 (x_i) 和 上標使用 “^” (a^2)。 為了使用 “i sub j comma k” 你只需要輸入 “i_{j,k}” 來告訴 LaTeX “j,k”都是下標。 在LaTeX 中括號通常表示一組內容, 而它本身並不會在文件中出現。

另外的一些運算元: \sum{1/x} or \sum_{i=1}^{\infty}{x_i}, \prod (the product), \coprod (the coproduct), \sin, \log, \max, etc。

修飾符號 (Decorations): \hat{x}, \tilde{x} , \overline{x}, \underline{x}, \overrightarrow{x}, \overbrace{x}, \underbrace{x}, \vec{x}

分數 (Fractions): \frac{a}{b} puts a over b。

括號 (Brackets): For brackets use “(”, “[” or \lbrace and \rbrace for “{” and “}”。 However, if the notation that your typing is not inline, use \left(

\right) or \left\lbrace

\right\rbrace。

矩陣 (Matrices) : 為了輸入一個矩陣, 在display 或者 equation 環境下, 使用

\left[ \begin{array}{ccc}

a & b & c \\

d & e & f

\end{array}\right]

注意array 環境的使用跟前面提到的表格環境很相似。

關於跟多的符號和運算元, 可以看考 這裡。

進一步的參考 (For further reference)

上面的介紹只是 LaTeX 的一部分功能, 還有很多沒有介紹, 推薦一個非常好的文件 The Not-So-Short Introduction to LaTeX (pdf)。

中文版本可以在這裡下載lshort-zh-cn 4。20 下載

Download

這個文件的英文版本也可在這裡下載 PDF file。

註記(Notes)

[1] 儘管LaTeX是用命令工作, 但例如 Scientific Word 是在圖形介面上操作, 和 LyX 是一個非常好的開源, 基於 LaTeX 的 what-you-see-is-what-you-mean 的字處理系統, 它採用圖形化介面但也允許使用LaTeX命令。 關於Lyx的介紹可一參見這裡: LyX 和 LaTeX CJK 的配合, LyX和xetex中文的配置方法。

[2] OpenOffice 可是使用 Calc2LaTeX 來將 Calc spreadsheets轉化為 LaTeX 表格tables。 MS Office 使用者可嘗試工具 Excel2LaTeX。 這些工具都是跨平臺的 。LaTeX使用excel2latex插入表格

[3] 為了建立一個貢獻(attribution)腳註, 第一個腳註將用星號作標記, 使用 \thanks{text here}命令。

Latex和 lyx到底區別在哪 ? 平淡的快樂 1級 2010-07-18 回答

我用了兩年lyx,很少需要編輯它顯示的latex原始碼,貌似也不能直接編輯。剛開始用的時候還把原始碼顯示出來,後來乾脆懶得看了。如確有需要,可以直接在lyx輸入視窗中輸入所需原始碼,lyx會生成同樣的原始碼,此外還可以把原始碼全部顯示、複製出來,用winedt之類的編輯,然後如果需要的話還可以再匯入lyx中。