Estoy intentando (más o menos) replicar esta regla de reescritura fonológica:
estoy usando el paquetephonrule
, y lo que logro lograr es esto:
\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}
Mi principal problema aquí es lo que aparece después de la barra "cuándo":
(1) El paquete solo proporciona un corchete izquierdo. ¿Cómo puedo agregar uno derecho también?
(2) Las dos opciones entre llaves no están bien alineadas. Creo que comparar las dos imágenes lo dice mejor que lo que podría hacer con palabras.
Respuesta1
Puedes ver la reimplementación de phonrule
lo que hice paraAlineación en \oneof del paquete phonrule
Ahora podemos definir una variante de \oneof
donde se agrega la llave de cierre y se elimina el espacio entre columnas.
\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}
Respuesta2
Aquí hay una versión que se ve bien. Agregué un \twoof
comando para la segunda llave e hice un \phold
comando más largo \Phold
. Dado que los comandos subyacentes son tabulares, puede pasarles cualquier especificación tabular, por lo que eliminé el espacio entre columnas para que la alineación se vea un poco mejor.
\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}
Respuesta3
Usandola respuesta de egregcomo base, e incorporando algo dela respuesta de alanAdemás de agregar algunas cosas mías, me decidí por esto (eliminando líneas que no necesito para este 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}
Lo que he cambiado de la respuesta de egreg es esto:
(1) Creé una versión de \hrulefill
call \phoncrossbar
que tiene el mismo grosor (0,5 puntos) que las reglas utilizadas en otros lugares aquí.
(2) Se agregó @{}c@{}
a la definición \phonfeat
y \phonbraces
se elimina el espacio en blanco adicional en las matrices y alrededor de las llaves (así es como se ve normalmente en la literatura).
(3) Alineó a la izquierda las características en la matriz de características (que es la norma).