-----------------------
+2015-04-20 Jürgen Spitzmüller <spitz@lyx.org>
+ * Format incremented to 487: Support the forest environment of the forest package.
+ Note that this inset does not escape brackets in braces, i.e. [ and ] are output
+ verbatim, not as {[] and {]}.
+
2015-04-20 Jürgen Spitzmüller <spitz@lyx.org>
* Format incremented to 486: Support item arguments in the
"Numbered Examples (consecutive)" and "Subexample" layouts of
\TestPackage{float}
\TestPackage{fontspec}
\TestPackage{footmisc}
+\TestPackage{forest}
\TestPackage{framed}
\TestPackage{geometry}
\TestPackage{graphicx}
#LyX 2.2 created this file. For more info see http://www.lyx.org/
-\lyxformat 486
+\lyxformat 487
\begin_document
\begin_header
\textclass article
vorgestellt, die spezifisch
auf die Bedürfnisse von Linguistinnen und Linguisten ausgerichtet sind.
Es wird gezeigt, wie nummerierte Beispiele, Glossen, OT-Tableaux, semantische
- Auszeichnung und phonetische Notation (IPA) erzeugt werden können.
+ Auszeichnung, Strukturbäume und phonetische Notation (IPA) erzeugt werden
+ können.
\end_layout
\begin_layout Section
) verändert werden.
\end_layout
+\begin_layout Section
+Linguistische Strukturbäume
+\end_layout
+
+\begin_layout Standard
+Mittlerweile gibt es mehrere \SpecialChar LaTeX
+-Pakete, die bei der Erstellung von Strukturbäumen
+ helfen.
+ \SpecialChar LyX
+ unterstützt das Paket
+\family sans
+forest
+\family default
+, welches hohe Flexibilität und Mächtigkeit mit einer intuitiven Syntax
+ vereint.
+ Das Linguistik-Modul enthält eine Strukturbaum-Einfügung, die unter
+\family sans
+Einfügen\SpecialChar menuseparator
+Benutzerdefinierte Einfügungen
+\family default
+ zu finden ist.
+ Innerhalb dieser Einfügung können Sie die Klammernotation verwenden, die
+ das Paket
+\family sans
+forest
+\family default
+ (wie auch andere Pakete, z.
+\begin_inset space \thinspace{}
+\end_inset
+
+B.
+
+\family sans
+qtree
+\family default
+) anbietet.
+\end_layout
+
+\begin_layout Standard
+Hier ist ein einfaches Beispiel:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[D[einen]][NP[Brief]]] ]
+ ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Wenn Sie die PDF-Ausgabe ansehen, sehen Sie, dass die Notation
+\end_layout
+
+\begin_layout Quote
+
+\family typewriter
+\size footnotesize
+[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[D[einen]][NP[Brief]]]]]
+\end_layout
+
+\begin_layout Standard
+als Strukturbaum ausgegeben wird.
+ Um das Ergebnis bereits im \SpecialChar LyX
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+"=
+\end_layout
+
+\end_inset
+
+Eingabefenster zu sehen, können Sie die Strukturbaum-Einfügung einfach in
+ eine Vorschau-Einfügung (
+\family sans
+Einfügen\SpecialChar menuseparator
+Vorschau
+\family default
+) einbetten.
+ Wenn
+\begin_inset Quotes gld
+\end_inset
+
+Sofortige Vorschau
+\begin_inset Quotes grd
+\end_inset
+
+ richtig eingerichtet und aktiviert ist, sollten Sie den Baum sofort sehen
+ (zur Bearbeitung klicken Sie einfach auf das Bild):
+\end_layout
+
+\begin_layout Standard
+\begin_inset Preview
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Maria]] [V' [V[schickt]] [DP[Hans]] [DP[D[eine]][NP[Antwort]]] ]
+ ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Dächer (
+\begin_inset Quotes gld
+\end_inset
+
+roofs
+\begin_inset Quotes grd
+\end_inset
+
+) können mittels der Option
+\begin_inset Quotes gld
+\end_inset
+
+triangle
+\begin_inset Quotes grd
+\end_inset
+
+ erzeugt werden (beachten Sie, dass Kommata eine spezielle Bedeutung haben;
+ sie markieren Optionen):
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[einen weiteren Brief, triangle]]
+ ] ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Um die Knoten des Baums besser auszurichten, verwenden Sie die Option
+\begin_inset Quotes gld
+\end_inset
+
+tier
+\begin_inset Quotes grd
+\end_inset
+
+.
+ Alle Knoten, denen dieselbe
+\begin_inset Quotes gld
+\end_inset
+
+tier
+\begin_inset Quotes grd
+\end_inset
+
+ (Ebene) zugewiesen wurde, werden in einer vertikalen Linie ausgerichtet.
+ Hier ist ein Beispiel:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Hans, tier=word]] [V' [V[schickt, tier=word]] [DP[Maria, tier=word]]
+ [DP[D[einen, tier=word]][NP[Brief, tier=word]]] ] ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Das Paket bietet viel mehr Möglichkeiten, wie bspw.
+ Bewegungspfeile und Dekorationen.
+ Sie können hier nicht eingehend besprochen werden.
+ Bitte konsultieren Sie die ausführliche Dokumentation des Pakets
+\begin_inset CommandInset citation
+LatexCommand cite
+key "forest"
+
+\end_inset
+
+.
+\end_layout
+
\begin_layout Section
Phonetische Notation (IPA)
\end_layout
.
\end_layout
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "forest"
+
+\end_inset
+
+Das forest-Paket:
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/macros/latex/contrib/forest/
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
\begin_layout Bibliography
\begin_inset CommandInset bibitem
LatexCommand bibitem
#LyX 2.2 created this file. For more info see http://www.lyx.org/
-\lyxformat 486
+\lyxformat 487
\begin_document
\begin_header
\textclass article
This paper describes some features that \SpecialChar LyX
provides to linguists.
It demonstrates how to use some native support in order to produce numbered
- examples, glosses, OT tableaux, semantic markup, and phonetic symbols (IPA).
+ examples, glosses, OT tableaux, semantic markup, structure trees, and phonetic
+ symbols (IPA).
\end_layout
\begin_layout Section
.
\end_layout
+\end_deeper
+\begin_layout Enumerate
+
+\emph on
+forest.sty
+\emph default
+
+\begin_inset CommandInset citation
+LatexCommand cite
+key "forest"
+
+\end_inset
+
+: This package is used to generate structure trees.
+\begin_inset Separator parbreak
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Installed on your system:
+\begin_inset Info
+type "package"
+arg "forest"
+\end_inset
+
+.
+\end_layout
+
\end_deeper
\begin_layout Section
Numbered examples
) can be modified.
\end_layout
+\begin_layout Section
+Linguistic structure trees
+\end_layout
+
+\begin_layout Standard
+Meanwhile, many \SpecialChar LaTeX
+ are available which help producing structure trees.
+ \SpecialChar LyX
+ supports the
+\family sans
+forest
+\family default
+ package, which combines high flexibility and mightiness with a comfortable
+ input syntax.
+ The Linguistics module provides a Structure Tree inset, which can be inserted
+ via
+\family sans
+Insert\SpecialChar menuseparator
+Custom Insets
+\family default
+.
+ Within this inset, you can insert the bracket notation used by
+\family sans
+forest
+\family default
+ (and also by other similar packages such as
+\family sans
+qtree
+\family default
+).
+\end_layout
+
+\begin_layout Standard
+Here is a simple example:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[D[a]][NP[letter]]] ] ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+If you view the PDF output, you will see that the input
+\end_layout
+
+\begin_layout Quote
+
+\family typewriter
+\size small
+[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[D[a]][NP[letter]]]]]
+\end_layout
+
+\begin_layout Standard
+expands to a real structure tree.
+ To view the result within the \SpecialChar LyX
+ workarea, you can simply embed the Structure
+ Tree inset into a Preview inset (
+\family sans
+Insert\SpecialChar menuseparator
+Preview
+\family default
+).
+ If instant preview is correctly installed and activated, you should see
+ the tree immediately (just click on the image in order to edit):
+\end_layout
+
+\begin_layout Standard
+\begin_inset Preview
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Mary]] [V' [V[sent]] [DP[John]] [DP[D[a]][NP[response]]] ] ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Roofs can be easily generated by means of the
+\begin_inset Quotes eld
+\end_inset
+
+triangle
+\begin_inset Quotes erd
+\end_inset
+
+ option (note that the comma has special meaning, as it marks options):
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[another letter, triangle]] ]
+ ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+In order to align nodes of the tree more elegantly, use the
+\begin_inset Quotes eld
+\end_inset
+
+tier
+\begin_inset Quotes erd
+\end_inset
+
+ option.
+ All nodes which have the same
+\begin_inset Quotes eld
+\end_inset
+
+tier
+\begin_inset Quotes erd
+\end_inset
+
+ allocated get aligned.
+ Here is an example:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[John,tier=word]] [V' [V[sent,tier=word]] [DP[Mary,tier=word]] [DP[D[a,ti
+er=word]][NP[letter,tier=word]]] ] ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+The package supports many additional features, such as movement arrows and
+ decorations, that cannot documented here (please refer to the detailed
+ package documentation
+\begin_inset CommandInset citation
+LatexCommand cite
+key "forest"
+
+\end_inset
+
+).
+\end_layout
+
\begin_layout Section
Phonetic Symbols (IPA)
\end_layout
.
\end_layout
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "forest"
+
+\end_inset
+
+The forest package:
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/macros/latex/contrib/forest/
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
\begin_layout Bibliography
\begin_inset CommandInset bibitem
LatexCommand bibitem
-#\DeclareLyXModule[covington.sty]{Linguistics}
+#\DeclareLyXModule[covington.sty,enumitem.sty,forest.sty]{Linguistics}
#DescriptionBegin
#Defines some special environments useful for linguistics (numbered examples,
#glosses, semantic markup, tableau floats).
ResetsFont true
End
+# Structure trees via the forest package
+InsetLayout Flex:Structure_Tree
+ LyXType custom
+ LabelString Tree
+ LatexType environment
+ LatexName forest
+ Decoration classic
+ LabelFont
+ Size Small
+ EndFont
+ MultiPar true
+ CustomPars false
+ ParbreakIsNewline true
+ FreeSpacing true
+ Requires forest
+ ResetsFont true
+ PassThruChars []
+End
+
# Some semantik markup for Semantics
InsetLayout Flex:Expression
("1_6", list(range(277,346)), minor_versions("1.6" , 10)),
("2_0", list(range(346,414)), minor_versions("2.0" , 8)),
("2_1", list(range(414,475)), minor_versions("2.1" , 0)),
- ("2_2", list(range(475,487)), minor_versions("2.2" , 0))
+ ("2_2", list(range(475,488)), minor_versions("2.2" , 0))
]
####################################################################
i += 1
+def revert_forest(document):
+ " Reverts the forest environment (Linguistics module) to TeX-code "
+
+ # Do we use the linguistics module?
+ have_mod = False
+ mods = document.get_module_list()
+ for mod in mods:
+ if mod == "linguistics":
+ have_mod = True
+ continue
+
+ if not have_mod:
+ return
+
+ i = 0
+ while True:
+ i = find_token(document.body, "\\begin_inset Flex Structure Tree", i)
+ if i == -1:
+ return
+ j = find_end_of_inset(document.body, i)
+ if j == -1:
+ document.warning("Malformed LyX document: Can't find end of Structure Tree inset")
+ i += 1
+ continue
+
+ beginPlain = find_token(document.body, "\\begin_layout Plain Layout", i)
+ endPlain = find_end_of_layout(document.body, beginPlain)
+ content = lyx2latex(document, document.body[beginPlain : endPlain])
+ document.warning("content: %s" % content)
+
+ add_to_preamble(document, ["\\usepackage{forest}"])
+
+ document.body[i:j + 1] = ["\\begin_inset ERT", "status collapsed", "",
+ "\\begin_layout Plain Layout", "", "\\backslash",
+ "begin{forest}", "\\end_layout", "", "\\begin_layout Plain Layout",
+ content, "\\end_layout", "", "\\begin_layout Plain Layout",
+ "\\backslash", "end{forest}", "", "\\end_layout", "", "\\end_inset"]
+ # no need to reset i
+
+
##
# Conversion hub
#
[483, [convert_specialchar]],
[484, []],
[485, []],
- [486, []]
+ [486, []],
+ [487, []]
]
revert = [
+ [485, [revert_forest]],
[485, [revert_ex_itemargs]],
[484, [revert_sigplan_doi]],
[483, [revert_georgian]],
"tcolorbox",
"pdfcomment",
"fixme",
- "todonotes"
+ "todonotes",
+ "forest"
};
char const * bibliofeatures[] = {
// Do not remove the comment below, so we get merge conflict in
// independent branches. Instead add your own.
-#define LYX_FORMAT_LYX 486 // spitz: support item argument in linguistic examples
-#define LYX_FORMAT_TEX2LYX 486
+#define LYX_FORMAT_LYX 487 // spitz: support for forest environment
+#define LYX_FORMAT_TEX2LYX 487
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
#ifndef _MSC_VER