从上到下带有 tikz 依赖关系的 Xibe 依赖关系树的文本

从上到下带有 tikz 依赖关系的 Xibe 依赖关系树的文本

我正在写一篇关于锡伯语的论文,锡伯语是一种通古斯语,在中国使用。锡伯语是用蒙古文的一种变体书写的,书写方式是从上到下。

我尝试过使用 XeLaTeX 和tikz-dependencyrotatebox:

\documentclass[10pt, a4paper]{article}
\usepackage{tikz}
\usepackage{tikz-dependency}
\usetikzlibrary{%
    shapes,%
    arrows,%
    positioning,%
    calc,%
    automata%
}
\tikzset{/depgraph/.cd,/depgraph/.search also = {/tikz},
    baseline=-0.6ex, inner sep=-0.1cm, edge horizontal padding=3pt, edge unit distance=1.8ex}

\usepackage{fontspec}
\setmainfont{FreeSerif}
\newfontfamily{\dcw}[Scale=1.5]{Ab-Xy.ttf}%

\begin{document}
\begin{figure}
\center
 \rotatebox{-90}{%
\begin{dependency}
  \begin{deptext}%[column sep=1mm,column 1/.style={anchor=base west}]
    {\dcw ᡞ}  \& {\dcw ᠰᠣᡢᡤᠣᠷᠣᡢᡤᡝ} \& {\dcw ᠠᠪᠰᡞ }  \& {\dcw ᡠᠰᠠᠴᡠᡣᠠ}  \& {\dcw 。} \\
    \emph{i} \& \emph{songgorongge} \& \emph{absi} \& \emph{usacuka} \& .\\
  \end{deptext}
  \depedge{2}{1}{nsubj}
  \depedge{2}{4}{advmod}
  \depedge{4}{3}{advmod}
  \depedge{4}{5}{punct}
\end{dependency}
}
\caption{Dependency tree for the sentence \emph{I songgorongge absi usacuka.} `He cried so sadly.'}\label{dep:sadly}
\end{figure}

\end{document}

此处的示例输出:

在此处输入图片描述

但我一直在努力让依赖关系显示为水平而不是垂直。我认为如果能选择让音译显示为水平而不是垂直,那就太好了。

有任何想法吗?

如果我将rotate=90其相加,\depedge则得到:

在此处输入图片描述

这不太正确,因为它会弄乱弧线。所以我想得到像1以及类似2

现在,感谢下面的答案,我得到了3

在此处输入图片描述

如果拉丁文的音标也能从上到下就好了,例如

i

s
o
n
g
g
o
r
o
n
g
g
e

a
b
s
i

u
s
a
c
u
k
a
.

答案1

您可以通过向宏中添加label style={...来调整标签的样式。这样,您就可以只旋转标签。我从下面的代码中删除了所有不必要的内容,还稍微调整了标签的填充以防止重叠。(我还更改了蒙古字体,因为我手头只有这一种。)}\tikzset

\documentclass[10pt, a4paper]{article}
\usepackage{tikz}
\usepackage{tikz-dependency}

\tikzset{/depgraph/.cd, edge vertical padding=5pt, edge unit distance=3.5ex, label style={rotate=90}}

\usepackage{fontspec}
\setmainfont{FreeSerif}
\newfontfamily{\dcw}[Scale=1.5]{NotoSansMongolian-Regular.ttf}

\begin{document}
\begin{figure}
  \centering
  \rotatebox{-90}{ 
    \begin{dependency},
      \begin{deptext}
        {\dcw ᡞ}  \& {\dcw ᠰᠣᡢᡤᠣᠷᠣᡢᡤᡝ} \& {\dcw ᠠᠪᠰᡞ }  \& {\dcw ᡠᠰᠠᠴᡠᡣᠠ}  \& {\dcw 。} \\
        \emph{i} \& \emph{songgorongge} \& \emph{absi} \& \emph{usacuka} \& . \\
      \end{deptext}
      \depedge{2}{1}{nsubj}
      \depedge{2}{4}{advmod}
      \depedge{4}{3}{advmod}
      \depedge{4}{5}{punct}
    \end{dependency}
  }
  \caption{Dependency tree for the sentence \emph{I songgorongge absi usacuka.} `He cried so sadly.'}\label{dep:sadly}
\end{figure}

\end{document}

结果:

在此处输入图片描述


我认为垂直拉丁文本(字形直立)阅读起来不是特别好。但是,如果你真的想这样……

当然还有更复杂的方法可以解决这个问题。但为了简单起见,您可以使用包stackengine。不过,您需要在所有字母之间留出空格……

\documentclass[10pt, a4paper]{article}
\usepackage{tikz}
\usepackage{tikz-dependency}

\tikzset{/depgraph/.cd, edge vertical padding=5pt, edge unit distance=3.5ex, label style={rotate=90}}

\usepackage{fontspec}
\setmainfont{FreeSerif}
\newfontfamily{\dcw}[Scale=1.5]{NotoSansMongolian-Regular.ttf}

\usepackage{stackengine}
\setstackgap{L}{.8em}
\newcommand{\ltn}[1]{\rotatebox{90}{\itshape\Longstack{#1}}}

\begin{document}
\begin{figure}
  \centering
  \rotatebox{-90}{ 
    \begin{dependency},
      \begin{deptext}
        {\dcw ᡞ}  \& {\dcw ᠰᠣᡢᡤᠣᠷᠣᡢᡤᡝ} \& {\dcw ᠠᠪᠰᡞ }  \& {\dcw ᡠᠰᠠᠴᡠᡣᠠ}  \& {\dcw 。} \\
        \ltn{i} \& \ltn{s o n g g o r o n g g e} \& \ltn{a b s i} \& \ltn{u s a c u k a} \& \ltn{.} \\
      \end{deptext}
      \depedge{2}{1}{nsubj}
      \depedge{2}{4}{advmod}
      \depedge{4}{3}{advmod}
      \depedge{4}{5}{punct}
    \end{dependency}
  }
  \caption{Dependency tree for the sentence \emph{I songgorongge absi usacuka.} `He cried so sadly.'}\label{dep:sadly}
\end{figure}

\end{document}

结果:

在此处输入图片描述

不过,我宁愿选择第一个带有旋转文本的解决方案。

相关内容