\enumsentence
我正在使用带有内部的lingmacros \psmatrix
。
\enumsentence{
\psset{linewidth=.5pt}
\begin{psmatrix}[rowsep=.2cm,nodesep=.05cm,colsep=.1cm]
&\rnode{gm}{grammatical morphemes}\\
\rnode{m}{\textit{bound}}&&\rnode{s}{free}\\
&\rnode{h}{\textit{head}}&&\rnode{d}{dependent}\\
&&\rnode{c}{\textit{complement}}&&\rnode{mod}{\textit{modifier}}
\ncline{gm}{m}\ncline{gm}{s}
\ncline{s}{h}\ncline{s}{d}
\ncline{d}{c}\ncline{d}{mod}
\end{psmatrix}
}
这会导致示例编号与 底部对齐
psmatrix
。我希望它与顶部对齐。通常,我认为
minipage
是用于这种事情的。然而,
minipage
在这种情况下,这似乎没有帮助(我不知道为什么。)
我找到了一个似乎有类似问题的帖子这里。但我没有看到给出的答案。
有任何想法吗?
编辑:在回复评论时,我添加了一个最小的工作示例:
\documentclass{article}
\usepackage{pstricks,pst-node}
\usepackage{lingmacros}
\begin{document}
\enumsentence{
\psset{linewidth=.5pt}
\begin{psmatrix}[rowsep=.2cm,nodesep=.05cm,colsep=.1cm]
&\rnode{gm}{grammatical morphemes}\\
\rnode{m}{\textit{bound}}&&\rnode{s}{free}\\
&\rnode{h}{\textit{head}}&&\rnode{d}{dependent}\\
&&\rnode{c}{\textit{complement}}&&\rnode{mod}{\textit{modifier}}
\ncline{gm}{m}\ncline{gm}{s}
\ncline{s}{h}\ncline{s}{d}
\ncline{d}{c}\ncline{d}{mod}
\end{psmatrix}
}
\end{document}
上述代码可以编译,但会产生与上述基线对齐的示例编号psmatrix
。
答案1
有人可能会考虑使用包\adjustbox
中的adjustbox
,但事实证明,该包与 不兼容,pstricks
因为它们都定义了\clipbox
。一种解决方法是在我们需要的情况下模拟包的功能:
\documentclass{article}
\usepackage{pstricks,pst-node}
\usepackage{lingmacros}
\newcommand{\tstrut}{\vrule width 0pt height\ht\strutbox depth 0pt}
\begin{document}
\enumsentence{\raisebox{\dimexpr-\height+\ht\strutbox}{%
\psset{linewidth=.5pt}
\begin{psmatrix}[rowsep=.2cm,nodesep=.05cm,colsep=.1cm]
&\rnode{gm}{\tstrut grammatical morphemes}\\
\rnode{m}{\textit{bound}}&&\rnode{s}{free}\\
&\rnode{h}{\textit{head}}&&\rnode{d}{dependent}\\
&&\rnode{c}{\textit{complement}}&&\rnode{mod}{\textit{modifier}}
\ncline{gm}{m}\ncline{gm}{s}
\ncline{s}{h}\ncline{s}{d}
\ncline{d}{c}\ncline{d}{mod}
\end{psmatrix}}%
}
\end{document}
诀窍是降低其psmatrix
高度减去标准支柱的高度。但是,矩阵中的第一条线必须与支柱一样高(但不能低于基线那么深,否则线条会被剪掉),所以我定义了一个“顶部支柱”。
或者,您可以加载adjustbox
,但需要一些技巧使其与兼容;的pstricks
宏(这里不需要)变成。\clipbox
adjustbox
\adjclipbox
\documentclass{article}
\usepackage{pstricks,pst-node}
%%% trick for using adjustbox
\let\pstricksclipbox\clipbox
\let\clipbox\relax
\usepackage{adjustbox}
\let\adjclipbox\clipbox
\let\clipbox\pstricksclipbox
%%% end
\usepackage{lingmacros}
\begin{document}
\enumsentence{\begin{adjustbox}{valign=t}
\psset{linewidth=.5pt}
\begin{psmatrix}[rowsep=.2cm,nodesep=.05cm,colsep=.1cm]
&\rnode{gm}{grammatical morphemes}\\
\rnode{m}{\textit{bound}}&&\rnode{s}{free}\\
&\rnode{h}{\textit{head}}&&\rnode{d}{dependent}\\
&&\rnode{c}{\textit{complement}}&&\rnode{mod}{\textit{modifier}}
\ncline{gm}{m}\ncline{gm}{s}
\ncline{s}{h}\ncline{s}{d}
\ncline{d}{c}\ncline{d}{mod}
\end{psmatrix}
\end{adjustbox}%
}
\end{document}