我正在尝试(或多或少)复制这个语音重写规则:
我正在使用该包phonrule
,我设法完成的是:
\documentclass{article}
\usepackage{phonrule}
\begin{document}
\phonc
{\phonfeat{$-$cnt\\ +hi}}
{[$\alpha$grv]}
{\oneof{%
\phonfeat{$-$cnt\\ $\alpha$grv}\phold\\
\phold\phonfeat{$-$cnt\\ $\alpha$vce}%
}}
\end{document}
我的主要问题是“when”斜线后面出现的内容:
(1)该包仅提供了一个左花括号 - 我怎样才能添加一个右花括号?
(2) 大括号内的两个选项对齐不太好。我认为对比两张图片本身比用文字表达更能说明问题。
答案1
你可以看看phonrule
我为phonrule 包中的 \oneof 对齐
现在,我们可以定义一个变体,\oneof
其中添加了右括号并删除了列之间的空格。
\documentclass{article}
% BEGIN reimplementation of phonrule
\providecommand*{\textrightarrow}{\ensuremath{\rightarrow}}
\providecommand*{\textplus}{\ensuremath{+}}
\providecommand*{\textminus}{\ensuremath{-}}
\newcommand*{\phold}{\rule[-1.5pt]{1.5ex}{.5pt}}
\newcommand*{\phon}[2]{#1 \textrightarrow{} #2}
\newcommand*{\phonc}[3]{\phon{#1}{#2}~/~#3}
\newcommand*{\phonr}[3]{\phon{#1}{#2}~/~\phold#3}
\newcommand*{\phonl}[3]{\phon{#1}{#2}~/~#3\phold}
\newcommand*{\phonb}[4]{\phonl{#1}{#2}{#3}#4}
\makeatletter
\newcommand*{\env}{\@ifstar{\@env{&}}{\@env{~}}}
\newcommand*{\@env}[3]{#2~/#1#3}
\newcommand*{\envr}{\@ifstar{\@envr{&}}{\@envr{~}}}
\newcommand*{\@envr}[3]{\@env{#1}{#2}{\phold#3}}
\newcommand*{\envl}{\@ifstar{\@envl{&}}{\@envl{~}}}
\newcommand*{\@envl}[3]{\@env{#1}{#2}{#3\phold}}
\newcommand*{\envb}{\@ifstar{\@envb{&}}{\@envb{~}}}
\newcommand*{\@envb}[4]{\@env{#1}{#2}{#3\phold#4}}
% set environment for feature matrix with square brackets
\newcommand*{\phonfeat}[1]{%
\ensuremath{%
\left[\begin{tabular}{c}#1\end{tabular}\right]%
}%
}
\newcommand*{\oneof}[2][c]{%
\ensuremath{%
\left\{
\begin{tabular}{#1#1}#2\end{tabular}
\right.
}%
}
\makeatother
% END
\newcommand{\oneofvar}[2][c]{%
\ensuremath{%
\left\{
\begin{tabular}{#1@{}#1}#2\end{tabular}
\right\}
}%
}
\begin{document}
\phonc
{\phonfeat{$-$cnt\\ +hi}}
{[$\alpha$grv]}
{\oneofvar{%
\phonfeat{$-$cnt\\ $\alpha$grv} & \hrulefill \\
\hrulefill & \phonfeat{$-$cnt\\ $\alpha$vce}%
}}
\end{document}
答案2
这是一个看起来不错的版本。我\twoof
为第二个括号添加了一个命令,并制作了一个更长的\phold
命令\Phold
。由于底层命令是表格形式,您可以将任何表格规范传递给它,因此我删除了列间空格以使对齐看起来更好一些。
\documentclass{article}
\usepackage{phonrule}
\usepackage{amsmath}
\newcommand*{\twoof}[2][c]{%
\ensuremath{%
\left\{
\begin{tabular}{#1#1}#2\end{tabular}
\right\}
}%
}
\newcommand*{\Phold}{\rule[-4pt]{2.5em}{.5pt}}
\begin{document}
\phonc
{\phonfeat{$-$cnt\\ +hi}}
{[$\alpha$grv]}
{\twoof[@{}c@{}]{%
\phonfeat{$-$cnt\\ $\alpha$grv} & \Phold\\
\Phold & \phonfeat{$-$cnt\\ $\alpha$vce}%
}}
\end{document}
答案3
使用egreg 的回答作为基础,并融入一些艾伦的回答除了添加一些我自己的内容外,我还决定这样做(删除这个 MWE 不需要的行):
\documentclass{article}
\providecommand*{\textrightarrow}{\ensuremath{\rightarrow}}
\makeatletter
\newcommand*{\phoncrossbar}{\leavevmode\leaders\hrule height .5pt\hfill\kern\z@}
\newcommand*{\phon}[2]{#1 \textrightarrow{} #2}
\newcommand*{\phonc}[3]{\phon{#1}{#2}~/~#3}
\newcommand*{\phonfeat}[1]{%
\ensuremath{%
\left[\begin{tabular}{@{}l@{}}#1\end{tabular}\right]%
}%
}
\newcommand*{\phonbraces}[2][@{}c@{}]{% for curly braces on both sides
\ensuremath{%
\left\{
\begin{tabular}{#1#1}#2\end{tabular}
\right\}%
}}
\makeatother
\begin{document}
\phonc
{\phonfeat{$-$cnt\\ +hi}}
{[$\alpha$grv]}
{\phonbraces{%
\phonfeat{$-$cnt\\ $\alpha$grv} & \phoncrossbar\\
\\
\phoncrossbar & \phonfeat{$-$cnt\\ $\alpha$vce}%
}}
\end{document}
我对 egreg 的回答做了如下修改:
(1)创建了一个与此处其他地方使用的规则具有相同粗细(0.5pt)的\hrulefill
版本\phoncrossbar
。
(2)在和@{}c@{}
的定义中添加了删除矩阵中和括号周围的多余空格(这也是它在文献中的正常表现)。\phonfeat
\phonbraces
(3)将特征矩阵中的特征左对齐(这是常态)。