Ich habe folgendes Tex-Dokument:
\documentclass[10pt]{article}
\ExpandArgs{c}\newcommand{new@fontshape}{anything}
\usepackage{linguex}
\usepackage[russian,indonesian]{babel}
\usepackage[none]{hyphenat}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{amssymb}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{gb4e}
\primebars
\let\emptyset\varnothing
\geometry{
a4paper,
total={170mm,257mm},
left=20mm,
top=20mm,
}
\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}
\begin{document}
\noindent {\LARGE \bf Uraian pohon sintaksis}\\
\begin{exe}
\ex{{\bf (RU)}
\tikzset{grow'=right}
\tikzset{every tree node/.style={align = left, anchor=base west}}
\tikzset{frontier/.style={distance from root=170pt}}
\tikzset{execute at begin node=\strut}
\Tree [.K [.FN {\?{\it Путин}\\ Putin} ] [.FV [.V {\?{\it опроверг}\\ membantah} ] [.FN [.FN [. N {\?{\it дискриминацию}\\ diskriminasi\textsc{.aku}} ] [.N {\?{\it геев}\\ gay\textsc{.jam.gen}} ] ] [.FV [.P {\?{\it в}\\ di} ] [.N\textsc{.part} {\?{\it России}\\ Rusia\textsc{.prep}} ] ] ] ] ] }
\end{exe}
\end{document}
Alles lief gut, bis die Zeilen bei mehrzeiligen Wörtern aufeinandertreffen. Wie kann ich mein Dokument verbessern, sodass die Wörter gleichmäßig verteilt sind und die Zeilen alle gerade sind?
Ich möchte, dass die Linien gerade sind, so wie diese:
Ich habe es mit \tikzset{sibling distance=18pt}
einem Argument versucht, aber dadurch wurde nur die Entfernung größer, die Linien wurden jedoch nicht gerade:
Antwort1
[BearbeitenSiehe tikz-qtree
Lösung unten. forest
Ist aber flexibler.]
In forest
ist es einfach, den Baum nach Ihren Wünschen zu formatieren. Hier ist eine forest
Lösung. Beachten Sie, dass Ihr Code auf meinem Computer mf
Schriftarten anstelle eines skalierbaren Formats verwendet, was wahrscheinlich nicht das ist, was Sie möchten, aber das kann eine Funktion der Minimierung des Beispiels sein. Ich habe den Code für diese Frage weiter minimiert.
qtree
Die Syntax ist / nicht unähnlich tikz-qtree
, aber es gibt keine Punkte, und untergeordnete Elemente benötigen eckige Klammern, auch wenn keine Verzweigung vorhanden ist.
\documentclass[border=10pt,10pt]{standalone}
\usepackage[russian,indonesian]{babel}
\usepackage[linguistics]{forest}
\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}
\begin{document}
\begin{forest}
for tree={%
grow=0,
anchor=base west,
},
where n children=0{%
tier=terminus,
calign with current edge,
align=left,
}{%
font=\scshape,
},
[K
[FV
[FN
[FV
[P [\?{\itshape в}\\ di] ]
[N.part [\?{\itshape России}\\ Rusia\textsc{.prep}] ]
]
[FN
[N [\?{\itshape геев}\\ gay\textsc{.jam.gen}] ]
[N [\?{\itshape дискриминацию}\\ diskriminasi\textsc{.aku}] ]
]
]
[V [\?{\itshape опроверг}\\membantah] ]
]
[FN [\?{\itshape Путин}\\ Putin ] ]
]
\end{forest}
\end{document}
Ich habe auch veraltete Schriftbefehle aktualisiert.
Ich werde kein Bild posten, da ein Fehler im neuesten Okular auf X dazu führt, dass meine Bilder alle schrecklich aussehen, unabhängig von der tatsächlichen Ausgabe, also hat es nicht viel Sinn. Entschuldigen Sie das Versäumnis.
BEARBEITEN
Wenn Sie verwenden möchten tikz-qtree
, funktioniert die Einstellung anchor=west
anstelle von :anchor=base west
\documentclass[10pt]{article}
\usepackage{linguex}
\usepackage[russian,indonesian]{babel}
\usepackage{tikz-qtree}
\usepackage{gb4e}
\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}
\begin{document}
\begin{exe}
\ex{{\bfseries (RU)}
\tikzset{%
grow'=right,
every tree node/.style={anchor=west,align=left},
frontier/.style={distance from root=170pt},
execute at begin node=\strut,
}
\begin{tikzpicture}
\Tree [.K [.FN {\?{\itshape Путин}\\ Putin} ] [.FV [.V {\?{\itshape опроверг}\\ membantah} ] [.FN [.FN [. N {\?{\itshape дискриминацию}\\ diskriminasi\textsc{.aku}} ] [.N {\?{\itshape геев}\\ gay\textsc{.jam.gen}} ] ] [.FV [.P {\?{\itshape в}\\ di} ] [.N\textsc{.part} {\?{\itshape России}\\ Rusia\textsc{.prep}} ] ] ] ] ]
\end{tikzpicture}%
}
\end{exe}
\end{document}
Ich weiß nicht, warum ich nicht gleich darauf gekommen bin …