我正在写一篇关于锡伯语的论文,锡伯语是一种通古斯语,在中国使用。锡伯语是用蒙古文的一种变体书写的,书写方式是从上到下。
我尝试过使用 XeLaTeX 和tikz-dependency
rotatebox:
\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
则得到:
现在,感谢下面的答案,我得到了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}
结果:
不过,我宁愿选择第一个带有旋转文本的解决方案。