跳轉到內容

LaTeX/語言學

來自華夏公益教科書,開放的書籍,開放的世界

LaTeX

入門
  1. 介紹
  2. 安裝
  3. 安裝額外的包
  4. 基礎
  5. 如何獲取幫助

常見元素

  1. 文件結構
  2. 文字格式
  3. 段落格式
  4. 顏色
  5. 字型
  6. 列表結構
  7. 特殊字元
  8. 國際化
  9. 旋轉
  10. 表格
  11. 標題建立
  12. 頁面佈局
  13. 自定義頁面頁首和頁尾‎
  14. 匯入圖形
  15. 浮動體、圖形和標題
  16. 腳註和邊注
  17. 超連結
  18. 標籤和交叉引用
  19. 首字母

機制

  1. 錯誤和警告
  2. 長度
  3. 計數器
  4. 方框
  5. 規則和支撐

技術文字

  1. 數學
  2. 高階數學
  3. 定理
  4. 化學圖形
  5. 演算法
  6. 原始碼列表
  7. 語言學

特殊頁面

  1. 索引
  2. 術語表
  3. 參考文獻管理
  4. 更多參考文獻

特殊文件

  1. 科學報告(學士報告、碩士論文、博士論文)
  2. 信函
  3. 簡報
  4. 教師專區
  5. 簡歷
  6. 學術期刊(MLA、APA 等)

建立圖形

  1. 介紹程式圖形
  2. MetaPost
  3. 圖片
  4. PGF/TikZ
  5. PSTricks
  6. Xy-pic
  7. 建立 3D 圖形

程式設計

  1. Plain TeX
  2. 建立包
  3. 建立包文件
  4. 主題

其他

  1. 模組化文件
  2. 協作編寫 LaTeX 文件
  3. 匯出到其他格式

幫助和建議

  1. 常見問題解答
  2. 技巧和竅門

附錄

  1. 作者
  2. 連結
  3. 包參考
  4. LaTeX 示例文件
  5. 索引
  6. 命令詞彙表

編輯此框編輯 TOC

有許多 LaTeX 包可用於編寫語言學論文。已經建立了各種包用於列舉示例、句法樹、OT 表格、特徵矩陣、IPA 字型以及許多其他應用。一些包,如 tipa 包,在該領域實際上是標準的,而其他包則會根據作者的偏好而有所不同。

一些推薦的包:[1]

  • 詞語釋義:gb4eCovington
  • IPA 符號:tipa
  • OT 表格:OTtablx
  • 句法樹:qtree + tree-dvips(用於繪製箭頭);
  • 或者,xyling 非常強大,但不像 qtree 那麼使用者友好;
  • xy 包本身學習曲線很陡峭,但可以進行很多控制;對於最簡單的樹,使用 xymatrix 功能和箭頭;
  • tikz-qtree 與 qtree 具有相同的語法,但使用 PGF/TikZ,這為繪製箭頭等提供了更多選項。
  • 依存樹和氣泡解析
  • TikZ-dependency 包提供了一個高階、便捷的介面來繪製依存關係圖。它基於 PGF/TikZ,但不需要事先了解 TikZ 就能有效地使用。
  • 屬性-值矩陣(AVM):avm
  • John Frampton 的 expex:expex

列舉示例

[編輯 | 編輯原始碼]

有幾個常用的包用於建立語言學出版物中使用的編號示例。

gb4e[2](最後更新於 2010 年),使用以下命令呼叫:

\usepackage{gb4e}

重要:如果使用 gb4e 包,請將其作為文件序言中的最後一個 \usepackage 呼叫。否則,你可能會遇到引數堆疊大小超出錯誤。

此包的示例放置在 exe 環境中,每個示例都以 \ex 命令引入。

\begin{exe}
	\ex This is an example.
\end{exe}


可以在環境中包含多個示例,每個示例都有自己的編號。

\begin{exe}
	\ex This is the first example.
	\ex This is the second example.
	\ex This is the third.
\end{exe}


要建立巢狀的示例列表,可以使用 xlist 環境。

\begin{exe}
    \ex \begin{xlist}
        \ex This is a sub-example.
        \ex This is a second sub-example.
        \ex \begin{xlist}
            \ex This is a sub-sub-example.
            \ex This is a second sub-sub-example.
        \end{xlist}
    \end{xlist}
\end{exe}


