
Ich versuche, mit dem forest
Paket einen linguistischen Baum zu erstellen, wie im zweiten Beispiel indieser Thread. Den Baum konnte ich größtenteils erzeugen, aber aus irgendeinem Grund kann ich das Dreieck nicht zeichnen.
Hier ist mein MWE:
\documentclass{article}
\usepackage{forest}
\usepackage{amsmath,amsfonts,amssymb}
\begin{document}
\begin{forest}
for tree={
if n children =0{
font=\itshape,
tier=terminal
}{},
}
[TP
[NP
[Det
[The]
]
[$\bar{N}$
[N
[ice]
]
]
]
[$\bar{T}$
[T
[+pst,font=\scshape]
]
[VP
[$\bar{V}$
[V
[melt]
]
]
[AdvP
[quickly,triangle]
]
]
]
]
\end{forest}
\end{document}
Wenn ich dies ausführe, erhalte ich die folgende Fehlermeldung:
! Package pgfkeys Error: I do not know the key '/tikz/triangle' and I am going to ignore it. Perhaps you misspelled it. See the pgfkeys package documentation for explanation. Type H for immediate help.... \end{forest}
Ich verwende Texmaker 4.4.1 auf MiKTeX 2.9. Meine pgf
Version ist 3.0.1a und ich verwende pdfTeX Version 3.1415926-2.5-1.40.14. Ein Redditor konnte den Code auf pdfTeX 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) ausführen.
Interessanterweise war ich auch auf meinem MacBook mit Texmaker 4.2, TeX Live 2014, pgf
3.0.0 und pdfTeX 3.1415926-2.6-1.40.15 erfolgreich.
Gibt es vielleicht eine Möglichkeit, meine Version von herunterzustufen pgf
? Oder liegt der Fehler woanders her?
Antwort1
Als erstes sollten Sie die Version vonWalddu hast.WennDu hast die Version 2, dann gilt folgende Antwort. Hast du noch die Version 1, dann ist das irrelevant.
Vorausgesetzt, Sie haben Version 2 ...
Die neue Version vonWaldführt einige Änderungen ein, die nicht abwärtskompatibel sind. In diesem Fall betreffen uns zwei davon:
Bestimmte Optionscluster sind jetzt in Bibliotheken organisiert und müssen separat geladen werden.
Bestimmte Optionen wurden umbenannt oder existieren nicht mehr.
triangle
ist als Option überhaupt nicht mehr vorhanden. Die neue Option ist roof
. Um darauf zuzugreifen roof
, müssen Sie jedoch die linguistics
Bibliothek laden.
Der Prozess ist aus der Dokumentation nicht sehr klar ersichtlich. Das erste Problem ist, dass
texdoc forest
gibt Ihnen jetzt den dokumentierten Code, aber nicht das Benutzerhandbuch.
texdoc -l forest
bietet Ihnen die Möglichkeit, das Benutzerhandbuch anzuzeigen, das jetzt im Format vorliegt forest-doc.pdf
.
Der Mechanismus zum Laden von Bibliotheken wird auf Seite 20 erläutert.
Im Wesentlichen,
\useforestlibrary{<list of libraries>}
lädt eine Liste von Bibliotheken und
\forestapplylibrarydefaults{<list of libraries>}
wendet ihre Standardeinstellungen an und macht alle zusätzlichen Optionen usw. verfügbar.
\useforestlibrary{}
, wie \usepackage{}
und \usetikzlibrary{}
ist nur zur Verwendung in der Präambel bestimmt.
\forestapplylibrarydefaults{}
kann in der Präambel oder im Dokument verwendet werden und gilt im aktuellen TeX-Bereich.
Eine Alternative besteht darin, den Namen der Bibliothek beim Laden als Option zu übergebenWald
\usepackage[<list of libraries>]{forest}
Dies hat zur Folge, dass die Bibliotheken geladen und die Standardeinstellungen im gesamten Dokument angewendet werden.
Beachten Sie, dass
\forestapplylibrarydefaults{<libraries>}
hat keine Wirkung, sofern <libraries>
es nicht geladen wurde. Verwirrenderweise wird jedoch kein Fehler ausgegeben.
Das Ergebnis davon ist in jedem Fall, dass wir die linguistics
Bibliothek laden und anwenden und triangle
Folgendes ändern müssen roof
:
\documentclass[tikz, border=10pt, multi]{standalone}
\usepackage{forest}
\usepackage{amsmath,amsfonts,amssymb}
\useforestlibrary{linguistics}
\forestapplylibrarydefaults{linguistics}
\begin{document}
\begin{forest}
for tree={
if n children =0{
font=\itshape,
tier=terminal
}{},
}
[TP
[NP
[Det
[The]
]
[$\bar{N}$
[N
[ice]
]
]
]
[$\bar{T}$
[T
[+pst,font=\scshape]
]
[VP
[$\bar{V}$
[V
[melt]
]
]
[AdvP
[quickly,roof]
]
]
]
]
\end{forest}
\end{document}
Beachten Sie, dass sich dadurch auch die Anker und damit das Erscheinungsbild der Kanten ändern. Hoffentlich ist dies das, was Sie wollen, da ich glaube, dass dieser Stil in der Linguistik normal ist. Es bedeutet jedoch, dass Ihre Bäume etwas anders aussehen werden, wenn Sie zuvor den Standardstil für Anker und Kanten verwendet haben.