Tengo el siguiente documento de texto:
\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}
Con la siguiente composición tipográfica:
Todo salió bien hasta que las líneas se encontraron con palabras de varias líneas. ¿Cómo puedo mejorar mi documento para que las palabras se distribuyan equitativamente y las líneas queden todas rectas?
Quiero que las líneas sean rectas así:
Probé \tikzset{sibling distance=18pt}
el argumento, pero simplemente hizo que la distancia fuera mayor, no hizo que las líneas fueran rectas:
Respuesta1
[EditarVea tikz-qtree
la solución a continuación. Pero forest
es más flexible.]
En forest
, es fácil formatear el árbol según su voluntad. Por si sirve de algo, aquí tienes una forest
solución. Tenga en cuenta que, en mi máquina, su código usa mf
fuentes en lugar de un formato escalable, que probablemente no sea lo que desea, pero puede ser una función de minimizar el ejemplo. He minimizado aún más el código para los propósitos de esta pregunta.
La sintaxis no es diferente a qtree
/ tikz-qtree
, pero no hay puntos y los elementos secundarios necesitan corchetes incluso en ausencia de bifurcaciones.
\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}
También actualicé comandos de fuentes obsoletos.
No publicaré una imagen porque un error en la última versión de Okular en X significa que todas mis imágenes se ven terribles, independientemente del resultado real, por lo que no tiene mucho sentido. Disculpas por la omisión.
EDITAR
Si desea utilizar tikz-qtree
, configurar anchor=west
en lugar de anchor=base west
funciona:
\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}
No sé por qué no pensé en esto en primer lugar...