為了標記可接受性判斷,\ex 命令可以接受一個可選引數。在包含判斷標記時,相應的句子必須用大括號包圍。

\begin{exe}
	\ex This sentence is grammatical English.
	\ex[*] {This sentence English in ungrammatical is.}
\end{exe}


在文字中引用示例的工作方式與正常的 LaTeX 文件相同。有關更多詳細資訊,請參見標籤和交叉引用部分。

\begin{exe}
	\ex\label{ex1} Godzilla destroyed the city.
	\ex\label{ex2} Godzilla roared.
\end{exe}
Sentence (\ref{ex1}) contains two arguments, but (\ref{ex2}) contains only one.


可以在此處找到完整文件中的更多詳細資訊。

ling-macros

[編輯 | 編輯原始碼]

Emma Pease 建立的 ling-macros[3](最後更新於 2016 年)是示例編號的另一種方法。此包使用兩個主要命令,\enumsentence\eenumsentence。前者用於單例示例,而後者命令用於巢狀示例。

\enumsentence{This is an example.}


\enumsentence{This is the first example.}
\enumsentence{This is the second example.}
\enumsentence{This is the third.}


多重巢狀示例使用正常的 LaTeX 列表環境.

\eenumsentence{\item This is a sub-example.
		\item This is a second sub-example.
		\item \begin{enumerate}
			\item This is sub-sub-example.
			\item This is a second sub-sub-example.
			\end{enumerate}
                 }


可以在此處找到完整文件。

句法樹

[編輯 | 編輯原始碼]

語言學家經常需要展示句子的句法結構。實現此目的的一種方法是透過句法樹。不幸的是,不同語法形式的樹看起來非常不同,不同的 LaTeX 包適合不同的形式。

成分樹

[edit | edit source]

雖然 LaTeX 提供了幾個用於繪製句法樹的包,但這篇文章重點介紹了 qtree 和 xyling 包。

qtree

[edit | edit source]

qtree 繪製樹相對簡單。首先,需要將 qtree 包(最後更新於 2006 年)包含在文件的前言中

\usepackage{qtree}

使用 \Tree 命令開始一個新樹,每個(子)樹用方括號 [ ] 表示。一個(子)樹的根節點總是以 . 開頭,葉節點則用它們的標籤簡單表示。注意,閉合方括號前的空格是 必須 的。

\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]

預設情況下,qtree 將句法樹居中放置在頁面上。可以透過以下兩種方法關閉此行為:

\usepackage[nocenter]{qtree} % do not center trees

在載入包時指定行為

\qtreecenterfalse % do not center trees from here on

或透過命令

\qtreecentertrue % center trees from here on

在文件中的任何位置。可以使用以下命令撤銷後者的效果

重要提示:如果您使用 gb4e 包,請將其設定為文件前言中的最後一個 \usepackage 呼叫。否則,您可能會遇到超出引數堆疊大小的錯誤。

tikz-qtree

[edit | edit source]

使用與 qtree 相同的語法,tikz-qtree(最後更新於 2009 年)是另一種易於使用的繪製句法樹的替代方案。

對於簡單的樹,tikz-qtreeqtree 完全可以互換。但是,qtree 的一些高階功能以不同的方式實現,或者根本沒有實現。另一方面,tikz-qtree 提供了其他功能,例如控制樹生長的方向(從上到下,從左到右等)或不同樣式的邊。

\usepackage{tikz}
\usepackage{tikz-qtree}

要使用 tikz-qtree 包繪製樹,請將以下內容放入文件的前言中

\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]

tikz-qtree 的語法和繪製簡單樹的結果與 qtree 相同。

\begin{center}
\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]
\end{center}

請注意,與 qtree 不同,樹預設情況下不會居中。要居中,請將它們放入居中環境中

\tikzset{grow'=right} % make trees grow from left to right
\tikzset{every tree node/.style={anchor=base west}} % align nodes of the tree to the left (west)
\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]

為了設定樹的樣式,tikz-qtree 提供了 \tikzset 命令。例如,要使樹從左到右而不是從上到下生長,請使用以下程式碼

\begin{tikzpicture} % all changes only affect trees within this environment
\tikzset{grow'=right} % make trees grow from left to right
\tikzset{every tree node/.style={anchor=base west}} % align nodes of the tree to the left (west)
\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]
\end{tikzpicture}


