LaTeX/語言學
有許多 LaTeX 包可用於編寫語言學論文。已經建立了各種包用於列舉示例、句法樹、OT 表格、特徵矩陣、IPA 字型以及許多其他應用。一些包,如 tipa 包,在該領域實際上是標準的,而其他包則會根據作者的偏好而有所不同。
一些推薦的包:[1]
- 詞語釋義:gb4e 或 Covington;
- IPA 符號:tipa;
- OT 表格:OTtablx;
- 句法樹:qtree + tree-dvips(用於繪製箭頭);
- 或者,xyling 非常強大,但不像 qtree 那麼使用者友好;
- xy 包本身學習曲線很陡峭,但可以進行很多控制;對於最簡單的樹,使用 xymatrix 功能和箭頭;
- tikz-qtree 與 qtree 具有相同的語法,但使用 PGF/TikZ,這為繪製箭頭等提供了更多選項。
- 依存樹和氣泡解析
- TikZ-dependency 包提供了一個高階、便捷的介面來繪製依存關係圖。它基於 PGF/TikZ,但不需要事先了解 TikZ 就能有效地使用。
有幾個常用的包用於建立語言學出版物中使用的編號示例。
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.
|
可以在此處找到完整文件中的更多詳細資訊。
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-qtree 與 qtree 完全可以互換。但是,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 不同,樹預設情況下不會居中。要居中,請將它們放入居中環境中
為了設定樹的樣式,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]
使用 TikZ 建立的依存樹TikZ 的優點是它允許直接從 LaTeX 原始碼生成 PDF,無需任何使用以下方法編譯為 DVI 的繞道latex,然後可能使用諸如以下工具將 DVI 轉換為 PDFdvips和.
ps2pdf
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{.}
}
|
之後。
使用 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}
|
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:XeLaTeX 和 Template: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] LaTeX for Linguists 簡報
- ↑ [2] CTAN 上的 gb4e 包
- ↑ [3] CTAN 上的 ling-macros 包
- ↑ TIPA 手冊
- ↑ 有關 IPA 鍵盤的更多資訊,請參閱 SIL [4]。
- ↑ [5] CTAN 上的包。
外部連結
[edit | edit source]






