如何删除 pst-asr 中不需要的行

如何删除 pst-asr 中不需要的行

我正在尝试用 编码音位表示pst-asr

% !TEX TS-program = latex
\documentclass{article}

\usepackage{pst-node,pst-asr,graphicx}
\usetikzlibrary{positioning, decorations.pathreplacing}
\newpsstyle{bigsyls}{extragap=.6ex,unitxgap=true,xgap=3.5ex,ts=0pt ($\times$),sy=5.5ex ($\sigma$) .7ex,ph=-4.5ex (pf)}
\newpsstyle{dashed}{linestyle=dashed,dash=3pt 2pt}
\newpsstyle{crossing}{xed=true,xedtype=\xedcirc,style=dashed}
\newpsstyle{dotted}{linestyle=dotted,linewidth=1.2pt,dotsep=1.6pt}
\def\feat#1{$\rm [#1]$}
\def\crossing{\pscircle[linestyle=solid,linewidth=.5pt](0,0){.7ex}}%
\newdimen\dimpuba
\newdimen\dimpubb
\def\TO{\quad$\rightarrow$\quad}
\tiershortcuts

\begin{document}

\asr[xgap=1.5in, yunit=3em, ts=0 (Pg), sy=0.7 ((), 
tssym=\underline{\hspace{0.5cm}}, sysym=$\times$]
\1{\phantom{A}}
\endasr}

\end{document}

输出如下:

在此处输入图片描述

我快完成了,但还有一行我无法删除。下划线符号下面的那行不应该在那里,但我不知道它为什么会出现。有人能帮我把它删掉吗?

谢谢!

答案1

那条小线来自您插入树中的额外叶子(抱歉,这里没有使用正确的术语)。在这种情况下,它是一片空\phantom{A}叶子,它只为您提供从父级()到叶子的边缘,\underline而实际上并没有渲染叶子。似乎您只是使用它来增加间距或遵守语法要求在此位置添加一些内容。

但是,该pst-asr包已经\X为此类空叶子提供了一个命令,用于移除虚假边缘。您可以将其与其他应该在此位置有叶子的节点一起使用:

\documentclass{article}
\usepackage{pst-node,pst-asr}

\begin{document}

\asr[xgap=1.5in, yunit=3em, ts=0 (Pg), sy=0.7 ((),tssym=\underline{\hspace{0.5cm}}, sysym=$\times$]
\1\X
\endasr
\hspace{2em}
\asr[xgap=2.5em, yunit=3em, ts=0 (Pg), sy=0.7 ((),tssym=\underline{\hspace{0.5cm}}, sysym=$\times$]
\3A\X B
\endasr

\end{document}

在此处输入图片描述


再想想,标准的树形图案似乎是root -- \times -- leaf。所以你实际上可能想要的是一棵空的树,而不是一片空叶。你基本上是通过将每个节点移到顶层来重建该模式。

\underline通过将作为叶节点放置,可以更轻松地实现空根:

\asr[xgap=1.5em, yunit=3em, ts=0.1 (Pg), sy=0.7]
{\underline{\hspace{0.5cm}}}A\X \2BC
\endasr

在此处输入图片描述

相关内容