上面的程式碼更改了定義在 \tikzset 命令後的 所有 樹的預設方向。要僅更改單個樹的方向,必須將其放入 \tikzpicture 環境中

依存樹

[edit | edit source]


依存樹可以採用多種視覺形式。通常,它們非常類似於短語結構樹。或者,它們可以透過繪製在執行文字上方的括號來捕獲。

二維依存樹

[edit | edit source]

% In the preamble:
\usepackage{tikz}

% In the document:
\begin{tikzpicture}
	\node (is-root) {is}
		[sibling distance=3cm]
		child { node {this} }
		child {
			node {tree}
				[sibling distance=1.5cm]
				child { node {an} }
				child { node {example} }
				child { node {.} }
				child[missing]
		};
	\path (is-root) +(0,-2.5\tikzleveldistance)
		node {\textit{This is an example tree.}};
\end{tikzpicture}
這些可以透過使用相當通用的繪圖包 tikz 或包 xyling(最後更新於 2006 年)來實現

使用 TikZ 建立的依存樹TikZ 的優點是它允許直接從 LaTeX 原始碼生成 PDF,無需任何使用以下方法編譯為 DVI 的繞道latex,然後可能使用諸如以下工具將 DVI 轉換為 PDFdvips.

ps2pdf

% In the preamble:
\usepackage{xyling}

% In the document:
\Tree{	& \K{is}\B{dl}\B{drr} \\
        \K{this} &&& \K{tree}\B{dll}\B{dl}\B{dr} \\
        & \K{an} & \K{example} && \K{.} }

\medskip
\textit{This is an example tree.}
作為 tikz 的替代方案,是包 xyling,該包 wiederum 基於包 xy使用以下方法建立的依存樹

xyling

將依存樹作為文字上方的括號

[edit | edit source],然後可能使用諸如以下工具將 DVI 轉換為 PDFdvips在執行文字上方排版依存括號的一種方法是使用包 xytree。它讓您對括號的排版方式有相當好的控制,但需要將 LaTeX 程式碼編譯為 DVI(並可能使用以下工具轉換為 PDF)

% In the preamble:
\usepackage{xytree}

% In the document:
\xytext{
  \xybarnode{Peter} &~~~&
  \xybarnode{and}
    \xybarconnect(UL,U){-2}"_{\small conj}"
    \xybarconnect(UR,U){2}"^{\small conj}"
    &~~~&
  \xybarnode{Mary} &~~~&
  \xybarnode{bought}
    \xybarconnect[8](UL,U){-4}"_{\small subj}"
    \xybarconnect[13]{6}"^{\small punct}"
    \xybarconnect[8](UR,U){4}"^{\small obj}"
    &~~~&
  \xybarnode{a} &~~~&
  \xybarnode{car}
    \xybarconnect(UL,U){-2}"_{\small det}"
    &~~~&
  \xybarnode{.}
}

A dependency tree above running text created using xytree

之後。

使用 tikz-dependency 包的依存樹

[edit | edit source]

% In the preamble:
\usepackage{tikz-dependency}

% In the document:
\begin{dependency}[theme = simple]
   \begin{deptext}[column sep=1em]
      A \& hearing \& is \& scheduled \& on \& the \& issue \& today \& . \\
   \end{deptext}
   \deproot{3}{ROOT}
   \depedge{2}{1}{ATT}
   \depedge[edge start x offset=-6pt]{2}{5}{ATT}
   \depedge{3}{2}{SBJ}
   \depedge{3}{9}{PU}
   \depedge{3}{4}{VC}
   \depedge{4}{8}{TMP}
   \depedge{5}{7}{PC}
   \depedge[arc angle=50]{7}{6}{ATT}
\end{dependency}

A dependency tree drawn with TikZ-dependency

tikz-dependency 包(最後更新於 2012 年)提供了高階命令來設計和設定依存圖的樣式。要繪製一個圖,您只需要建立一個 dependency 環境,在 deptext 環境中寫入句子的文字,並使用 \depedge 命令繪製邊。全域性和區域性可選引數可用於設定圖形的外觀和微調,如以下示例所示

有關詳細資訊,請參見 TikZ-dependency 文件

詞義標註

[edit | edit source]

以下是使用不同包製作詞義標註示例的方法。使用

gb4e

[edit | edit source]

