跳转到内容

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]


上一页:源代码清单 索引 下一页:索引
华夏公益教科书