나는 이 음운론적 재작성 규칙을 (다소) 복제하려고 합니다.
패키지를 사용하고 있어요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}
여기서 내 주요 문제는 "언제" 슬래시 뒤에 나타나는 것입니다.
(1) 패키지는 왼쪽 중괄호만 제공합니다. 오른쪽 중괄호도 추가하려면 어떻게 해야 하나요?
(2) 중괄호 안의 두 옵션이 잘 정렬되지 않았습니다. 말로 하는 것보다 두 사진을 비교해 보는 것이 더 나은 것 같아요.
답변1
phonrule
I did for의 재구현을 볼 수 있습니다 .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
사용에그레그의 답변기초로, 그리고 무언가를 통합앨런의 대답내 자신의 몇 가지 비트를 추가하는 것 외에도 다음과 같이 결정했습니다(이 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) 특징 매트릭스의 특징을 왼쪽 정렬합니다(표준임).