\begin{exe}
\ex 
\gll Кот ест сметану\\
cat.NOM eat.3.SG.PRS sour-cream.ACC\\
\trans `The cat eats sour cream'
\end{exe}


要使用 gb4e(最後更新於 2010 年)建立詞義標註示例,請使用正常的 exe 環境。但在 \ex 標籤之後,使用 \gll 介紹示例及其詞義標註,然後使用 \trans 標籤介紹翻譯。

\begin{exe}
\ex	
\gll Pekka pel\"astyi karhusta.\\
     Pekka {became afraid} bear.ELA\\
\trans `Pekka became afraid because of the/a bear.'
\end{exe}

以下是使用不同包製作詞義標註示例的方法。垂直對齊的詞義標註用空格分隔,因此如果需要在詞義標註的部分中包含空格,只需將連線的部分括在花括號中。

ling-macros

[edit | edit source]&ling-macros 包(最後更新於 2016 年)使用 \shortex 命令在 \enumsentence\eenumsentence 命令中介紹詞義標註示例。此命令接受四個引數,並基於正常的 tabular 環境。它的第一個引數指定詞義標註中的列數。第二個和第三個引數分別給出文字及其詞義標註,每列中的專案用通常的

\enumsentence{\shortex{3}
		{Pekka & pel\"astyi & karhu-sta.}
		{Pekka & became afraid & bear.ELA}
		{`Pekka became afraid because of the/a bear.'}
		}

表格分隔符分隔。第四個引數是翻譯。

IPA 字元

在 Unicode 廣泛應用之前,tipa 包(最後更新於 2004 年)是國際音標符號的標準 LaTeX 包。然而,現在 Unicode 中的 IPA 符號可以直接與 LaTeX 一起使用,並結合 Template:XeLaTeXTemplate:LuaLaTeX,大大提高了可讀性。

\usepackage{tipa}

將 IPA 符號輸入文件有兩種方法。第一種方法是使用 IPA 環境。

\begin{IPA}
text in IPA format here
\end{IPA}

此方法適用於需要以 IPA 表示的長段文字。或者,可以使用 \textipa 命令,它將把引數中的文字格式化為 IPA。此命令類似於其他 字型排版命令

\textipa{text in IPA format here}

基本符號

[edit | edit source]

IPA 格式透過將 ASCII 字元轉換為相應的 IPA 符號來工作。小寫字母按通常方式渲染,

\textipa{abcdefghijklmnopqrstuvwxyz}

但大寫字母的渲染方式不同。

\textipa{ABCDEFGHIJKLMNOPQRSTUVWXYZ}

通常在 LaTeX 中使用的標點符號也在 IPA 環境中忠實地渲染。

\textipa{! * + = ? . , / [ ] ( ) ` ' | ||}

數字和@IPA 環境中也有變體。

\textipa{1234567890 @}

此外,還有一些用於表示沒有其他關聯的符號的特殊宏,其中一些在此列出。有關完整列表,請參閱官方 TIPA 手冊[4]

\; 宏前加一個大寫字母,會生成該字母的小寫字母版本。

\textipa{\;A \;B \;E \;G \;H \;I \;L \;R \;Y}

\: 宏生成捲舌音符號。

\textipa{\:d \:l \:n \:r \:s \:t \:z}

\! 宏生成內爆音符號和雙唇點選音。

\textipa{\!b \!d \!g \!j \!G \!o}

XeLaTeX

[edit | edit source]

在文件中輸入 IPA 符號的現代方法是使用 XeTeX 作為編譯器,並直接插入符號,使用字元對映或 IPA 鍵盤。[5]

You can type [fəˈnɛtɪk] symbols in a straightforward manner.

音系規則

[edit | edit source]

排版音系規則可以使用 phonrule 包(最後更新於 2017 年)來完成。[6]

以下是用此包可以實現的功能示例

\phonb{\phonfeat{+stop \\ +consonant \\ +alveolar} }{[ɾ]}{\phonfeat{+vowel \\ +stressed} }{\phonfeat{+vowel \\ +stressed} }

參考文獻

[edit | edit source]
  1. [1] LaTeX for Linguists 簡報
  2. [2] CTAN 上的 gb4e 包
  3. [3] CTAN 上的 ling-macros 包
  4. TIPA 手冊
  5. 有關 IPA 鍵盤的更多資訊,請參閱 SIL [4]
  6. [5] CTAN 上的包。
[edit | edit source]


上一頁:原始碼清單 索引 下一頁:索引
華夏公益教科書