summaryrefslogtreecommitdiff
path: root/macros/xetex/latex/langsci
diff options
context:
space:
mode:
Diffstat (limited to 'macros/xetex/latex/langsci')
-rw-r--r--macros/xetex/latex/langsci/README.md73
-rw-r--r--macros/xetex/latex/langsci/ccby.eps3225
-rw-r--r--macros/xetex/latex/langsci/ccbynd.eps3340
-rw-r--r--macros/xetex/latex/langsci/documentation/langsci-doc.pdfbin0 -> 84552 bytes
-rw-r--r--macros/xetex/latex/langsci/documentation/langsci-doc.tex264
-rw-r--r--macros/xetex/latex/langsci/examples/langsci-test.bib7
-rw-r--r--macros/xetex/latex/langsci/examples/samplemonograph.tex60
-rw-r--r--macros/xetex/latex/langsci/examples/samplepaper.tex57
-rw-r--r--macros/xetex/latex/langsci/examples/samplevolume.tex66
-rw-r--r--macros/xetex/latex/langsci/labphon-logo.pdfbin0 -> 27617 bytes
-rw-r--r--macros/xetex/latex/langsci/langsci-advertisement.tex17
-rw-r--r--macros/xetex/latex/langsci/langsci-avm.sty211
-rw-r--r--macros/xetex/latex/langsci/langsci-basic.sty89
-rw-r--r--macros/xetex/latex/langsci/langsci-bidi.sty17
-rw-r--r--macros/xetex/latex/langsci/langsci-cgloss.sty466
-rw-r--r--macros/xetex/latex/langsci/langsci-colors.def1
-rw-r--r--macros/xetex/latex/langsci/langsci-forest-setup.sty240
-rw-r--r--macros/xetex/latex/langsci/langsci-gb4e.sty497
-rw-r--r--macros/xetex/latex/langsci/langsci-glyphs.sty28
-rw-r--r--macros/xetex/latex/langsci/langsci-hyphenation-de.tex637
-rw-r--r--macros/xetex/latex/langsci/langsci-hyphenation-fr.tex51
-rw-r--r--macros/xetex/latex/langsci/langsci-hyphenation-pt.tex2
-rw-r--r--macros/xetex/latex/langsci/langsci-hyphenation-universal.tex3
-rw-r--r--macros/xetex/latex/langsci/langsci-lgr.sty88
-rw-r--r--macros/xetex/latex/langsci/langsci-linguex.sty441
-rw-r--r--macros/xetex/latex/langsci/langsci-optional.sty441
-rw-r--r--macros/xetex/latex/langsci/langsci-series.def167
-rw-r--r--macros/xetex/latex/langsci/langsci-subparts.sty21
-rw-r--r--macros/xetex/latex/langsci/langsci-tbls.sty207
-rw-r--r--macros/xetex/latex/langsci/langsci-textipa.sty4
-rw-r--r--macros/xetex/latex/langsci/langsci-tikz.sty25
-rw-r--r--macros/xetex/latex/langsci/langsci-tobi.sty7
-rw-r--r--macros/xetex/latex/langsci/langsci-unified.bbx682
-rw-r--r--macros/xetex/latex/langsci/langsci-unified.cbx383
-rw-r--r--macros/xetex/latex/langsci/langsci_logo_nocolor.pdfbin0 -> 16508 bytes
-rw-r--r--macros/xetex/latex/langsci/langsci_spinelogo_nocolor.pdfbin0 -> 13610 bytes
-rw-r--r--macros/xetex/latex/langsci/langscibook.cls2147
-rw-r--r--macros/xetex/latex/langsci/storagelogo.pdfbin0 -> 68294 bytes
-rw-r--r--macros/xetex/latex/langsci/tbls-alarm.pdf121
-rw-r--r--macros/xetex/latex/langsci/tbls-book.eps84
-rw-r--r--macros/xetex/latex/langsci/tbls-book.pdf110
-rw-r--r--macros/xetex/latex/langsci/tbls-bulb.eps86
-rw-r--r--macros/xetex/latex/langsci/tbls-bulb.pdf116
-rw-r--r--macros/xetex/latex/langsci/tbls-bulbon.pdf137
-rw-r--r--macros/xetex/latex/langsci/tbls-code.pdf126
-rw-r--r--macros/xetex/latex/langsci/tbls-explore.pdf106
-rw-r--r--macros/xetex/latex/langsci/tbls-filter.pdf91
-rw-r--r--macros/xetex/latex/langsci/tbls-glass.eps82
-rw-r--r--macros/xetex/latex/langsci/tbls-glass.pdf104
-rw-r--r--macros/xetex/latex/langsci/tbls-glass2.pdf68
-rw-r--r--macros/xetex/latex/langsci/tbls-law.eps92
-rw-r--r--macros/xetex/latex/langsci/tbls-law.pdf119
-rw-r--r--macros/xetex/latex/langsci/tbls-more.pdf118
-rw-r--r--macros/xetex/latex/langsci/tbls-pencil.pdf103
-rw-r--r--macros/xetex/latex/langsci/tbls-people.pdf117
-rw-r--r--macros/xetex/latex/langsci/tbls-plus.pdf114
-rw-r--r--macros/xetex/latex/langsci/tbls-r.pdf122
-rw-r--r--macros/xetex/latex/langsci/tbls-receipt.pdf131
-rw-r--r--macros/xetex/latex/langsci/tbls-refresh.pdf103
-rw-r--r--macros/xetex/latex/langsci/tbls-report.pdf117
-rw-r--r--macros/xetex/latex/langsci/tbls-test.pdf108
-rw-r--r--macros/xetex/latex/langsci/tbls-tree.pdf131
62 files changed, 16570 insertions, 0 deletions
diff --git a/macros/xetex/latex/langsci/README.md b/macros/xetex/latex/langsci/README.md
new file mode 100644
index 0000000000..4e915344f2
--- /dev/null
+++ b/macros/xetex/latex/langsci/README.md
@@ -0,0 +1,73 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Project: langsci
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2019-03-31 11:11:11 UTC
+%% Purpose: publishing boks with Language Science Press.
+%% Languages: LaTeX, tikz, eps
+%% Copyright 2012- Language Science Press
+%% Licence: This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status maintained'.%%
+%% The Current Maintainer of this work is Sebastian Nordhoff.
+%%
+%% This work consists of the files
+%% - langscibook.cls: class file
+%% - langsci-series.def: metadata for series
+%% - bib style definitions langsci-unified.bbx, langsci-unified.cbx,
+%% - files for the logos used in the textbook series Textbooks in Language Sciences: tbls-book.eps tbls-bulb.eps tbls-glass.eps tbls-law.eps
+%% - the file storagelogo.pdf as a dummy, to be replaced with a file for the hosting institution
+%% - a file advertisement.tex added to the very last page in tikz
+%% - langsci-avm.sty typeset attribute-value matrices
+%% - langsci-basic.sty for commands required by the standard template
+%% - langsci-bidi.sty: bidirectional text
+%% - langsci-forest-setup.sty: definitions for linguistic trees
+%% - langsci-gb4e.sty and langsci-cgloss.sty: typeset linguistic examples
+%% - langsci-glyphs.sty: some workarounds for Libertine font limitations
+%% - langsci-lgr.sty: shortcuts for the Leipzig Glossing Rules
+%% - langsci-linguex.sty: a version of linguex which does not break gb4e
+%% - langsci-optional.sty: additional useful commands
+%% - langsci-subparts.sty: adds an additional sectioning level between part and chapter
+%% - langsci-tbls.sty: macros for the textbook series Textbooks in Language Sciences
+%% - langsci-textipa.sty: provide some Unicode replacements for TIPA phonetic commands
+%% - langsci-tikz.sty: provide some custom commands
+%% - langsci-tobi.sty: provide commands for Tone and Break indices (ToBI)
+
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Here you find files to produce books for Language Science Press
+
+The main file is the file langscibook.cls. This defines the basic structure of the book. It makes reference to the following auxiliary files:
+
+ langsci-series.def: metadata for series
+ langsci-basic.sty for commands required by the standard template
+ bib style definitions
+ eps files for the logos used in the textbook series Textbooks in Language Sciences
+ a file for an advertisement added to the very last page in tikz
+
+The following optional packages are also provided, but have to be included manually if desired:
+
+ langsci-optional.sty: additional useful commands
+ langsci-gb4e.sty and langsci-cgloss.sty typeset linguistic examples
+ langsci-linguex.sty: a version of linguex which does not break gb4e
+ langsci-lgr.sty: the Leipzig glossing rule definitions
+ langsci-forest-setup.sty: definitions for linguistic trees
+ langsci-bidi.sty: bidirectional text
+ langsci-tbls.sty: macros for the textbook series Textbooks in Language Sciences
+ langsci-glyphs.sty: some shortcuts for font workarounds
+ langsci-subparts.sty: adds an additional sectioning level between part and chapter
+ langsci-avm.sty: attribute-value-matrices
+
+
+Documentation is found in the folder documentation/.
+
+The folder examples/ contains sample projects for the three use cases monograph, edited volume, and paper in edited volume.
+
+For more information, visit url{http://www.langsci-press.org}.
diff --git a/macros/xetex/latex/langsci/ccby.eps b/macros/xetex/latex/langsci/ccby.eps
new file mode 100644
index 0000000000..5b5c60050a
--- /dev/null
+++ b/macros/xetex/latex/langsci/ccby.eps
@@ -0,0 +1,3225 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: Adobe Illustrator(R) 8.0
+%%AI8_CreatorVersion: 13.0.1
+%%For: (Alex Roberts) ()
+%%Title: (by.eps)
+%%CreationDate: 3/27/08 4:26 PM
+%%BoundingBox: 340 278 461 321
+%%HiResBoundingBox: 340.5 278.5 460.5 320.5
+%%DocumentProcessColors: Cyan Magenta Yellow Black
+%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
+%%+ procset Adobe_ColorImage_AI6 1.3 0
+%%+ procset Adobe_Illustrator_AI5 1.3 0
+%%+ procset Adobe_cshow 2.0 8
+%%+ procset Adobe_shading_AI8 1.0 0
+%AI5_FileFormat 4.0
+%AI3_ColorUsage: Color
+%AI3_IncludePlacedImages
+%AI7_ImageSettings: 1
+%%CMYKProcessColor: 0.74902 0.678431 0.670588 0.901961 ([Registration])
+%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set)
+%%+ Options: 1 16 0 1 1 1 0 0 0 0 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 2 3 4
+%%+ PPD: 1 21 0 0 60 45 2 2 1 0 0 1 0 0 0 0 0 0 0 0 -1 -1 ()
+%AI3_Cropmarks: 340.5 278.5 460.5 320.5
+%AI3_TemplateBox: 400.5 299.5 400.5 299.5
+%AI3_TileBox: 112 -56 688 678
+%AI3_DocumentPreview: Macintosh_ColorPic
+%AI5_ArtSize: 800 600
+%AI5_RulerUnits: 6
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI8_OpenToView: -381 756 1 1566 923 26 0 0 73 75 0 0
+%AI5_OpenViewLayers: 7
+%%PageOrigin:0 0
+%AI7_GridSettings: 48 8 48 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%AI7_Thumbnail: 128 48 8
+%%BeginData: 7956 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45A8FD7DF827A8F8275258527D5258527D5258527D5258527D525852
+%7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52
+%58527D5258527D5258527D5258527D5258527D5258527D5258527D525852
+%7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52
+%58527D5258527D5258527D5258527DF8F8F852A87D837DA87D837DA87D83
+%7DA87D837DA87D847DA87D837DA87D837DA87D837DA87D837DA87D837DA8
+%7D837DA87D837DA87D837DA87D837DA87D837DA87D837DA87D837DA87D83
+%7DA87D837DA883A87DA883A87DA87D837DA87D837DA87D837DA87D837DA8
+%7D837DA87D837DA87D837DA87D837DA87D837DA87D837D7DF8F8FD127D83
+%FD3A7DFD05525858FD297D52F8F852A87D837D837D837D837D837DA87D83
+%5258275227272752527D7DA87D837D837D837D837D837D837D837D837D83
+%7D837D837D837D837D837D837D837D837D837D837D837D837D837DA87D52
+%2727FD05F827277D7DA87D837D837D837D837D837D837D837D837D837D83
+%7D837D837D837D837D837D837D837D837D7DF8F8FD0C7D837D52FD0BF827
+%2DFD2D7D5227FD0BF8275883FD247D52F8F858837D837D7D7D837D7D7DA8
+%5227FD0FF8527DA87D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D
+%7D837D7D7D837D7D7D837D7D7D837D7D7DA82DFD04F8527DA8A8A87D52F8
+%F8F82752A87D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D
+%837D7D7D837D7D7D837D7DF8F8FD0B7D27FD06F82727525227FD07F82758
+%83FD267D27F8F8F852FD08FFA827F8F8F85283FD227D52F8F858A87D837D
+%837D837D7DFD05F8277DFD07FFA87D27FD04F8277DA87D837D837D837D83
+%7D837D837D837D837D837D837D837D837D837D837D837D837D837DA852F8
+%F827A8FD04FF7D27A8FD04FF7DF8F8F852A87D837D837D837D837D837D83
+%7D837D837D837D837D837D837D837D837D837D837D7DF8F8FD097DFD05F8
+%7DFD0CFF7D27F8F8F827FD237D8352F8F8F8A8FD04FF7DF8F8F8A8FD04FF
+%7DF8F827FD217D8352F8F852A87D7D7D837D8327F8F8F827FD0FFFA852F8
+%F8F8277D837D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D
+%837D7D7D837D7D7D27F8F87DFD05FF52F8F8F8A8FD05FF52F8F8527D837D
+%7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D83FD047D
+%F8F859FD057D8327F8F8F827FD12FF52F8F8F827FD227DF8F827FD07FF27
+%2752FD07FFF8F8F8FD217D52F8F852A87D837DA852F8F8F827FD14FF52F8
+%F8F8587D837D837D837D837D837D837D837D837D837D837D837D837D837D
+%837D837DA827F8F8A8FD05FFA8527D527D52FD06FF7DF8F852A87D837D83
+%7D837D837D837D837D837D837D837D837D837D837D837D837D837D7DF8F8
+%FD067D27F8F8F8A8FD14FFA827F8F8F8FD207D27F827FD06FFFD06F827FD
+%05FFA8F8F852FD207D52F8F858837D837D58F8F8F87DFD16FF7DF8F8F852
+%A87D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D83FD047D
+%F8F852FD06FFFD06F827FD06FF27F827837D837D7D7D837D7D7D837D7D7D
+%837D7D7D837D7D7D837D7D7D837D7D7D837D7DF8F8FD047D8327F8F827FD
+%18FF27F8F827FD1E7D52F8F87DFD06FFFD06F827FD06FF52F827FD207D52
+%F8F858A87DA87D27F8F87DFD05FF7D5227527DFD05FF7D52277DA8FD04FF
+%7DF8F8F87D7D837D837D837D837D837D837D837D837D837D837D837D837D
+%837D837D7DF8F87DFD06FF27FD05F852FD06FF52F827837D837D837D837D
+%837D837D837D837D837D837D837D837D837D837D837D837D7DF8F8FD047D
+%52F8F8F8FD05FF27FD05F827FFFFA8FD06F852FFFFFFA8F8F8F852FD1D7D
+%52F8F87DFD06FFFD06F827FD06FF52F827FD1F7D8352F8F852A87DA827F8
+%F827FD04FF27F8F8F82727F8F852FFF8F8F82727F8F8F87DFFFFFF27F8F8
+%527D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D
+%7DF8F87DFD06FF52FD05F87DFD06FF27F827A87D7D7D837D7D7D837D7D7D
+%837D7D7D837D7D7D837D7D7D837D7D7D83FD047DF8F8597D7D7D27F8F852
+%FFFFFFA8F8F8F87DFFA82727A852F8F827A8FF7DF827A8FFFFFF52F8F827
+%83FD1D7D27F852FD07FF52F8F8F87DFD06FFA827F827FD207D52F8F852A8
+%7D8327F8F87DFFFFFF7DF8F827FFFFFFA8FFFF27F8F87DFFFFFFA8FD05FF
+%7DF8F8277D837D837D837D837D837D837D837D837D837D837D837D837D83
+%7D837DA827F8F8FD07FF52F8F8F87DFD06FFA8F8F852A87D837D837D837D
+%837D837D837D837D837D837D837D837D837D837D837D837D7DF8F8FD047D
+%27F8F87DFFFFFF52F8F852FD06FFF8F8F8A8FD09FF7DF8F8F8FD1E7D52F8
+%F852FD06FF52F8F8F87DFD06FF27F8F8FD217D52F8F858837D8327F8F87D
+%FFFFFF7DF8F852FD06FF27F8F8A8FD09FF7DF8F8277D837D7D7D837D7D7D
+%837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D27F827A8FD05FF52
+%F8F8F87DFD05FF7DF8F8527D7D7D837D7D7D837D7D7D837D7D7D837D7D7D
+%837D7D7D837D7D7D837D7D7D837D7DF8F8FD047D27F8F852FFFFFF52F8F8
+%27FFFFFF7D52FF27F8F87DFFFFFF7D7DFD04FF7DF8F827FD1E7D8352F8F8
+%27FD05FF52F8F8F87DFD04FFA8F8F8F852FD217D52F8F858A87DA827F8F8
+%52FD04FFF8F8F852A87DF8F8527DF8F8F87DA852F8F87DFFFFFF52F8F852
+%7D837D837D837D837D837D837D837D837D837D837D837D837D837D837D83
+%7DA827F8F852FD04FF52F8F8F87DFFFFFFA827F8F852A87D837D837D837D
+%837D837D837D837D837D837D837D837D837D837D837D837D837D7DF8F8FD
+%047D52F8F8F8FD04FF7DFD07F87DFF27FD07F8A8FFFFFF27F8F82D83FD20
+%7DF8F8F8277DFFFFFFA8FFA8FFFFFF7DF8F8F827FD227D8352F8F852A87D
+%8352F8F8F8A8FD04FF7DFD05F8A8FFFFFF52FD04F827FD05FFF8F8F8FD04
+%7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D83
+%7D7D27F8F8F827A8A8FFFFFFA87D27F8F8F827A87D7D7D837D7D7D837D7D
+%7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D83FD047DF8F859FD04
+%7DF8F8F852FD06FF7D7D7DFFFFFFA8FFFFA87DA8A8FD05FF52F8F8F859FD
+%237D27FD06F827FD06F852FD257D52F8F852A87D837D52F8F8F8FD18FF27
+%F8F827A87D837D837D837D837D837D837D837D837D837D837D837D837D83
+%7D837D837D837D837DA85227FD09F8527DA87D837D837D837D837D837D83
+%7D837D837D837D837D837D837D837D837D837D837D837D837D7DF8F8FD05
+%7D52F8F8F827FD16FF52F8F8F8FD267D837D7D525227272752527D7D83FD
+%267D52F8F858837D837DA827F8F8F87DFD14FFA8F8F8F8277D7D7D837D7D
+%7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D83
+%7D7D7D837D847DA87D847DA87D7D7D837D7D7D837D7D7D837D7D7D837D7D
+%7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7DF8F8FD077DFD
+%04F87DFD12FFA8FD04F852FD047D837D7D7D837D7D7D837D7D7D837D7D7D
+%837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D
+%7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D
+%837D7D7D837D7D7DA852F8F8527D52587D847D7DFD04F87DFD10FFA8FD04
+%F852A87D7D527D5258527D5258527D5258527D5258527D5258527D525852
+%7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52
+%58527D5258527D5258527D5258527D5258527D5258527D5258527D525852
+%7D5252FD06F8277D7D7D52FD04F852FD0EFF7DFD04F827837D7DFD60F852
+%7D837D52FD04F827A8FD0AFFA852FD04F827A87DA827FD61F8587D7D7D52
+%FD05F82752A8A8FFA8A87D7D27FD05F8277D7D8352FD63F87D7DA87D7DFD
+%09F827FD07F82752A87DA858FD27F852A87DA87D2727A852F8F8527D27FD
+%30F8FD057D27FD0EF85258A87D8352FD28F87DFFA8A8FFA8F8A8FFF8F8FF
+%FFFD32F87D7D837DA87D522727FD07F827527D7D837DA85227FD28F87DFF
+%F8F87DFFF852FF7D7DFF27FD33F8527D837D7D7D83587DFD0552FD077D27
+%FD2AF87DFF7D7DFF52F8F8A8FFFF7DFD35F82758A87DA87D847DA87DA87D
+%A87D837DA87D7D27FD2BF87DFF7DA8FFFFF8F827FFFF27FD37F827527D83
+%7D7D7D837D7D7D837D7D5227FD2DF87DFFF8F852FF52F8F8A8A8FD3AF827
+%2752527D587D587D5252FD30F87DFF7D7DA8FF27F8F8FFA8FD75F87DFD04
+%A852F8F8F87DA8FDFCF8FD2EF852FD7F27FD7FFFFF
+%%EndData
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset Adobe_level2_AI5 1.2 0
+%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
+%%Version: 1.2 0
+%%CreationDate: (04/10/93) ()
+%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
+userdict /Adobe_level2_AI5 26 dict dup begin
+ put
+ /packedarray where not
+ {
+ userdict begin
+ /packedarray
+ {
+ array astore readonly
+ } bind def
+ /setpacking /pop load def
+ /currentpacking false def
+ end
+ 0
+ } if
+ pop
+ userdict /defaultpacking currentpacking put true setpacking
+ /initialize
+ {
+ Adobe_level2_AI5 begin
+ } bind def
+ /terminate
+ {
+ currentdict Adobe_level2_AI5 eq
+ {
+ end
+ } if
+ } bind def
+ mark
+ /setcustomcolor where not
+ {
+ /findcmykcustomcolor
+ {
+ (AI8_CMYK_CustomColor)
+ 6 packedarray
+ } bind def
+ /findrgbcustomcolor
+ {
+ (AI8_RGB_CustomColor)
+ 5 packedarray
+ } bind def
+ /setcustomcolor
+ {
+ exch
+ aload pop dup
+ (AI8_CMYK_CustomColor) eq
+ {
+ pop pop
+ 4
+ {
+ 4 index mul
+ 4 1 roll
+ } repeat
+ 5 -1 roll pop
+ setcmykcolor
+ }
+ {
+ dup (AI8_RGB_CustomColor) eq
+ {
+ pop pop
+ 3
+ {
+ 1 exch sub
+ 3 index mul
+ 1 exch sub
+ 3 1 roll
+ } repeat
+ 4 -1 roll pop
+ setrgbcolor
+ }
+ {
+ pop
+ 4
+ {
+ 4 index mul 4 1 roll
+ } repeat
+ 5 -1 roll pop
+ setcmykcolor
+ } ifelse
+ } ifelse
+ }
+ def
+ } if
+ /setAIseparationgray
+ {
+ false setoverprint
+ 0 setgray
+ /setseparationgray where{
+ pop setseparationgray
+ }{
+ /setcolorspace where{
+ pop
+ [/Separation (All) /DeviceCMYK {dup dup dup}] setcolorspace
+ 1 exch sub setcolor
+ }{
+ setgray
+ }ifelse
+ }ifelse
+ } def
+
+ /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
+ userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
+ userdict /level2?
+ systemdict /languagelevel known dup
+ {
+ pop systemdict /languagelevel get 2 ge
+ } if
+ put
+/level2ScreenFreq
+{
+ begin
+ 60
+ HalftoneType 1 eq
+ {
+ pop Frequency
+ } if
+ HalftoneType 2 eq
+ {
+ pop GrayFrequency
+ } if
+ HalftoneType 5 eq
+ {
+ pop Default level2ScreenFreq
+ } if
+ end
+} bind def
+userdict /currentScreenFreq
+ level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
+level2? not
+ {
+ /setcmykcolor where not
+ {
+ /setcmykcolor
+ {
+ exch .11 mul add exch .59 mul add exch .3 mul add
+ 1 exch sub setgray
+ } def
+ } if
+ /currentcmykcolor where not
+ {
+ /currentcmykcolor
+ {
+ 0 0 0 1 currentgray sub
+ } def
+ } if
+ /setoverprint where not
+ {
+ /setoverprint /pop load def
+ } if
+ /selectfont where not
+ {
+ /selectfont
+ {
+ exch findfont exch
+ dup type /arraytype eq
+ {
+ makefont
+ }
+ {
+ scalefont
+ } ifelse
+ setfont
+ } bind def
+ } if
+ /cshow where not
+ {
+ /cshow
+ {
+ [
+ 0 0 5 -1 roll aload pop
+ ] cvx bind forall
+ } bind def
+ } if
+ } if
+ cleartomark
+ /anyColor?
+ {
+ add add add 0 ne
+ } bind def
+ /testColor
+ {
+ gsave
+ setcmykcolor currentcmykcolor
+ grestore
+ } bind def
+ /testCMYKColorThrough
+ {
+ testColor anyColor?
+ } bind def
+ userdict /composite?
+ 1 0 0 0 testCMYKColorThrough
+ 0 1 0 0 testCMYKColorThrough
+ 0 0 1 0 testCMYKColorThrough
+ 0 0 0 1 testCMYKColorThrough
+ and and and
+ put
+ composite? not
+ {
+ userdict begin
+ gsave
+ /cyan? 1 0 0 0 testCMYKColorThrough def
+ /magenta? 0 1 0 0 testCMYKColorThrough def
+ /yellow? 0 0 1 0 testCMYKColorThrough def
+ /black? 0 0 0 1 testCMYKColorThrough def
+ grestore
+ /isCMYKSep? cyan? magenta? yellow? black? or or or def
+ /customColor? isCMYKSep? not def
+ end
+ } if
+ end defaultpacking setpacking
+%%EndResource
+%%BeginProcSet: Adobe_ColorImage_AI6 1.3 0
+userdict /Adobe_ColorImage_AI6 known not
+{
+ userdict /Adobe_ColorImage_AI6 53 dict put
+} if
+userdict /Adobe_ColorImage_AI6 get begin
+/initialize {
+ Adobe_ColorImage_AI6 begin
+ Adobe_ColorImage_AI6 {
+ dup type /arraytype eq {
+ dup xcheck {
+ bind
+ } if
+ } if
+ pop pop
+ } forall
+} def
+/terminate { end } def
+currentdict /Adobe_ColorImage_AI6_Vars known not {
+ /Adobe_ColorImage_AI6_Vars 41 dict def
+} if
+Adobe_ColorImage_AI6_Vars begin
+ /plateindex -1 def
+ /_newproc null def
+ /_proc1 null def
+ /_proc2 null def
+ /sourcearray 4 array def
+ /_ptispace null def
+ /_ptiname null def
+ /_pti0 0 def
+ /_pti1 0 def
+ /_ptiproc null def
+ /_ptiscale 0 def
+ /_pticomps 0 def
+ /_ptibuf 0 string def
+ /_gtigray 0 def
+ /_cticmyk null def
+ /_rtirgb null def
+ /XIEnable true def
+ /XIType 0 def
+ /XIEncoding 0 def
+ /XICompression 0 def
+ /XIChannelCount 0 def
+ /XIBitsPerPixel 0 def
+ /XIImageHeight 0 def
+ /XIImageWidth 0 def
+ /XIImageMatrix null def
+ /XIRowBytes 0 def
+ /XIFile null def
+ /XIBuffer1 null def
+ /XIBuffer2 null def
+ /XIBuffer3 null def
+ /XIDataProc null def
+ /XIColorSpace /DeviceGray def
+ /XIColorValues 0 def
+ /XIPlateList false def
+end
+/ci6colorimage /colorimage where {/colorimage get}{null} ifelse def
+/ci6image systemdict /image get def
+/ci6curtransfer systemdict /currenttransfer get def
+/ci6curoverprint /currentoverprint where {/currentoverprint get}{{_of}} ifelse def
+/ci6foureq {
+ 4 index ne {
+ pop pop pop false
+ }{
+ 4 index ne {
+ pop pop false
+ }{
+ 4 index ne {
+ pop false
+ }{
+ 4 index eq
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6testplate {
+ Adobe_ColorImage_AI6_Vars begin
+ /plateindex -1 def
+ /setcmykcolor where {
+ pop
+ gsave
+ 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+ 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+ 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+ 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
+ grestore
+ 1 0 0 0 ci6foureq {
+ /plateindex 0 def
+ }{
+ 0 1 0 0 ci6foureq {
+ /plateindex 1 def
+ }{
+ 0 0 1 0 ci6foureq {
+ /plateindex 2 def
+ }{
+ 0 0 0 1 ci6foureq {
+ /plateindex 3 def
+ }{
+ 0 0 0 0 ci6foureq {
+ /plateindex 5 def
+ } if
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ pop pop pop pop
+ } if
+ plateindex
+ end
+} def
+/ci6concatprocs {
+ /packedarray where {
+ pop dup type /packedarraytype eq 2 index type
+ /packedarraytype eq or
+ }{
+ false
+ } ifelse
+ {
+ /_proc2 exch cvlit def
+ /_proc1 exch cvlit def
+ _proc1 aload pop
+ _proc2 aload pop
+ _proc1 length
+ _proc2 length add
+ packedarray cvx
+ }{
+ /_proc2 exch cvlit def
+ /_proc1 exch cvlit def
+ /_newproc _proc1 length _proc2 length add array def
+ _newproc 0 _proc1 putinterval
+ _newproc _proc1 length _proc2 putinterval
+ _newproc cvx
+ } ifelse
+} def
+/ci6istint {
+ type /arraytype eq
+} def
+/ci6isspot {
+ dup type /arraytype eq {
+ dup length 1 sub get /Separation eq
+ }{
+ pop false
+ } ifelse
+} def
+/ci6spotname {
+ dup ci6isspot {dup length 2 sub get}{pop ()} ifelse
+} def
+/ci6altspace {
+ aload pop pop pop ci6colormake
+} def
+/ci6numcomps {
+ dup /DeviceGray eq {
+ pop 1
+ }{
+ dup /DeviceRGB eq {
+ pop 3
+ }{
+ /DeviceCMYK eq {
+ 4
+ }{
+ 1
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6marksplate {
+ dup /DeviceGray eq {
+ pop plateindex 3 eq
+ }{
+ dup /DeviceRGB eq {
+ pop plateindex 5 ne
+ }{
+ dup /DeviceCMYK eq {
+ pop plateindex 5 ne
+ }{
+ dup ci6isspot {
+ /findcmykcustomcolor where {
+ pop
+ dup length 2 sub get
+ 0.1 0.1 0.1 0.1 5 -1 roll
+ findcmykcustomcolor 1 setcustomcolor
+ systemdict /currentgray get exec
+ 1 ne
+ }{
+ pop plateindex 5 ne
+ } ifelse
+ }{
+ pop plateindex 5 ne
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6colormake {
+ dup ci6numcomps
+ exch 1 index 2 add 1 roll
+ dup 1 eq {pop}{array astore} ifelse
+ exch
+} def
+/ci6colorexpand {
+ dup ci6spotname exch
+ dup ci6istint {
+ ci6altspace
+ exch 4 1 roll
+ }{
+ 1 3 1 roll
+ } ifelse
+} def
+/ci6colortint {
+ dup /DeviceGray eq {
+ 3 1 roll 1 exch sub mul 1 exch sub exch
+ }{
+ dup /DeviceRGB eq {
+ 3 1 roll {1 exch sub 1 index mul 1 exch sub exch} forall pop 3 array astore exch
+ }{
+ dup /DeviceCMYK eq {
+ 3 1 roll {1 index mul exch} forall pop 4 array astore exch
+ }{
+ 3 1 roll mul exch
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6colortocmyk {
+ dup /DeviceGray eq {
+ pop 1 exch sub 0 0 0 4 -1 roll 4 array astore
+ }{
+ dup /DeviceRGB eq {
+ pop aload pop _rgbtocmyk 4 array astore
+ }{
+ dup /DeviceCMYK eq {
+ pop
+ }{
+ ci6altspace ci6colortint ci6colortocmyk
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6makeimagedict {
+ 7 dict begin
+ /ImageType 1 def
+ /Decode exch def
+ /DataSource exch def
+ /ImageMatrix exch def
+ /BitsPerComponent exch def
+ /Height exch def
+ /Width exch def
+ currentdict end
+} def
+/ci6stringinvert {
+ 0 1 2 index length 1 sub {
+ dup 2 index exch get 255 exch sub 2 index 3 1 roll put
+ } for
+} def
+/ci6stringknockout {
+ 0 1 2 index length 1 sub {
+ 255 2 index 3 1 roll put
+ } for
+} def
+/ci6stringapply {
+ 0 1 4 index length 1 sub {
+ dup
+ 4 index exch get
+ 3 index 3 1 roll
+ 3 index exec
+ } for
+ pop exch pop
+} def
+/ci6walkrgbstring {
+ 0 3 index
+ dup length 1 sub 0 3 3 -1 roll {
+ 3 getinterval {} forall
+ 5 index exec
+ 3 index
+ } for
+
+ 5 {pop} repeat
+} def
+/ci6walkcmykstring
+{
+ 0 3 index
+ dup length 1 sub 0 4 3 -1 roll {
+ 4 getinterval {} forall
+
+ 6 index exec
+
+ 3 index
+
+ } for
+
+ 5 { pop } repeat
+
+} def
+/ci6putrgbtograystr
+{
+ .11 mul exch
+
+ .59 mul add exch
+
+ .3 mul add
+
+ cvi 3 copy put
+
+ pop 1 add
+} def
+/ci6putcmyktograystr
+{
+ exch .11 mul add
+
+ exch .59 mul add
+
+ exch .3 mul add
+
+ dup 255 gt { pop 255 } if
+
+ 255 exch sub cvi 3 copy put
+
+ pop 1 add
+} def
+/ci6rgbtograyproc {
+ Adobe_ColorImage_AI6_Vars begin
+ sourcearray 0 get exec
+ XIBuffer3
+ dup 3 1 roll
+
+ /ci6putrgbtograystr load exch
+ ci6walkrgbstring
+ end
+} def
+/ci6cmyktograyproc {
+ Adobe_ColorImage_AI6_Vars begin
+ sourcearray 0 get exec
+ XIBuffer3
+ dup 3 1 roll
+
+ /ci6putcmyktograystr load exch
+ ci6walkcmykstring
+ end
+} def
+/ci6separatecmykproc {
+ Adobe_ColorImage_AI6_Vars begin
+ sourcearray 0 get exec
+
+ XIBuffer3
+
+ 0 2 index
+
+ plateindex 4 2 index length 1 sub {
+ get 255 exch sub
+
+ 3 copy put pop 1 add
+
+ 2 index
+ } for
+ pop pop exch pop
+ end
+} def
+
+/ci6compositeimage {
+ dup 1 eq {
+ pop pop image
+ }{
+ /ci6colorimage load null ne {
+ ci6colorimage
+ }{
+ 3 1 roll pop
+ sourcearray 0 3 -1 roll put
+ 3 eq {/ci6rgbtograyproc}{/ci6cmyktograyproc} ifelse load
+ image
+ } ifelse
+ } ifelse
+} def
+/ci6knockoutimage {
+ gsave
+ 0 ci6curtransfer exec 1 ci6curtransfer exec
+ eq {
+ 0 ci6curtransfer exec 0.5 lt
+ }{
+ 0 ci6curtransfer exec 1 ci6curtransfer exec gt
+ } ifelse
+ {{pop 0}}{{pop 1}} ifelse
+ systemdict /settransfer get exec
+ ci6compositeimage
+ grestore
+} def
+/ci6drawimage {
+ ci6testplate -1 eq {
+ pop ci6compositeimage
+ }{
+ dup type /arraytype eq {
+ dup length plateindex gt {plateindex get}{pop false} ifelse
+ }{
+ {
+ true
+ }{
+ dup 1 eq {plateindex 3 eq}{plateindex 3 le} ifelse
+ } ifelse
+ } ifelse
+ {
+ dup 1 eq {
+ pop pop ci6image
+ }{
+ dup 3 eq {
+ ci6compositeimage
+ }{
+ pop pop
+ sourcearray 0 3 -1 roll put
+ /ci6separatecmykproc load
+ ci6image
+ } ifelse
+ } ifelse
+ }{
+ ci6curoverprint {
+ 7 {pop} repeat
+ }{
+ ci6knockoutimage
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6proctintimage {
+ /_ptispace exch store /_ptiname exch store /_pti1 exch store /_pti0 exch store /_ptiproc exch store
+ /_pticomps _ptispace ci6numcomps store
+ /_ptiscale _pti1 _pti0 sub store
+ level2? {
+ _ptiname length 0 gt version cvr 2012 ge and {
+ [/Separation _ptiname _ptispace {_ptiproc}] setcolorspace
+ [_pti0 _pti1] ci6makeimagedict ci6image
+ }{
+ [/Indexed _ptispace 255 {255 div _ptiscale mul _pti0 add _ptiproc}] setcolorspace
+ [0 255] ci6makeimagedict ci6image
+ } ifelse
+ }{
+ _pticomps 1 eq {
+ {
+ dup
+ {
+ 255 div _ptiscale mul _pti0 add _ptiproc 255 mul cvi put
+ } ci6stringapply
+ } ci6concatprocs ci6image
+ }{
+ {
+ dup length _pticomps mul dup _ptibuf length ne {/_ptibuf exch string store}{pop} ifelse
+ _ptibuf {
+ exch _pticomps mul exch 255 div _ptiscale mul _pti0 add _ptiproc
+ _pticomps 2 add -2 roll
+ _pticomps 1 sub -1 0 {
+ 1 index add 2 index exch
+ 5 -1 roll
+ 255 mul cvi put
+ } for
+ pop pop
+ } ci6stringapply
+ } ci6concatprocs false _pticomps
+ /ci6colorimage load null eq {7 {pop} repeat}{ci6colorimage} ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6graytintimage {
+ /_gtigray 5 -1 roll store
+ {1 _gtigray sub mul 1 exch sub} 4 1 roll
+ /DeviceGray ci6proctintimage
+} def
+/ci6cmyktintimage {
+ /_cticmyk 5 -1 roll store
+ {_cticmyk {1 index mul exch} forall pop} 4 1 roll
+ /DeviceCMYK ci6proctintimage
+} def
+/ci6rgbtintimage {
+ /_rtirgb 5 -1 roll store
+ {_rtirgb {1 exch sub 1 index mul 1 exch sub exch} forall pop} 4 1 roll
+ /DeviceRGB ci6proctintimage
+} def
+/ci6tintimage {
+ ci6testplate -1 eq {
+ ci6colorexpand
+ 3 -1 roll 5 -1 roll {0}{0 exch} ifelse 4 2 roll
+ dup /DeviceGray eq {
+ pop ci6graytintimage
+ }{
+ dup /DeviceRGB eq {
+ pop ci6rgbtintimage
+ }{
+ pop ci6cmyktintimage
+ } ifelse
+ } ifelse
+ }{
+ dup ci6marksplate {
+ plateindex 5 lt {
+ ci6colortocmyk plateindex get
+ dup 0 eq ci6curoverprint and {
+ 7 {pop} repeat
+ }{
+ 1 exch sub
+ exch {1 0}{0 1} ifelse () ci6graytintimage
+ } ifelse
+ }{
+ pop exch {0}{0 exch} ifelse 0 3 1 roll () ci6graytintimage
+ } ifelse
+ }{
+ ci6curoverprint {
+ 8 {pop} repeat
+ }{
+ pop pop pop
+ {pop 1} 0 1 () /DeviceGray ci6proctintimage
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/XINullImage {
+} def
+/XIImageMask {
+ XIImageWidth XIImageHeight false
+ [XIImageWidth 0 0 XIImageHeight neg 0 0]
+ /XIDataProc load
+ imagemask
+} def
+/XIImageTint {
+ XIImageWidth XIImageHeight XIBitsPerPixel
+ [XIImageWidth 0 0 XIImageHeight neg 0 0]
+ /XIDataProc load
+ XIType 3 eq XIColorValues XIColorSpace ci6tintimage
+} def
+/XIImage {
+ XIImageWidth XIImageHeight XIBitsPerPixel
+ [XIImageWidth 0 0 XIImageHeight neg 0 0]
+ /XIDataProc load
+ false XIChannelCount XIPlateList ci6drawimage
+} def
+/XG {
+ pop pop
+} def
+/XF {
+ 13 {pop} repeat
+} def
+/Xh {
+ Adobe_ColorImage_AI6_Vars begin
+ gsave
+ /XIType exch def
+ /XIImageHeight exch def
+ /XIImageWidth exch def
+ /XIImageMatrix exch def
+ 0 0 moveto
+ XIImageMatrix concat
+ XIImageWidth XIImageHeight scale
+
+ /_lp /null ddef
+ _fc
+ /_lp /imagemask ddef
+ end
+} def
+/XH {
+ Adobe_ColorImage_AI6_Vars begin
+ grestore
+ end
+} def
+/XIEnable {
+ Adobe_ColorImage_AI6_Vars /XIEnable 3 -1 roll put
+} def
+/XC {
+ Adobe_ColorImage_AI6_Vars begin
+ ci6colormake
+ /XIColorSpace exch def
+ /XIColorValues exch def
+ end
+} def
+/XIPlates {
+ Adobe_ColorImage_AI6_Vars begin
+ /XIPlateList exch def
+ end
+} def
+/XI
+{
+ Adobe_ColorImage_AI6_Vars begin
+ gsave
+ /XIType exch def
+ cvi dup
+ 256 idiv /XICompression exch store
+ 256 mod /XIEncoding exch store
+ pop pop
+ /XIChannelCount exch def
+ /XIBitsPerPixel exch def
+ /XIImageHeight exch def
+ /XIImageWidth exch def
+ pop pop pop pop
+ /XIImageMatrix exch def
+ XIBitsPerPixel 1 eq {
+ XIImageWidth 8 div ceiling cvi
+ }{
+ XIImageWidth XIChannelCount mul
+ } ifelse
+ /XIRowBytes exch def
+ XIEnable {
+ /XIBuffer3 XIImageWidth string def
+ XICompression 0 eq {
+ /XIBuffer1 XIRowBytes string def
+ XIEncoding 0 eq {
+ {currentfile XIBuffer1 readhexstring pop}
+ }{
+ {currentfile XIBuffer1 readstring pop}
+ } ifelse
+ }{
+ /XIBuffer1 256 string def
+ /XIBuffer2 XIRowBytes string def
+ {currentfile XIBuffer1 readline pop (%) anchorsearch {pop} if}
+ /ASCII85Decode filter /DCTDecode filter
+ /XIFile exch def
+ {XIFile XIBuffer2 readstring pop}
+ } ifelse
+ /XIDataProc exch def
+
+ XIType 1 ne {
+ 0 setgray
+ } if
+ XIType 1 eq {
+ XIImageMask
+ }{
+ XIType 2 eq XIType 3 eq or {
+ XIImageTint
+ }{
+ XIImage
+ } ifelse
+ } ifelse
+ }{
+ XINullImage
+ } ifelse
+ /XIPlateList false def
+ grestore
+ end
+} def
+end
+%%EndProcSet
+%%BeginResource: procset Adobe_Illustrator_AI5 1.3 0
+%%Title: (Adobe Illustrator (R) Version 8.0 Full Prolog)
+%%Version: 1.3 0
+%%CreationDate: (3/7/1994) ()
+%%Copyright: ((C) 1987-1998 Adobe Systems Incorporated All Rights Reserved)
+currentpacking true setpacking
+userdict /Adobe_Illustrator_AI5_vars 112 dict dup begin
+put
+/_?cmyk false def
+/_eo false def
+/_lp /none def
+/_pf
+{
+} def
+/_ps
+{
+} def
+/_psf
+{
+} def
+/_pss
+{
+} def
+/_pjsf
+{
+} def
+/_pjss
+{
+} def
+/_pola 0 def
+/_doClip 0 def
+/cf currentflat def
+/_lineorientation 0 def
+/_charorientation 0 def
+/_yokoorientation 0 def
+/_tm matrix def
+/_renderStart
+[
+/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
+] def
+/_renderEnd
+[
+null null null null /i1 /i1 /i1 /i1
+] def
+/_render -1 def
+/_shift [0 0] def
+/_ax 0 def
+/_ay 0 def
+/_cx 0 def
+/_cy 0 def
+/_leading
+[
+0 0
+] def
+/_ctm matrix def
+/_mtx matrix def
+/_sp 16#020 def
+/_hyphen (-) def
+/_fontSize 0 def
+/_fontAscent 0 def
+/_fontDescent 0 def
+/_fontHeight 0 def
+/_fontRotateAdjust 0 def
+/Ss 256 string def
+Ss 0 (fonts/) putinterval
+/_cnt 0 def
+/_scale [1 1] def
+/_nativeEncoding 0 def
+/_useNativeEncoding 0 def
+/_tempEncode 0 def
+/_pntr 0 def
+/_tDict 2 dict def
+/_hfname 100 string def
+/_hffound false def
+/Tx
+{
+} def
+/Tj
+{
+} def
+/CRender
+{
+} def
+/_AI3_savepage
+{
+} def
+/_gf null def
+/_cf 4 array def
+/_rgbf 3 array def
+/_if null def
+/_of false def
+/_fc
+{
+} def
+/_gs null def
+/_cs 4 array def
+/_rgbs 3 array def
+/_is null def
+/_os false def
+/_sc
+{
+} def
+/_pd 1 dict def
+/_ed 15 dict def
+/_pm matrix def
+/_fm null def
+/_fd null def
+/_fdd null def
+/_sm null def
+/_sd null def
+/_sdd null def
+/_i null def
+/_lobyte 0 def
+/_hibyte 0 def
+/_cproc null def
+/_cscript 0 def
+/_hvax 0 def
+/_hvay 0 def
+/_hvwb 0 def
+/_hvcx 0 def
+/_hvcy 0 def
+/_bitfont null def
+/_bitlobyte 0 def
+/_bithibyte 0 def
+/_bitkey null def
+/_bitdata null def
+/_bitindex 0 def
+/discardSave null def
+/buffer 256 string def
+/beginString null def
+/endString null def
+/endStringLength null def
+/layerCnt 1 def
+/layerCount 1 def
+/perCent (%) 0 get def
+/perCentSeen? false def
+/newBuff null def
+/newBuffButFirst null def
+/newBuffLast null def
+/clipForward? false def
+end
+userdict /Adobe_Illustrator_AI5 known not {
+ userdict /Adobe_Illustrator_AI5 100 dict put
+} if
+userdict /Adobe_Illustrator_AI5 get begin
+/initialize
+{
+ Adobe_Illustrator_AI5 dup begin
+ Adobe_Illustrator_AI5_vars begin
+ /_aicmykps where {pop /_?cmyk _aicmykps def}if
+ discardDict
+ {
+ bind pop pop
+ } forall
+ dup /nc get begin
+ {
+ dup xcheck 1 index type /operatortype ne and
+ {
+ bind
+ } if
+ pop pop
+ } forall
+ end
+ newpath
+} def
+/terminate
+{
+ end
+ end
+} def
+/_
+null def
+/ddef
+{
+ Adobe_Illustrator_AI5_vars 3 1 roll put
+} def
+/xput
+{
+ dup load dup length exch maxlength eq
+ {
+ dup dup load dup
+ length 2 mul dict copy def
+ } if
+ load begin
+ def
+ end
+} def
+/npop
+{
+ {
+ pop
+ } repeat
+} def
+/hswj
+{
+ dup stringwidth 3 2 roll
+ {
+ _hvwb eq { exch _hvcx add exch _hvcy add } if
+ exch _hvax add exch _hvay add
+ } cforall
+} def
+/vswj
+{
+ 0 0 3 -1 roll
+ {
+ dup 255 le
+ _charorientation 1 eq
+ and
+ {
+ dup cstring stringwidth 5 2 roll
+ _hvwb eq { exch _hvcy sub exch _hvcx sub } if
+ exch _hvay sub exch _hvax sub
+ 4 -1 roll sub exch
+ 3 -1 roll sub exch
+ }
+ {
+ _hvwb eq { exch _hvcy sub exch _hvcx sub } if
+ exch _hvay sub exch _hvax sub
+ _fontHeight sub
+ } ifelse
+ } cforall
+} def
+/swj
+{
+ 6 1 roll
+ /_hvay exch ddef
+ /_hvax exch ddef
+ /_hvwb exch ddef
+ /_hvcy exch ddef
+ /_hvcx exch ddef
+ _lineorientation 0 eq { hswj } { vswj } ifelse
+} def
+/sw
+{
+ 0 0 0 6 3 roll swj
+} def
+/vjss
+{
+ 4 1 roll
+ {
+ dup cstring
+ dup length 1 eq
+ _charorientation 1 eq
+ and
+ {
+ -90 rotate
+ currentpoint
+ _fontRotateAdjust add
+ moveto
+ gsave
+ false charpath currentpoint
+ 5 index setmatrix stroke
+ grestore
+ _fontRotateAdjust sub
+ moveto
+ _sp eq
+ {
+ 5 index 5 index rmoveto
+ } if
+ 2 copy rmoveto
+ 90 rotate
+ }
+ {
+ currentpoint
+ _fontHeight sub
+ 5 index sub
+ 3 index _sp eq
+ {
+ 9 index sub
+ } if
+
+ currentpoint
+ exch 4 index stringwidth pop 2 div sub
+ exch _fontAscent sub
+ moveto
+
+ gsave
+ 2 index false charpath
+ 6 index setmatrix stroke
+ grestore
+
+ moveto pop pop
+ } ifelse
+ } cforall
+ 6 npop
+} def
+/hjss
+{
+ 4 1 roll
+ {
+ dup cstring
+ gsave
+ false charpath currentpoint
+ 5 index setmatrix stroke
+ grestore
+ moveto
+ _sp eq
+ {
+ 5 index 5 index rmoveto
+ } if
+ 2 copy rmoveto
+ } cforall
+ 6 npop
+} def
+/jss
+{
+ _lineorientation 0 eq { hjss } { vjss } ifelse
+} def
+/ss
+{
+ 0 0 0 7 3 roll jss
+} def
+/vjsp
+{
+ 4 1 roll
+ {
+ dup cstring
+ dup length 1 eq
+ _charorientation 1 eq
+ and
+ {
+ -90 rotate
+ currentpoint
+ _fontRotateAdjust add
+ moveto
+ false charpath
+ currentpoint
+ _fontRotateAdjust sub
+ moveto
+ _sp eq
+ {
+ 5 index 5 index rmoveto
+ } if
+ 2 copy rmoveto
+ 90 rotate
+ }
+ {
+ currentpoint
+ _fontHeight sub
+ 5 index sub
+ 3 index _sp eq
+ {
+ 9 index sub
+ } if
+
+ currentpoint
+ exch 4 index stringwidth pop 2 div sub
+ exch _fontAscent sub
+ moveto
+
+ 2 index false charpath
+
+ moveto pop pop
+ } ifelse
+ } cforall
+ 6 npop
+} def
+/hjsp
+{
+ 4 1 roll
+ {
+ dup cstring
+ false charpath
+ _sp eq
+ {
+ 5 index 5 index rmoveto
+ } if
+ 2 copy rmoveto
+ } cforall
+ 6 npop
+} def
+/jsp
+{
+ matrix currentmatrix
+ _lineorientation 0 eq {hjsp} {vjsp} ifelse
+} def
+/sp
+{
+ matrix currentmatrix
+ 0 0 0 7 3 roll
+ _lineorientation 0 eq {hjsp} {vjsp} ifelse
+} def
+/pl
+{
+ transform
+ 0.25 sub round 0.25 add exch
+ 0.25 sub round 0.25 add exch
+ itransform
+} def
+/setstrokeadjust where
+{
+ pop true setstrokeadjust
+ /c
+ {
+ curveto
+ } def
+ /C
+ /c load def
+ /v
+ {
+ currentpoint 6 2 roll curveto
+ } def
+ /V
+ /v load def
+ /y
+ {
+ 2 copy curveto
+ } def
+ /Y
+ /y load def
+ /l
+ {
+ lineto
+ } def
+ /L
+ /l load def
+ /m
+ {
+ moveto
+ } def
+}
+{
+ /c
+ {
+ pl curveto
+ } def
+ /C
+ /c load def
+ /v
+ {
+ currentpoint 6 2 roll pl curveto
+ } def
+ /V
+ /v load def
+ /y
+ {
+ pl 2 copy curveto
+ } def
+ /Y
+ /y load def
+ /l
+ {
+ pl lineto
+ } def
+ /L
+ /l load def
+ /m
+ {
+ pl moveto
+ } def
+} ifelse
+/d
+{
+ setdash
+} def
+/cf
+{
+} def
+/i
+{
+ dup 0 eq
+ {
+ pop cf
+ } if
+ setflat
+} def
+/j
+{
+ setlinejoin
+} def
+/J
+{
+ setlinecap
+} def
+/M
+{
+ setmiterlimit
+} def
+/w
+{
+ setlinewidth
+} def
+/XR
+{
+ 0 ne
+ /_eo exch ddef
+} def
+/H
+{
+} def
+/h
+{
+ closepath
+} def
+/N
+{
+ _pola 0 eq
+ {
+ _doClip 1 eq
+ {
+ _eo {eoclip} {clip} ifelse /_doClip 0 ddef
+ } if
+ newpath
+ }
+ {
+ /CRender
+ {
+ N
+ } ddef
+ } ifelse
+} def
+/n
+{
+ N
+} def
+/F
+{
+ _pola 0 eq
+ {
+ _doClip 1 eq
+ {
+ gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
+ /_doClip 0 ddef
+ }
+ {
+ _pf
+ } ifelse
+ }
+ {
+ /CRender
+ {
+ F
+ } ddef
+ } ifelse
+} def
+/f
+{
+ closepath
+ F
+} def
+/S
+{
+ _pola 0 eq
+ {
+ _doClip 1 eq
+ {
+ gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
+ /_doClip 0 ddef
+ }
+ {
+ _ps
+ } ifelse
+ }
+ {
+ /CRender
+ {
+ S
+ } ddef
+ } ifelse
+} def
+/s
+{
+ closepath
+ S
+} def
+/B
+{
+ _pola 0 eq
+ {
+ _doClip 1 eq
+ gsave F grestore
+ {
+ gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
+ /_doClip 0 ddef
+ }
+ {
+ S
+ } ifelse
+ }
+ {
+ /CRender
+ {
+ B
+ } ddef
+ } ifelse
+} def
+/b
+{
+ closepath
+ B
+} def
+/W
+{
+ /_doClip 1 ddef
+} def
+/*
+{
+ count 0 ne
+ {
+ dup type /stringtype eq
+ {
+ pop
+ } if
+ } if
+ newpath
+} def
+/u
+{
+} def
+/U
+{
+} def
+/q
+{
+ _pola 0 eq
+ {
+ gsave
+ } if
+} def
+/Q
+{
+ _pola 0 eq
+ {
+ grestore
+ } if
+} def
+/*u
+{
+ _pola 1 add /_pola exch ddef
+} def
+/*U
+{
+ _pola 1 sub /_pola exch ddef
+ _pola 0 eq
+ {
+ CRender
+ } if
+} def
+/D
+{
+ pop
+} def
+/*w
+{
+} def
+/*W
+{
+} def
+/`
+{
+ /_i save ddef
+ clipForward?
+ {
+ nulldevice
+ } if
+ 6 1 roll 4 npop
+ concat pop
+ userdict begin
+ /showpage
+ {
+ } def
+ 0 setgray
+ 0 setlinecap
+ 1 setlinewidth
+ 0 setlinejoin
+ 10 setmiterlimit
+ [] 0 setdash
+ /setstrokeadjust where {pop false setstrokeadjust} if
+ newpath
+ 0 setgray
+ false setoverprint
+} def
+/~
+{
+ end
+ _i restore
+} def
+/_rgbtocmyk
+{
+ 3
+ {
+ 1 exch sub 3 1 roll
+ } repeat
+ 3 copy 1 4 1 roll
+ 3
+ {
+ 3 index 2 copy gt
+ {
+ exch
+ } if
+ pop 4 1 roll
+ } repeat
+ pop pop pop
+ 4 1 roll
+ 3
+ {
+ 3 index sub
+ 3 1 roll
+ } repeat
+ 4 -1 roll
+} def
+/setrgbfill
+{
+ _rgbf astore pop
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _rgbf aload pop setrgbcolor
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/setrgbstroke
+{
+ _rgbs astore pop
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _rgbs aload pop setrgbcolor
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/O
+{
+ 0 ne
+ /_of exch ddef
+ /_lp /none ddef
+} def
+/R
+{
+ 0 ne
+ /_os exch ddef
+ /_lp /none ddef
+} def
+/g
+{
+ /_gf exch ddef
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _gf setgray
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/G
+{
+ /_gs exch ddef
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _gs setgray
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/k
+{
+ _cf astore pop
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _cf aload pop setcmykcolor
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/K
+{
+ _cs astore pop
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _cs aload pop setcmykcolor
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/Xa
+{
+ _?cmyk {
+ 3 npop k
+ }{
+ setrgbfill 4 npop
+ } ifelse
+} def
+/XA
+{
+ _?cmyk {
+ 3 npop K
+ }{
+ setrgbstroke 4 npop
+ } ifelse
+} def
+/Xs
+{
+ /_gf exch ddef
+ 5 npop
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _gf setAIseparationgray
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/XS
+{
+ /_gs exch ddef
+ 5 npop
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _gs setAIseparationgray
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/Xx
+{
+ exch
+ /_gf exch ddef
+ 0 eq {
+ findcmykcustomcolor
+ }{
+ _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse
+ {
+ 4 1 roll 3 npop
+ findcmykcustomcolor
+ }{
+ 8 -4 roll 4 npop
+ findrgbcustomcolor
+ } ifelse
+ } ifelse
+ /_if exch ddef
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _if _gf 1 exch sub setcustomcolor
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/XX
+{
+ exch
+ /_gs exch ddef
+ 0 eq {
+ findcmykcustomcolor
+ }{
+ _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse
+ {
+ 4 1 roll 3 npop
+ findcmykcustomcolor
+ }{
+ 8 -4 roll 4 npop
+ findrgbcustomcolor
+ } ifelse
+ } ifelse
+ /_is exch ddef
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _is _gs 1 exch sub setcustomcolor
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/x
+{
+ /_gf exch ddef
+ findcmykcustomcolor
+ /_if exch ddef
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _if _gf 1 exch sub setcustomcolor
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/X
+{
+ /_gs exch ddef
+ findcmykcustomcolor
+ /_is exch ddef
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _is _gs 1 exch sub setcustomcolor
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/XK
+{
+ 3 -1 roll pop
+ 0 eq
+ {
+ 1 exch sub
+ 3 {dup 3 1 roll mul 5 1 roll} repeat
+ mul 4 1 roll
+ K
+ }
+ {
+ 1 exch sub 4 1 roll
+ 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat
+ 4 -1 roll pop
+ XA
+ } ifelse
+} def
+/Xk
+{
+ 3 -1 roll pop
+ 0 eq
+ {
+ 1 exch sub
+ 3 {dup 3 1 roll mul 5 1 roll} repeat
+ mul 4 1 roll
+ k
+ }
+ {
+ 1 exch sub 4 1 roll
+ 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat
+ 4 -1 roll pop
+ Xa
+ } ifelse
+} def
+/A
+{
+ pop
+} def
+/annotatepage
+{
+userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
+} def
+/XT {
+ pop pop
+} def
+/Xt {
+ pop
+} def
+/discard
+{
+ save /discardSave exch store
+ discardDict begin
+ /endString exch store
+ gt38?
+ {
+ 2 add
+ } if
+ load
+ stopped
+ pop
+ end
+ discardSave restore
+} bind def
+userdict /discardDict 7 dict dup begin
+put
+/pre38Initialize
+{
+ /endStringLength endString length store
+ /newBuff buffer 0 endStringLength getinterval store
+ /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
+ /newBuffLast newBuff endStringLength 1 sub 1 getinterval store
+} def
+/shiftBuffer
+{
+ newBuff 0 newBuffButFirst putinterval
+ newBuffLast 0
+ currentfile read not
+ {
+ stop
+ } if
+ put
+} def
+0
+{
+ pre38Initialize
+ mark
+ currentfile newBuff readstring exch pop
+ {
+ {
+ newBuff endString eq
+ {
+ cleartomark stop
+ } if
+ shiftBuffer
+ } loop
+ }
+ {
+ stop
+ } ifelse
+} def
+1
+{
+ pre38Initialize
+ /beginString exch store
+ mark
+ currentfile newBuff readstring exch pop
+ {
+ {
+ newBuff beginString eq
+ {
+ /layerCount dup load 1 add store
+ }
+ {
+ newBuff endString eq
+ {
+ /layerCount dup load 1 sub store
+ layerCount 0 eq
+ {
+ cleartomark stop
+ } if
+ } if
+ } ifelse
+ shiftBuffer
+ } loop
+ } if
+} def
+2
+{
+ mark
+ {
+ currentfile buffer {readline} stopped {
+ % assume error was due to overfilling the buffer
+ }{
+ not
+ {
+ stop
+ } if
+ endString eq {
+ cleartomark stop
+ } if
+ }ifelse
+ } loop
+} def
+3
+{
+ /beginString exch store
+ /layerCnt 1 store
+ mark
+ {
+ currentfile buffer {readline} stopped {
+ % assume error was due to overfilling the buffer
+ }{
+ not
+ {
+ stop
+ } if
+ dup beginString eq
+ {
+ pop /layerCnt dup load 1 add store
+ }
+ {
+ endString eq
+ {
+ layerCnt 1 eq
+ {
+ cleartomark stop
+ }
+ {
+ /layerCnt dup load 1 sub store
+ } ifelse
+ } if
+ } ifelse
+ }ifelse
+ } loop
+} def
+end
+userdict /clipRenderOff 15 dict dup begin
+put
+{
+ /n /N /s /S /f /F /b /B
+}
+{
+ {
+ _doClip 1 eq
+ {
+ /_doClip 0 ddef _eo {eoclip} {clip} ifelse
+ } if
+ newpath
+ } def
+} forall
+/Tr /pop load def
+/Bb {} def
+/BB /pop load def
+/Bg {12 npop} def
+/Bm {6 npop} def
+/Bc /Bm load def
+/Bh {4 npop} def
+end
+/Lb
+{
+ 6 npop
+ 7 2 roll
+ 5 npop
+ 0 eq
+ {
+ 0 eq
+ {
+ (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
+ }
+ {
+
+ /clipForward? true def
+
+ /Tx /pop load def
+ /Tj /pop load def
+
+ currentdict end clipRenderOff begin begin
+ } ifelse
+ }
+ {
+ 0 eq
+ {
+ save /discardSave exch store
+ } if
+ } ifelse
+} bind def
+/LB
+{
+ discardSave dup null ne
+ {
+ restore
+ }
+ {
+ pop
+ clipForward?
+ {
+ currentdict
+ end
+ end
+ begin
+
+ /clipForward? false ddef
+ } if
+ } ifelse
+} bind def
+/Pb
+{
+ pop pop
+ 0 (%AI5_EndPalette) discard
+} bind def
+/Np
+{
+ 0 (%AI5_End_NonPrinting--) discard
+} bind def
+/Ln /pop load def
+/Ap
+/pop load def
+/Ar
+{
+ 72 exch div
+ 0 dtransform dup mul exch dup mul add sqrt
+ dup 1 lt
+ {
+ pop 1
+ } if
+ setflat
+} def
+/Mb
+{
+ q
+} def
+/Md
+{
+} def
+/MB
+{
+ Q
+} def
+/nc 4 dict def
+nc begin
+/setgray
+{
+ pop
+} bind def
+/setcmykcolor
+{
+ 4 npop
+} bind def
+/setrgbcolor
+{
+ 3 npop
+} bind def
+/setcustomcolor
+{
+ 2 npop
+} bind def
+currentdict readonly pop
+end
+/XP
+{
+ 4 npop
+} bind def
+/XD
+{
+ pop
+} bind def
+end
+setpacking
+%%EndResource
+%%BeginResource: procset Adobe_cshow 2.0 8
+%%Title: (Writing System Operators)
+%%Version: 2.0 8
+%%CreationDate: (1/23/89) ()
+%%Copyright: ((C) 1992-1996 Adobe Systems Incorporated All Rights Reserved)
+currentpacking true setpacking
+userdict /Adobe_cshow 14 dict dup begin put
+/initialize
+{
+ Adobe_cshow begin
+ Adobe_cshow
+ {
+ dup xcheck
+ {
+ bind
+ } if
+ pop pop
+ } forall
+ end
+ Adobe_cshow begin
+} def
+/terminate
+{
+currentdict Adobe_cshow eq
+ {
+ end
+ } if
+} def
+/cforall
+{
+ /_lobyte 0 ddef
+ /_hibyte 0 ddef
+ /_cproc exch ddef
+ /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef
+ {
+ /_lobyte exch ddef
+ _hibyte 0 eq
+ _cscript 1 eq
+ _lobyte 129 ge _lobyte 159 le and
+ _lobyte 224 ge _lobyte 252 le and or and
+ _cscript 2 eq
+ _lobyte 161 ge _lobyte 254 le and and
+ _cscript 3 eq
+ _lobyte 161 ge _lobyte 254 le and and
+ _cscript 25 eq
+ _lobyte 161 ge _lobyte 254 le and and
+ _cscript -1 eq
+ or or or or and
+ {
+ /_hibyte _lobyte ddef
+ }
+ {
+ _hibyte 256 mul _lobyte add
+ _cproc
+ /_hibyte 0 ddef
+ } ifelse
+ } forall
+} def
+/cstring
+{
+ dup 256 lt
+ {
+ (s) dup 0 4 3 roll put
+ }
+ {
+ dup 256 idiv exch 256 mod
+ (hl) dup dup 0 6 5 roll put 1 4 3 roll put
+ } ifelse
+} def
+/clength
+{
+ 0 exch
+ { 256 lt { 1 } { 2 } ifelse add } cforall
+} def
+/hawidthshow
+{
+ {
+ dup cstring
+ show
+ _hvax _hvay rmoveto
+ _hvwb eq { _hvcx _hvcy rmoveto } if
+ } cforall
+} def
+/vawidthshow
+{
+ {
+ dup 255 le
+ _charorientation 1 eq
+ and
+ {
+ -90 rotate
+ 0 _fontRotateAdjust rmoveto
+ cstring
+ _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow
+ 0 _fontRotateAdjust neg rmoveto
+ 90 rotate
+ }
+ {
+ currentpoint
+ _fontHeight sub
+ exch _hvay sub exch _hvax sub
+ 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if
+ 3 2 roll
+ cstring
+ dup stringwidth pop 2 div neg _fontAscent neg rmoveto
+ show
+ moveto
+ } ifelse
+ } cforall
+} def
+/hvawidthshow
+{
+ 6 1 roll
+ /_hvay exch ddef
+ /_hvax exch ddef
+ /_hvwb exch ddef
+ /_hvcy exch ddef
+ /_hvcx exch ddef
+ _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse
+} def
+/hvwidthshow
+{
+ 0 0 3 -1 roll hvawidthshow
+} def
+/hvashow
+{
+ 0 0 0 6 -3 roll hvawidthshow
+} def
+/hvshow
+{
+ 0 0 0 0 0 6 -1 roll hvawidthshow
+} def
+currentdict readonly pop end
+setpacking
+%%EndResource
+%%BeginResource: procset Adobe_shading_AI8 1.0 0
+%%Title: (Adobe Illustrator 8 Shading Procset)
+%%Version: 1.0 0
+%%CreationDate: (12/17/97) ()
+%%Copyright: ((C) 1987-1997 Adobe Systems Incorporated All Rights Reserved)
+userdict /defaultpacking currentpacking put true setpacking
+userdict /Adobe_shading_AI8 10 dict dup begin put
+/initialize {
+ Adobe_shading_AI8 begin
+ Adobe_shading_AI8 bdprocs
+ Mesh /initialize get exec
+} def
+/terminate {
+ currentdict Adobe_shading_AI8 eq {
+ end
+ } if
+} def
+/bdprocs {
+ {
+ dup xcheck 1 index type /arraytype eq and {
+ bind
+ } if
+ pop pop
+ } forall
+} def
+/X! {pop} def
+/X# {pop pop} def
+/Mesh 40 dict def
+Mesh begin
+/initialize {
+ Mesh bdprocs
+ Mesh begin
+ /emulate? /AI8MeshEmulation where {
+ pop AI8MeshEmulation
+ }{
+ systemdict /shfill known not
+ } ifelse def
+ end
+} def
+/bd {
+ shadingdict begin
+} def
+/paint {
+ emulate? {
+ end
+ }{
+ /_lp /none ddef _fc /_lp /none ddef
+
+ /AIColorSpace AIColorSpace tocolorspace store
+ /ColorSpace AIColorSpace topsspace store
+
+ version_ge_3010.106 not systemdict /setsmoothness known and {
+ 0.0001 setsmoothness
+ } if
+
+ composite? {
+ /DataSource getdatasrc def
+ Matrix concat
+ currentdict end
+ shfill
+ }{
+ AIColorSpace makesmarks AIPlateList markingplate and not isoverprint and {
+ end
+ }{
+ /ColorSpace /DeviceGray store
+ /Decode [0 1 0 1 0 1] store
+ /DataSource getplatesrc def
+ Matrix concat
+ currentdict end
+ shfill
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/shadingdict 12 dict def
+shadingdict begin
+ /ShadingType 6 def
+ /BitsPerCoordinate 16 def
+ /BitsPerComponent 8 def
+ /BitsPerFlag 8 def
+end
+/datafile null def
+/databuf 256 string def
+/dataptr 0 def
+/srcspace null def
+/srcchannels 0 def
+/dstchannels 0 def
+/dstplate 0 def
+/srctodstcolor null def
+/getplatesrc {
+ /srcspace AIColorSpace store
+ /srcchannels AIColorSpace getnchannels store
+ /dstchannels 1 store
+ /dstplate getplateindex store
+ /srctodstcolor srcspace makesmarks {
+ dstplate 4 eq {
+ {1 exch sub}
+ }{
+ {srcspace tocmyk 3 dstplate sub index 1 exch sub 5 1 roll 4 {pop} repeat}
+ } ifelse
+ }{
+ {srcchannels {pop} repeat 1}
+ } ifelse store
+ /datafile getdatasrc store
+ /rdpatch168 load DataLength () /SubFileDecode filter
+} def
+/getdatasrc {
+ /rdcmntline load /ASCII85Decode filter
+} def
+/rdpatch168 {
+ /dataptr 0 store
+ 49 rdcount
+ 4 {
+ dup {pop srcchannels getint8} if
+ dup {pop srctodstcolor dstchannels putint8 true} if
+ } repeat
+ {databuf 0 dataptr getinterval}{()} ifelse
+} def
+/rdpatch3216 {
+ /dataptr 0 store
+ 97 rdcount
+ 4 {
+ dup {pop srcchannels getint16} if
+ dup {pop srctodstcolor dstchannels putint16 true} if
+ } repeat
+ {databuf 0 dataptr getinterval}{()} ifelse
+} def
+/rdcount {
+ dup 0 gt {
+ datafile databuf dataptr 4 -1 roll getinterval readstring
+ exch length dataptr add /dataptr exch store
+ }{
+ true
+ } ifelse
+} def
+/getint8 {
+ mark true 3 -1 roll
+ {
+ dup {pop datafile read} if
+ dup {pop 255 div true} if
+ } repeat
+ {
+ counttomark 1 add -1 roll pop true
+ }{
+ cleartomark false
+ } ifelse
+} def
+/putint8 {
+ dup dataptr add /dataptr exch store
+ dataptr exch
+ {
+ 1 sub exch
+ 255 mul cvi
+ databuf 2 index
+ 3 -1 roll put
+ } repeat
+ pop
+} def
+/getint16 {
+ mark true 3 -1 roll
+ {
+ dup {pop datafile read} if
+ dup {pop 256 mul datafile read} if
+ dup {pop add 65535 div true} if
+ } repeat
+ {
+ counttomark 1 add -1 roll pop true
+ }{
+ cleartomark false
+ } ifelse
+} def
+/putint16 {
+ dup 2 mul dataptr add /dataptr exch store
+ dataptr exch
+ {
+ 2 sub exch
+ 65535 mul cvi dup
+ 256 idiv databuf 3 index 3 -1 roll put
+ 256 mod databuf 2 index 1 add 3 -1 roll put
+ } repeat
+ pop
+} def
+/srcbuf 256 string def
+/rdcmntline {
+ currentfile srcbuf readline pop
+ (%) anchorsearch {pop} if
+} def
+/getplateindex {
+ 0 [cyan? magenta? yellow? black? customColor?] {{exit} if 1 add} forall
+} def
+/aicsarray 4 array def
+/aicsaltvals 4 array def
+/aicsaltcolr aicsaltvals def
+/tocolorspace {
+ dup type /arraytype eq {
+ mark exch aload pop
+ aicsarray 0 3 -1 roll put
+ aicsarray 1 3 -1 roll put
+ dup aicsarray 2 3 -1 roll put
+ gettintxform aicsarray 3 3 -1 roll put
+ counttomark aicsaltvals 0 3 -1 roll getinterval /aicsaltcolr exch store
+ aicsaltcolr astore pop pop
+ aicsarray
+ } if
+} def
+/subtintxform {aicsaltcolr {1 index mul exch} forall pop} def
+/addtintxform {aicsaltcolr {1 sub 1 index mul 1 add exch} forall pop} def
+/gettintxform {
+ /DeviceRGB eq {/addtintxform}{/subtintxform} ifelse load
+} def
+/getnchannels {
+ dup type /arraytype eq {0 get} if
+ colorspacedict exch get begin Channels end
+} def
+/makesmarks {
+ composite? {
+ pop true
+ }{
+ dup dup type /arraytype eq {0 get} if
+ colorspacedict exch get begin MarksPlate end
+ } ifelse
+} def
+/markingplate {
+ composite? {
+ pop true
+ }{
+ dup type /arraytype eq {
+ dup length getplateindex gt {getplateindex get}{pop false} ifelse
+ } if
+ } ifelse
+} def
+/tocmyk {
+ dup dup type /arraytype eq {0 get} if
+ colorspacedict exch get begin ToCMYK end
+} def
+/topsspace {
+ dup dup type /arraytype eq {0 get} if
+ colorspacedict exch get begin ToPSSpace end
+} def
+/colorspacedict 5 dict dup begin
+ /DeviceGray 4 dict dup begin
+ /Channels 1 def
+ /MarksPlate {pop black?} def
+ /ToCMYK {pop 1 exch sub 0 0 0 4 -1 roll} def
+ /ToPSSpace {} def
+ end def
+ /DeviceRGB 4 dict dup begin
+ /Channels 3 def
+ /MarksPlate {pop isCMYKSep?} def
+ /ToCMYK {pop _rgbtocmyk} def
+ /ToPSSpace {} def
+ end def
+ /DeviceCMYK 4 dict dup begin
+ /Channels 4 def
+ /MarksPlate {pop isCMYKSep?} def
+ /ToCMYK {pop} def
+ /ToPSSpace {} def
+ end def
+ /Separation 4 dict dup begin
+ /Channels 1 def
+ /MarksPlate {
+ /findcmykcustomcolor where {
+ pop dup 1 exch ToCMYK 5 -1 roll 1 get
+ findcmykcustomcolor 1 setcustomcolor
+ systemdict /currentgray get exec
+ 1 ne
+ }{
+ pop false
+ } ifelse
+ } def
+ /ToCMYK {
+ dup 2 get mark exch 4 2 roll
+ 3 get exec
+ counttomark -1 roll tocmyk
+ 5 -1 roll pop
+ } def
+ /ToPSSpace {} def
+ end def
+ /Process 4 dict dup begin
+ /Channels 1 def
+ /MarksPlate {
+ isCMYKSep? {
+ 1 exch ToCMYK 4 array astore getplateindex get 0 ne
+ }{
+ pop false
+ } ifelse
+ } def
+ /ToCMYK {
+ dup 2 get mark exch 4 2 roll
+ 3 get exec
+ counttomark -1 roll tocmyk
+ 5 -1 roll pop
+ } def
+ /ToPSSpace {
+ 4 array copy dup 0 /Separation put
+ } def
+ end def
+end def
+/isoverprint {
+ /currentoverprint where {pop currentoverprint}{_of} ifelse
+} def
+/version_ge_3010.106 {
+ version {cvr} stopped {
+ pop
+ false
+ }{
+ 3010.106 ge
+ } ifelse
+} def
+end
+end
+defaultpacking setpacking
+%%EndResource
+%%EndProlog
+%%BeginSetup
+userdict /_useSmoothShade false put
+userdict /_aicmykps true put
+userdict /_forceToCMYK true put
+Adobe_level2_AI5 /initialize get exec
+Adobe_cshow /initialize get exec
+Adobe_ColorImage_AI6 /initialize get exec
+Adobe_shading_AI8 /initialize get exec
+Adobe_Illustrator_AI5 /initialize get exec
+%AI3_BeginRider
+currentpacking true setpacking
+setpacking
+%AI3_EndRider
+%AI5_Begin_NonPrinting
+Np
+%AI8_PluginGroupInfo
+(Adobe Path Blends) (Adobe Blends Plugin) (LiveBlends.aip)
+%AI8_PluginGroupInfo
+(Adobe Tracing Object) (Tracing) (TracingSuite.aip)
+%AI8_PluginGroupInfo
+(Adobe Scatter Brush Tool) (Adobe Scatter Brush Plugin) (ScatterBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe Scatter Brush Tool) (Adobe Scatter Brush Plugin) (ScatterBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe PatternOnPath Brush Tool) (Adobe Pattern Brush Plugin) (ArtBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe PatternOnPath Brush Tool) (Adobe Pattern Brush Plugin) (ArtBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe ArtOnPath Brush Tool) (Adobe Art Brush Plugin) (ArtBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe ArtOnPath Brush Tool) (Adobe Art Brush Plugin) (ArtBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe Calligraphic Brush Tool) (Adobe Calligraphic Brush Plugin) (CalligBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe Flare Plugin) (Flare) (Flare.aip)
+%AI8_PluginGroupInfo
+(Adobe Symbolism) (Adobe Symbolism) (ParticleSystem.aip)
+%AI8_PluginGroupInfo
+(Adobe Deform Plugin) (Adobe Envelope Plugin) (Envelope and Warp.aip)
+%AI8_PluginGroupInfo
+(Pathfinder Suite) (Adobe Compound Shape) (PathFinderS.aip)
+%AI8_PluginGroupInfo
+(Adobe Planar Group) (Adobe Live Paint Plugin) (Live Paint.aip)
+%AI5_End_NonPrinting--
+%AI5_BeginPalette
+0 0 Pb
+0.74902 0.678431 0.670588 0.901961 ([Registration]) 0 Xs
+([Registration])
+Pc
+PB
+%AI5_EndPalette
+%%EndSetup
+%AI5_BeginLayer
+1 1 1 1 0 0 1 0 79 128 255 0 50 Lb
+(svg2759) Ln
+0 A
+u
+U
+u
+u
+0 O
+0.34902 0.231373 0.305882 0 0.666667 0.698039 0.670588 Xa
+0 J 0 j 1 w 4 M []0 d
+0 XR
+343.6401 319.9927 m
+456.9941 319.791 L
+458.5781 319.791 459.9922 320.0259 459.9922 316.6309 C
+459.8535 279.3018 L
+340.7793 279.3018 L
+340.7793 316.7695 L
+340.7793 318.4438 340.9414 319.9927 343.6401 319.9927 C
+f
+*u
+1 D
+0.74902 0.678431 0.670588 0.901961 0 0 0 Xa
+458.252 320.5 m
+342.7471 320.5 L
+341.5083 320.5 340.5 319.4922 340.5 318.2534 C
+340.5 279.0068 L
+340.5 278.7266 340.7275 278.5 341.0073 278.5 C
+459.9922 278.5 L
+460.2725 278.5 460.5 278.7266 460.5 279.0068 C
+460.5 318.2534 L
+460.5 319.4922 459.4922 320.5 458.252 320.5 C
+f
+0 D
+342.7471 319.4849 m
+458.252 319.4849 L
+458.9316 319.4849 459.4844 318.9326 459.4844 318.2534 C
+459.4844 302.4063 459.4844 290.9775 V
+376.6597 290.9775 L
+373.6338 285.5068 367.8042 281.792 361.1133 281.792 c
+354.4199 281.792 348.5918 285.5039 345.5674 290.9775 C
+341.5151 290.9775 L
+341.5151 302.4063 341.5151 318.2534 Y
+341.5151 318.9326 342.0679 319.4849 342.7471 319.4849 C
+f
+*U
+u
+*u
+0 0 0 0 1 1 1 Xa
+414.3086 287.752 m
+414.625 287.752 414.9121 287.7246 415.1738 287.6689 C
+415.4336 287.6133 415.6563 287.5225 415.8418 287.3955 C
+416.0273 287.2695 416.1719 287.1006 416.2744 286.8906 C
+416.376 286.6797 416.4277 286.4219 416.4277 286.1113 c
+416.4277 285.7773 416.3516 285.5 416.1992 285.2783 C
+416.0479 285.0547 415.8223 284.873 415.5254 284.7305 C
+415.9355 284.6133 416.2412 284.4082 416.4434 284.1133 c
+416.6445 283.8203 416.7461 283.4648 416.7461 283.0508 c
+416.7461 282.7168 416.6807 282.4277 416.5508 282.1836 C
+416.4209 281.9395 416.2451 281.7402 416.0254 281.5859 C
+415.8057 281.4307 415.5547 281.3164 415.2725 281.2422 C
+414.9902 281.168 414.7012 281.1309 414.4033 281.1309 C
+411.1875 281.1309 L
+411.1875 287.752 L
+414.3086 287.752 L
+414.3086 287.752 L
+f
+1 D
+414.123 285.0742 m
+414.3828 285.0742 414.5957 285.1367 414.7637 285.2598 C
+414.9316 285.3828 415.0146 285.583 415.0146 285.8604 c
+415.0146 286.0146 414.9863 286.1416 414.9316 286.2402 C
+414.875 286.3389 414.8008 286.416 414.708 286.4717 C
+414.6152 286.5273 414.5078 286.5664 414.3877 286.5869 c
+414.2676 286.6084 414.1406 286.6191 414.0117 286.6191 C
+412.6465 286.6191 L
+412.6465 285.0742 L
+414.123 285.0742 L
+f
+414.208 282.2637 m
+414.3506 282.2637 414.4863 282.2773 414.6172 282.3057 c
+414.7461 282.334 414.8613 282.3809 414.9609 282.4443 C
+415.0605 282.5098 415.1387 282.5977 415.1973 282.709 C
+415.2578 282.8203 415.2861 282.9629 415.2861 283.1357 c
+415.2861 283.4746 415.1895 283.7178 414.998 283.8633 C
+414.8057 284.0078 414.5518 284.0801 414.2363 284.0801 C
+412.6465 284.0801 L
+412.6465 282.2637 L
+414.208 282.2637 L
+f
+*U
+0 D
+417.0029 287.752 m
+418.6367 287.752 L
+420.1875 285.1367 L
+421.7285 287.752 L
+423.3516 287.752 L
+420.8936 283.6719 L
+420.8936 281.1309 L
+419.4336 281.1309 L
+419.4336 283.709 L
+417.0029 287.752 L
+f
+U
+u
+374.7539 300.894 m
+374.7588 293.3643 368.6577 287.2578 361.1274 287.252 C
+353.5977 287.248 347.4888 293.3477 347.4844 300.8774 C
+347.4844 300.8828 347.4844 300.8882 347.4844 300.894 C
+347.48 308.4238 353.5811 314.5308 361.1108 314.5352 C
+368.6421 314.54 374.7495 308.4395 374.7539 300.9102 C
+374.7539 300.9053 374.7539 300.8994 374.7539 300.894 C
+f
+u
+*u
+0.74902 0.678431 0.670588 0.901961 0 0 0 Xa
+372.2031 311.9985 m
+375.2266 308.9751 376.7388 305.2729 376.7388 300.894 c
+376.7388 296.5137 375.2529 292.8516 372.2813 289.9063 C
+369.1279 286.8037 365.4004 285.2529 361.1001 285.2529 c
+356.8511 285.2529 353.1885 286.791 350.1133 289.8672 C
+347.0371 292.9424 345.4995 296.6182 345.4995 300.894 c
+345.4995 305.1689 347.0371 308.8706 350.1133 311.9985 C
+353.1104 315.0225 356.7729 316.5347 361.1001 316.5347 c
+365.479 316.5347 369.1797 315.0225 372.2031 311.9985 C
+f
+1 D
+352.1484 309.9648 m
+349.5923 307.3828 348.3149 304.3589 348.3149 300.8896 c
+348.3149 297.4219 349.5801 294.4229 352.1094 291.8945 C
+354.6396 289.3643 357.6514 288.0996 361.146 288.0996 c
+364.6406 288.0996 367.6782 289.377 370.2603 291.9326 C
+372.7119 294.3066 373.938 297.291 373.938 300.8896 c
+373.938 304.4614 372.6919 307.4937 370.2012 309.9839 C
+367.7109 312.4741 364.6924 313.7197 361.146 313.7197 c
+357.5996 313.7197 354.5996 312.4678 352.1484 309.9648 C
+f
+0 D
+358.8755 302.4155 m
+358.4849 303.2671 357.9004 303.6929 357.1206 303.6929 c
+355.7417 303.6929 355.0527 302.7646 355.0527 300.9092 c
+355.0527 299.0537 355.7417 298.127 357.1206 298.127 c
+358.0308 298.127 358.6812 298.5781 359.0713 299.4834 C
+360.9819 298.4658 L
+360.0713 296.8477 358.7046 296.0391 356.8828 296.0391 c
+355.4775 296.0391 354.3516 296.4697 353.5063 297.3301 C
+352.6597 298.1914 352.2373 299.3799 352.2373 300.894 c
+352.2373 302.3813 352.6733 303.5625 353.5454 304.4375 c
+354.417 305.312 355.5029 305.749 356.8052 305.749 c
+358.731 305.749 360.1099 304.9902 360.9438 303.4741 C
+358.8755 302.4155 L
+f
+367.8657 302.4155 m
+367.4746 303.2671 366.9014 303.6929 366.146 303.6929 c
+364.7397 303.6929 364.0361 302.7646 364.0361 300.9092 c
+364.0361 299.0537 364.7397 298.127 366.146 298.127 c
+367.0576 298.127 367.6963 298.5781 368.0605 299.4834 C
+370.0142 298.4658 L
+369.105 296.8477 367.7402 296.0391 365.9219 296.0391 c
+364.5186 296.0391 363.395 296.4697 362.5503 297.3301 C
+361.707 298.1914 361.2842 299.3799 361.2842 300.894 c
+361.2842 302.3813 361.7134 303.5625 362.5708 304.4375 C
+363.4277 305.312 364.5186 305.749 365.8442 305.749 c
+367.7666 305.749 369.1436 304.9902 369.9746 303.4741 C
+367.8657 302.4155 L
+f
+*U
+U
+/AdobeObjectMatrix (1.000000 0.000000 0.000000 1.000000 -289.615692 99.065300) XT
+U
+/AdobeObjectMatrix (0.872921 0.000000 0.000000 0.872921 50.125359 143.214401) XT
+u
+0 0 0 0 1 1 1 Xa
+416.7676 316.0215 m
+422.6982 316.0215 427.5059 311.2139 427.5059 305.2832 c
+427.5059 299.353 422.6982 294.5449 416.7676 294.5449 c
+410.8359 294.5449 406.0273 299.353 406.0273 305.2832 c
+406.0273 311.2139 410.8359 316.0215 416.7676 316.0215 c
+f
+u
+1 D
+0.74902 0.678431 0.670588 0.901961 0 0 0 Xa
+419.875 308.3901 m
+419.875 308.8042 419.5391 309.1392 419.127 309.1392 C
+414.3828 309.1392 L
+413.9707 309.1392 413.6348 308.8042 413.6348 308.3901 C
+413.6348 303.6475 L
+414.957 303.6475 L
+414.957 298.0313 L
+418.5518 298.0313 L
+418.5518 303.6475 L
+419.875 303.6475 L
+419.875 308.3901 L
+419.875 308.3901 L
+f
+0 D
+416.7539 313.0083 m
+417.6504 313.0083 418.377 312.2817 418.377 311.3857 c
+418.377 310.4897 417.6504 309.7632 416.7539 309.7632 c
+415.8584 309.7632 415.1318 310.4897 415.1318 311.3857 c
+415.1318 312.2817 415.8584 313.0083 416.7539 313.0083 c
+f
+U
+*u
+1 D
+416.7402 317.1143 m
+413.5273 317.1143 410.8086 315.9937 408.583 313.752 C
+406.2998 311.4331 405.1582 308.6885 405.1582 305.5195 c
+405.1582 302.3511 406.2998 299.6255 408.583 297.3457 C
+410.8672 295.0654 413.5859 293.9258 416.7402 293.9258 c
+419.9336 293.9258 422.7012 295.0742 425.041 297.375 C
+427.248 299.5576 428.3516 302.2729 428.3516 305.5195 c
+428.3516 308.7666 427.2285 311.5103 424.9844 313.752 C
+422.7383 315.9937 419.9912 317.1143 416.7402 317.1143 c
+f
+0 D
+416.7695 315.0278 m
+419.4004 315.0278 421.6367 314.0996 423.4746 312.2446 C
+425.332 310.4092 426.2598 308.1675 426.2598 305.5195 c
+426.2598 302.853 425.3516 300.6401 423.5322 298.8818 C
+421.6152 296.9883 419.3623 296.041 416.7695 296.041 c
+414.1748 296.041 411.9395 296.9785 410.0645 298.8525 C
+408.1855 300.7275 407.248 302.9497 407.248 305.5195 c
+407.248 308.0903 408.1973 310.3315 410.0938 312.2446 C
+411.9121 314.0996 414.1367 315.0278 416.7695 315.0278 c
+f
+*U
+U
+U
+/AdobeObjectMatrix (0.993773 0.000000 0.000000 0.993670 -177.692673 0.000001) XT
+U
+LB
+%AI5_EndLayer--
+%AI3_BeginCrops
+userdict /AI3_noCropMarks known not {
+0 A
+u
+u
+0 R
+0 G
+0 J 0 j 0.5 w 4 M []0 d
+0 XR
+331.5 278.5 m
+304.5 278.5 L
+S
+340.5 269.5 m
+340.5 242.5 L
+S
+U
+u
+331.5 320.5 m
+304.5 320.5 L
+S
+340.5 329.5 m
+340.5 356.5 L
+S
+U
+u
+469.5 320.5 m
+496.5 320.5 L
+S
+460.5 329.5 m
+460.5 356.5 L
+S
+U
+u
+469.5 278.5 m
+496.5 278.5 L
+S
+460.5 269.5 m
+460.5 242.5 L
+S
+U
+U
+} if
+%AI3_EndCrops
+%%PageTrailer
+gsave annotatepage grestore showpage
+%%Trailer
+Adobe_Illustrator_AI5 /terminate get exec
+Adobe_shading_AI8 /terminate get exec
+Adobe_ColorImage_AI6 /terminate get exec
+Adobe_cshow /terminate get exec
+Adobe_level2_AI5 /terminate get exec
+%%EOF
diff --git a/macros/xetex/latex/langsci/ccbynd.eps b/macros/xetex/latex/langsci/ccbynd.eps
new file mode 100644
index 0000000000..e8ca9d9952
--- /dev/null
+++ b/macros/xetex/latex/langsci/ccbynd.eps
@@ -0,0 +1,3340 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: Adobe Illustrator(R) 8.0
+%%AI8_CreatorVersion: 13.0.1
+%%For: (Alex Roberts) ()
+%%Title: (by-nd.eps)
+%%CreationDate: 3/27/08 4:27 PM
+%%BoundingBox: 340 278 461 321
+%%HiResBoundingBox: 340.5 278.5 460.5 320.5
+%%DocumentProcessColors: Cyan Magenta Yellow Black
+%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
+%%+ procset Adobe_ColorImage_AI6 1.3 0
+%%+ procset Adobe_Illustrator_AI5 1.3 0
+%%+ procset Adobe_cshow 2.0 8
+%%+ procset Adobe_shading_AI8 1.0 0
+%AI5_FileFormat 4.0
+%AI3_ColorUsage: Color
+%AI3_IncludePlacedImages
+%AI7_ImageSettings: 1
+%%CMYKProcessColor: 0.74902 0.678431 0.670588 0.901961 ([Registration])
+%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set)
+%%+ Options: 1 16 0 1 1 1 0 0 0 0 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 2 3 4
+%%+ PPD: 1 21 0 0 60 45 2 2 1 0 0 1 0 0 0 0 0 0 0 0 -1 -1 ()
+%AI3_Cropmarks: 340.5 278.5 460.5 320.5
+%AI3_TemplateBox: 400.5 299.5 400.5 299.5
+%AI3_TileBox: 112 -56 688 678
+%AI3_DocumentPreview: Macintosh_ColorPic
+%AI5_ArtSize: 800 600
+%AI5_RulerUnits: 6
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI8_OpenToView: -381 756 1 1566 923 26 0 0 73 75 0 0
+%AI5_OpenViewLayers: 7
+%%PageOrigin:0 0
+%AI7_GridSettings: 48 8 48 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%AI7_Thumbnail: 128 48 8
+%%BeginData: 8526 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45A8FD7DF827A8F8275258527D5258527D5258527D5258527D525852
+%7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52
+%58527D5258527D5258527D5258527D5258527D5258527D5258527D525852
+%7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52
+%58527D5258527D5258527D5258527DF8F8F852A87D837DA87D837DA87D83
+%7DA87D837DA87D847DA87D847DA87D837DA87D837DA87D837DA87D837DA8
+%7D837DA87D837DA87D837DA87D837DA87D837DA87DA87DA883A87DA87D83
+%7DA87D837DA87D837DA87D837DA87D837DA87D837DA87DA87DA883A87DA8
+%7D837DA87D837DA87D837DA87D837DA87D837DA87D837D7DF8F8FD127D83
+%FD2C7D52522DFD0452FD177D587D52522E5252FD197D52F8F852A87D837D
+%837D837D837D837DA87D835858FD07277D7DA87D847D837D837D837D837D
+%837D837D837D837D837D837D837D837D837D837DA87D592727FD05F82727
+%527DA87D837D837D837D837D837D837D837DA87D7D2727FD05F80404527D
+%A87D837D837D837D837D837D837D837D837D837D837D7DF8F8FD0C7D837D
+%52FD0BF827277D7D83FD1B7D835227FD0BF8275283FD0F7D52FD0CF82DFD
+%157D52F8F858837D837D7D7D837D7D7DA85227FD0FF8277DA87D7D7D837D
+%7D7D837D7D7D837D7D7D837D7D7D837D7D7D837DA852FD04F8527DA8A8A8
+%7D7DFD04F827A87D7D7D837D7D7D837D7D7DA87D27F8F8F85252A8A8A87D
+%7D27F8F8F8277D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7DF8F8FD
+%0B7D27FD06F827275252522727FD06F85283FD177D8352F8F8F852FD09FF
+%52F8F8F82783FD0A7D5227F8F8F8A8FD08FF7DF8F8F804FD137D52F8F858
+%A87D837D837D837D8327FD04F8277DFD08FFA85227FD04F852A87D837D83
+%7D837D837D837D837D837D837D837D837DA858F8F8F87DFD04FF7D277DFD
+%04FFA827F8F852A87D837D837D837D837D27F8F852FD0BFFA852F8F827A8
+%7D837D837D837D837D837D837D837D837D7DF8F8FD087D8327FD04F87DFD
+%0CFFA852FD04F85283FD157D27F8F87DFD04FFA8F8F8F8A8FD04FFA8F8F8
+%F858FD087D27F8F852FD0DFFA827F8F85284FD0F7D8352F8F852A87D7D7D
+%837DA827FD04F8A8FD0FFF7DFD04F852A87D837D7D7D837D7D7D837D7D7D
+%837D7D7D837D52F8F852FD05FF7DF8F8F87DFD05FF7DF8F82D7D7D7D83FD
+%047DF8F827FD0FFFA827F8277D837D7D7D837D7D7D837D7D7D83FD047DF8
+%F859FD057D8352FD04F8A8FD11FF7DFD04F858FD137DF8F8F8FD07FF5227
+%52FD07FF27F8F8FD077D27F8F8A8FD10FF7DF8F852FD107D52F8F852A87D
+%837DA87D27F8F8F8FD14FF7DF8F8F82D7D847D837D837D837D837D837D83
+%7D837DA852F8F8A8FD05FFA8527D527D52A8FD05FFA8F8F852A87D837D83
+%7D27F852FD12FF27F827A87D837D837D837D837D837D837D837D7DF8F8FD
+%067D52F8F8F87DFD15FF52F8F8F859FD117D52F8F8A8FD05FF27FD06F8FD
+%06FF27F827FD057D52F8F87DFD04FFA8527D7D7D52FD047DFD04FF7DF8F8
+%58FD0F7D52F8F858837D837D7DF8F8F852FD17FF27F8F827847D837D7D7D
+%837D7D7D837D7D7D837D8327F827FD06FF27FD06F8A8FD05FF52F8F8837D
+%7D7DA852F8F8FD05FF52FD08F852FD04FF7DF8F87D7D837D7D7D837D7D7D
+%837D7D7D837D7DF8F8FD047D8327F8F8F8A8FD17FF52F8F8F858FD107D27
+%F852FD06FFFD07F8FD06FF7DF8F858FD047D52F827A8FD04FF7DF827F827
+%F827F82752FD04FFA8F8F852FD0F7D52F8F858A87DA87D27F8F852FD05FF
+%7D52275252FD05FF7D5227527DFD05FFF8F8F8527D837D837D837D837D83
+%7D837D837D7DF8F87DFD06FF27FD05F827FD06FF7DF8F87D7D837DA82DF8
+%27FD14FF27F8587D837D837D837D837D837D837D837D7DF8F8FD057DF8F8
+%F8A8FD04FF52FD06F8A8FFA8FD06F827FD04FF52F8F82783FD0F7D27F87D
+%FD06FFFD07F8FD06FF7DF8F858FD047D52F827FD06FF7DA87DA87DA87DA8
+%A8FD04FFA8F8F852FD0E7D8352F8F852A87D8352F8F8F8A8FFFFFF52F8F8
+%F82752F8F8F8FF27F8F8275227F8F852FFFFFF7DF8F8277D7D7D837D7D7D
+%837D7D7D837D7D7D8327F827FD06FF52FD05F852FD06FF52F8F87D7D837D
+%A827F8F8FD05FF52FD08F852FD04FFA8F8F8FD047D837D7D7D837D7D7D83
+%FD047DF8F8597D7D7D52F8F8F8FFFFFFA8F8F8F852FFFF52F8A87DF8F8F8
+%A8FFA82727A8FFFFFFA8F8F8F8FD107D27F827A8FD06FF7DF8F8F87DFD07
+%FF27F827FD057D52F8F8A8FD04FF7DFD08F827FD04FF7DF8F852FD0F7D52
+%F8F852A87DA852F8F852FFFFFFA8F8F8F8FD06FF7DF8F852FFFFFFA8FD05
+%FFA8F8F8277D837D837D837D837D837D837D837DA852F8F8A8FD06FF7DF8
+%F8F852FD07FFF8F827A87D837D837D27F87DFD04FFFD05A8FFA8A8A8FD05
+%FF27F8F8837D837D837D837D837D837D837D837D7DF8F8FD047D52F8F827
+%FFFFFF7DF8F827FD06FF27F8F87DFD09FFA8F8F8F8FD117DF8F827FD06FF
+%7DF8F8F87DFD06FF52F8F8FD077DF8F8F8FD11FFA8F8F82DFD107D52F8F8
+%58837DA852F8F852FFFFFFA8F8F8F8FD06FF52F8F852FD09FFA8F8F8F87D
+%837D7D7D837D7D7D837D7D7D837D7D7D52F8F87DFD05FF7DF8F8F852FD05
+%FFA827F8277D837D7D7D837D52F8F852FD10FF52F8F858837D837D7D7D83
+%7D7D7D837D7D7D837D7DF8F8FD047D52F8F827FFFFFFA8F8F8F87DFFFFA8
+%27FF52F8F827FFFFFF7D52FD04FFA8F8F8F8FD117D52F8F8F8A8FD04FF7D
+%F8F8F87DFD05FF27F8F852FD087D27F8F87DFD0EFF52F8F82783FD107D52
+%F8F858A87DA852F8F827FD04FF27F8F8277DA827F8F8A8F8F8F8527D7DF8
+%F852FFFFFF7DF8F8277DA87D837D837D837D837D837D837D837DA852F8F8
+%27A8FFFFFF7DF8F8F87DFD04FF27F8F827A87D837D837D837DA87D27F8F8
+%7DFD0CFF7DF8F8F8837D837D837D837D837D837D837D837D837D7DF8F8FD
+%057DF8F8F8A8FFFFFFA8FD07F852FF7DFD07F8A8FFFFFF52F8F827FD127D
+%8327F8F8F87DFFFFFFA8FFA8FFFFFF7D27F8F804FD0A7D8352F8F8F852FD
+%09FFA852F8F8F8FD127D8352F8F852A87D837D27F8F852FD04FFA827FD04
+%F87DFFFFFF7DFD04F827A8FD04FF27F8F8527D7D7D837D7D7D837D7D7D83
+%7D7D7D837D7D7DA82DF8F8F8277DA8FFFFFFA87D27F8F8F8277D7D837D7D
+%7D837D7D7D837DA852FD04F87DA8FD04FFA85227F8F8F8FD047D837D7D7D
+%837D7D7D837D7D7D83FD047DF8F859FD047D27F8F827A8FD05FFA8A87DFF
+%FFFFA8FFFFFFA8A8A8FD05FF7DF8F8F85283FD137D8352FD06F827FD06F8
+%2783FD0D7D835227FD05F827F827FD04F827FD157D52F8F852A87D837D7D
+%F8F8F87DFD17FF52F8F8F8A87D837D837D837D837D837D837D837D837D83
+%7D837DA87D52FD09F85258A87D837D837D837D837D837D837D837DA87D52
+%FD09F82752A87D837D837D837D837D837D837D837D837D837D837D7DF8F8
+%FD067D27F8F8F8FD16FF7DF8F8F852FD1A7D52522727275252FD177D5252
+%27272752527D7D84FD167D52F8F858837D837D8452F8F8F827FD15FFF8F8
+%F8277D837D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7DA8
+%7D847DA87D847D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D83
+%7DA87D847DA87D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D83
+%7D7DF8F8FD047D837D7D27F8F8F852FD13FFFD04F852837D7D7D837D7D7D
+%837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D
+%7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D
+%837D7D7D837D7D7D837D7D7D837D7D7D837D7D7DA852F8F8527D527D5283
+%7D83FD04F852FD11FF27F8F8F827A87D7D527D5258527D5258527D525852
+%7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52
+%58527D5258527D5258527D5258527D5258527D5258527D5258527D525852
+%7D5258527D5258527D5258527D5252FD07F852837D7DFD04F827A8FD0DFF
+%A8FD04F8277D7D8327FD5FF8277D837D7DFD05F87DA8FD09FFA852FD04F8
+%27837DA852FD61F82DFD047DFD06F8277D7DA87DA87D7D27FD05F8277D7D
+%8358FD63F8527DA87D7D27FD08F827FD07F82752A87DA87D27FD17F8277D
+%A87D7D27277D7DF8F827A827FD10F87D7DF8F8527D2727A87DA85227FD22
+%F852FD047D5227FD0DF82752A87D7D7D27FD18F852FFA8A8FFFFF8A8FF27
+%F8A8FF27FD10F8FFFF52F852FFF87DFFFFA8FFA8FD23F8527DA87DA87D7D
+%2727FD07F8272E7D7D837DA87D27FD19F852FF27F87DFF27F8FFA852FF7D
+%FD11F8FFFFFFF852FF277DFFF8F852FF52FD23F82752837D7D7D837D7D52
+%58527D527D7D83FD047D52FD1BF827FF7D7DA8A8F8F852FFFFFFFD12F8FF
+%A8FF7D27FFF87DFF27F8F8FFA8FD24F82752837DA87D837DA87DA87DA87D
+%837DA87D7D27FD1CF852FFA87DFFFF52F8F8A8FF52FD12F8FF527DFF7DFF
+%277DFF27F8F8FFA8FD27F85252837D7D7D837D7D7D837D7D5227FD1EF852
+%FFF8F8F8FF7DF8F87DFF27FD12F8FF7DF8FFFFFFF87DFFF8F852FF7DFD29
+%F82752527D527D587D5252FD21F852FFA852A8FF7DF8F87DFF27FD12F8FF
+%7DF827FFFF277DFF7DA8FFFF27FD54F827A8A8FFA87DF8F8F852A827FD12
+%F8A87DF8F87DA8F852FD04A827FDFCF8FD1DF852FD7F27FD7FFFFF
+%%EndData
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset Adobe_level2_AI5 1.2 0
+%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
+%%Version: 1.2 0
+%%CreationDate: (04/10/93) ()
+%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
+userdict /Adobe_level2_AI5 26 dict dup begin
+ put
+ /packedarray where not
+ {
+ userdict begin
+ /packedarray
+ {
+ array astore readonly
+ } bind def
+ /setpacking /pop load def
+ /currentpacking false def
+ end
+ 0
+ } if
+ pop
+ userdict /defaultpacking currentpacking put true setpacking
+ /initialize
+ {
+ Adobe_level2_AI5 begin
+ } bind def
+ /terminate
+ {
+ currentdict Adobe_level2_AI5 eq
+ {
+ end
+ } if
+ } bind def
+ mark
+ /setcustomcolor where not
+ {
+ /findcmykcustomcolor
+ {
+ (AI8_CMYK_CustomColor)
+ 6 packedarray
+ } bind def
+ /findrgbcustomcolor
+ {
+ (AI8_RGB_CustomColor)
+ 5 packedarray
+ } bind def
+ /setcustomcolor
+ {
+ exch
+ aload pop dup
+ (AI8_CMYK_CustomColor) eq
+ {
+ pop pop
+ 4
+ {
+ 4 index mul
+ 4 1 roll
+ } repeat
+ 5 -1 roll pop
+ setcmykcolor
+ }
+ {
+ dup (AI8_RGB_CustomColor) eq
+ {
+ pop pop
+ 3
+ {
+ 1 exch sub
+ 3 index mul
+ 1 exch sub
+ 3 1 roll
+ } repeat
+ 4 -1 roll pop
+ setrgbcolor
+ }
+ {
+ pop
+ 4
+ {
+ 4 index mul 4 1 roll
+ } repeat
+ 5 -1 roll pop
+ setcmykcolor
+ } ifelse
+ } ifelse
+ }
+ def
+ } if
+ /setAIseparationgray
+ {
+ false setoverprint
+ 0 setgray
+ /setseparationgray where{
+ pop setseparationgray
+ }{
+ /setcolorspace where{
+ pop
+ [/Separation (All) /DeviceCMYK {dup dup dup}] setcolorspace
+ 1 exch sub setcolor
+ }{
+ setgray
+ }ifelse
+ }ifelse
+ } def
+
+ /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
+ userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
+ userdict /level2?
+ systemdict /languagelevel known dup
+ {
+ pop systemdict /languagelevel get 2 ge
+ } if
+ put
+/level2ScreenFreq
+{
+ begin
+ 60
+ HalftoneType 1 eq
+ {
+ pop Frequency
+ } if
+ HalftoneType 2 eq
+ {
+ pop GrayFrequency
+ } if
+ HalftoneType 5 eq
+ {
+ pop Default level2ScreenFreq
+ } if
+ end
+} bind def
+userdict /currentScreenFreq
+ level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
+level2? not
+ {
+ /setcmykcolor where not
+ {
+ /setcmykcolor
+ {
+ exch .11 mul add exch .59 mul add exch .3 mul add
+ 1 exch sub setgray
+ } def
+ } if
+ /currentcmykcolor where not
+ {
+ /currentcmykcolor
+ {
+ 0 0 0 1 currentgray sub
+ } def
+ } if
+ /setoverprint where not
+ {
+ /setoverprint /pop load def
+ } if
+ /selectfont where not
+ {
+ /selectfont
+ {
+ exch findfont exch
+ dup type /arraytype eq
+ {
+ makefont
+ }
+ {
+ scalefont
+ } ifelse
+ setfont
+ } bind def
+ } if
+ /cshow where not
+ {
+ /cshow
+ {
+ [
+ 0 0 5 -1 roll aload pop
+ ] cvx bind forall
+ } bind def
+ } if
+ } if
+ cleartomark
+ /anyColor?
+ {
+ add add add 0 ne
+ } bind def
+ /testColor
+ {
+ gsave
+ setcmykcolor currentcmykcolor
+ grestore
+ } bind def
+ /testCMYKColorThrough
+ {
+ testColor anyColor?
+ } bind def
+ userdict /composite?
+ 1 0 0 0 testCMYKColorThrough
+ 0 1 0 0 testCMYKColorThrough
+ 0 0 1 0 testCMYKColorThrough
+ 0 0 0 1 testCMYKColorThrough
+ and and and
+ put
+ composite? not
+ {
+ userdict begin
+ gsave
+ /cyan? 1 0 0 0 testCMYKColorThrough def
+ /magenta? 0 1 0 0 testCMYKColorThrough def
+ /yellow? 0 0 1 0 testCMYKColorThrough def
+ /black? 0 0 0 1 testCMYKColorThrough def
+ grestore
+ /isCMYKSep? cyan? magenta? yellow? black? or or or def
+ /customColor? isCMYKSep? not def
+ end
+ } if
+ end defaultpacking setpacking
+%%EndResource
+%%BeginProcSet: Adobe_ColorImage_AI6 1.3 0
+userdict /Adobe_ColorImage_AI6 known not
+{
+ userdict /Adobe_ColorImage_AI6 53 dict put
+} if
+userdict /Adobe_ColorImage_AI6 get begin
+/initialize {
+ Adobe_ColorImage_AI6 begin
+ Adobe_ColorImage_AI6 {
+ dup type /arraytype eq {
+ dup xcheck {
+ bind
+ } if
+ } if
+ pop pop
+ } forall
+} def
+/terminate { end } def
+currentdict /Adobe_ColorImage_AI6_Vars known not {
+ /Adobe_ColorImage_AI6_Vars 41 dict def
+} if
+Adobe_ColorImage_AI6_Vars begin
+ /plateindex -1 def
+ /_newproc null def
+ /_proc1 null def
+ /_proc2 null def
+ /sourcearray 4 array def
+ /_ptispace null def
+ /_ptiname null def
+ /_pti0 0 def
+ /_pti1 0 def
+ /_ptiproc null def
+ /_ptiscale 0 def
+ /_pticomps 0 def
+ /_ptibuf 0 string def
+ /_gtigray 0 def
+ /_cticmyk null def
+ /_rtirgb null def
+ /XIEnable true def
+ /XIType 0 def
+ /XIEncoding 0 def
+ /XICompression 0 def
+ /XIChannelCount 0 def
+ /XIBitsPerPixel 0 def
+ /XIImageHeight 0 def
+ /XIImageWidth 0 def
+ /XIImageMatrix null def
+ /XIRowBytes 0 def
+ /XIFile null def
+ /XIBuffer1 null def
+ /XIBuffer2 null def
+ /XIBuffer3 null def
+ /XIDataProc null def
+ /XIColorSpace /DeviceGray def
+ /XIColorValues 0 def
+ /XIPlateList false def
+end
+/ci6colorimage /colorimage where {/colorimage get}{null} ifelse def
+/ci6image systemdict /image get def
+/ci6curtransfer systemdict /currenttransfer get def
+/ci6curoverprint /currentoverprint where {/currentoverprint get}{{_of}} ifelse def
+/ci6foureq {
+ 4 index ne {
+ pop pop pop false
+ }{
+ 4 index ne {
+ pop pop false
+ }{
+ 4 index ne {
+ pop false
+ }{
+ 4 index eq
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6testplate {
+ Adobe_ColorImage_AI6_Vars begin
+ /plateindex -1 def
+ /setcmykcolor where {
+ pop
+ gsave
+ 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+ 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+ 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+ 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
+ grestore
+ 1 0 0 0 ci6foureq {
+ /plateindex 0 def
+ }{
+ 0 1 0 0 ci6foureq {
+ /plateindex 1 def
+ }{
+ 0 0 1 0 ci6foureq {
+ /plateindex 2 def
+ }{
+ 0 0 0 1 ci6foureq {
+ /plateindex 3 def
+ }{
+ 0 0 0 0 ci6foureq {
+ /plateindex 5 def
+ } if
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ pop pop pop pop
+ } if
+ plateindex
+ end
+} def
+/ci6concatprocs {
+ /packedarray where {
+ pop dup type /packedarraytype eq 2 index type
+ /packedarraytype eq or
+ }{
+ false
+ } ifelse
+ {
+ /_proc2 exch cvlit def
+ /_proc1 exch cvlit def
+ _proc1 aload pop
+ _proc2 aload pop
+ _proc1 length
+ _proc2 length add
+ packedarray cvx
+ }{
+ /_proc2 exch cvlit def
+ /_proc1 exch cvlit def
+ /_newproc _proc1 length _proc2 length add array def
+ _newproc 0 _proc1 putinterval
+ _newproc _proc1 length _proc2 putinterval
+ _newproc cvx
+ } ifelse
+} def
+/ci6istint {
+ type /arraytype eq
+} def
+/ci6isspot {
+ dup type /arraytype eq {
+ dup length 1 sub get /Separation eq
+ }{
+ pop false
+ } ifelse
+} def
+/ci6spotname {
+ dup ci6isspot {dup length 2 sub get}{pop ()} ifelse
+} def
+/ci6altspace {
+ aload pop pop pop ci6colormake
+} def
+/ci6numcomps {
+ dup /DeviceGray eq {
+ pop 1
+ }{
+ dup /DeviceRGB eq {
+ pop 3
+ }{
+ /DeviceCMYK eq {
+ 4
+ }{
+ 1
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6marksplate {
+ dup /DeviceGray eq {
+ pop plateindex 3 eq
+ }{
+ dup /DeviceRGB eq {
+ pop plateindex 5 ne
+ }{
+ dup /DeviceCMYK eq {
+ pop plateindex 5 ne
+ }{
+ dup ci6isspot {
+ /findcmykcustomcolor where {
+ pop
+ dup length 2 sub get
+ 0.1 0.1 0.1 0.1 5 -1 roll
+ findcmykcustomcolor 1 setcustomcolor
+ systemdict /currentgray get exec
+ 1 ne
+ }{
+ pop plateindex 5 ne
+ } ifelse
+ }{
+ pop plateindex 5 ne
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6colormake {
+ dup ci6numcomps
+ exch 1 index 2 add 1 roll
+ dup 1 eq {pop}{array astore} ifelse
+ exch
+} def
+/ci6colorexpand {
+ dup ci6spotname exch
+ dup ci6istint {
+ ci6altspace
+ exch 4 1 roll
+ }{
+ 1 3 1 roll
+ } ifelse
+} def
+/ci6colortint {
+ dup /DeviceGray eq {
+ 3 1 roll 1 exch sub mul 1 exch sub exch
+ }{
+ dup /DeviceRGB eq {
+ 3 1 roll {1 exch sub 1 index mul 1 exch sub exch} forall pop 3 array astore exch
+ }{
+ dup /DeviceCMYK eq {
+ 3 1 roll {1 index mul exch} forall pop 4 array astore exch
+ }{
+ 3 1 roll mul exch
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6colortocmyk {
+ dup /DeviceGray eq {
+ pop 1 exch sub 0 0 0 4 -1 roll 4 array astore
+ }{
+ dup /DeviceRGB eq {
+ pop aload pop _rgbtocmyk 4 array astore
+ }{
+ dup /DeviceCMYK eq {
+ pop
+ }{
+ ci6altspace ci6colortint ci6colortocmyk
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6makeimagedict {
+ 7 dict begin
+ /ImageType 1 def
+ /Decode exch def
+ /DataSource exch def
+ /ImageMatrix exch def
+ /BitsPerComponent exch def
+ /Height exch def
+ /Width exch def
+ currentdict end
+} def
+/ci6stringinvert {
+ 0 1 2 index length 1 sub {
+ dup 2 index exch get 255 exch sub 2 index 3 1 roll put
+ } for
+} def
+/ci6stringknockout {
+ 0 1 2 index length 1 sub {
+ 255 2 index 3 1 roll put
+ } for
+} def
+/ci6stringapply {
+ 0 1 4 index length 1 sub {
+ dup
+ 4 index exch get
+ 3 index 3 1 roll
+ 3 index exec
+ } for
+ pop exch pop
+} def
+/ci6walkrgbstring {
+ 0 3 index
+ dup length 1 sub 0 3 3 -1 roll {
+ 3 getinterval {} forall
+ 5 index exec
+ 3 index
+ } for
+
+ 5 {pop} repeat
+} def
+/ci6walkcmykstring
+{
+ 0 3 index
+ dup length 1 sub 0 4 3 -1 roll {
+ 4 getinterval {} forall
+
+ 6 index exec
+
+ 3 index
+
+ } for
+
+ 5 { pop } repeat
+
+} def
+/ci6putrgbtograystr
+{
+ .11 mul exch
+
+ .59 mul add exch
+
+ .3 mul add
+
+ cvi 3 copy put
+
+ pop 1 add
+} def
+/ci6putcmyktograystr
+{
+ exch .11 mul add
+
+ exch .59 mul add
+
+ exch .3 mul add
+
+ dup 255 gt { pop 255 } if
+
+ 255 exch sub cvi 3 copy put
+
+ pop 1 add
+} def
+/ci6rgbtograyproc {
+ Adobe_ColorImage_AI6_Vars begin
+ sourcearray 0 get exec
+ XIBuffer3
+ dup 3 1 roll
+
+ /ci6putrgbtograystr load exch
+ ci6walkrgbstring
+ end
+} def
+/ci6cmyktograyproc {
+ Adobe_ColorImage_AI6_Vars begin
+ sourcearray 0 get exec
+ XIBuffer3
+ dup 3 1 roll
+
+ /ci6putcmyktograystr load exch
+ ci6walkcmykstring
+ end
+} def
+/ci6separatecmykproc {
+ Adobe_ColorImage_AI6_Vars begin
+ sourcearray 0 get exec
+
+ XIBuffer3
+
+ 0 2 index
+
+ plateindex 4 2 index length 1 sub {
+ get 255 exch sub
+
+ 3 copy put pop 1 add
+
+ 2 index
+ } for
+ pop pop exch pop
+ end
+} def
+
+/ci6compositeimage {
+ dup 1 eq {
+ pop pop image
+ }{
+ /ci6colorimage load null ne {
+ ci6colorimage
+ }{
+ 3 1 roll pop
+ sourcearray 0 3 -1 roll put
+ 3 eq {/ci6rgbtograyproc}{/ci6cmyktograyproc} ifelse load
+ image
+ } ifelse
+ } ifelse
+} def
+/ci6knockoutimage {
+ gsave
+ 0 ci6curtransfer exec 1 ci6curtransfer exec
+ eq {
+ 0 ci6curtransfer exec 0.5 lt
+ }{
+ 0 ci6curtransfer exec 1 ci6curtransfer exec gt
+ } ifelse
+ {{pop 0}}{{pop 1}} ifelse
+ systemdict /settransfer get exec
+ ci6compositeimage
+ grestore
+} def
+/ci6drawimage {
+ ci6testplate -1 eq {
+ pop ci6compositeimage
+ }{
+ dup type /arraytype eq {
+ dup length plateindex gt {plateindex get}{pop false} ifelse
+ }{
+ {
+ true
+ }{
+ dup 1 eq {plateindex 3 eq}{plateindex 3 le} ifelse
+ } ifelse
+ } ifelse
+ {
+ dup 1 eq {
+ pop pop ci6image
+ }{
+ dup 3 eq {
+ ci6compositeimage
+ }{
+ pop pop
+ sourcearray 0 3 -1 roll put
+ /ci6separatecmykproc load
+ ci6image
+ } ifelse
+ } ifelse
+ }{
+ ci6curoverprint {
+ 7 {pop} repeat
+ }{
+ ci6knockoutimage
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6proctintimage {
+ /_ptispace exch store /_ptiname exch store /_pti1 exch store /_pti0 exch store /_ptiproc exch store
+ /_pticomps _ptispace ci6numcomps store
+ /_ptiscale _pti1 _pti0 sub store
+ level2? {
+ _ptiname length 0 gt version cvr 2012 ge and {
+ [/Separation _ptiname _ptispace {_ptiproc}] setcolorspace
+ [_pti0 _pti1] ci6makeimagedict ci6image
+ }{
+ [/Indexed _ptispace 255 {255 div _ptiscale mul _pti0 add _ptiproc}] setcolorspace
+ [0 255] ci6makeimagedict ci6image
+ } ifelse
+ }{
+ _pticomps 1 eq {
+ {
+ dup
+ {
+ 255 div _ptiscale mul _pti0 add _ptiproc 255 mul cvi put
+ } ci6stringapply
+ } ci6concatprocs ci6image
+ }{
+ {
+ dup length _pticomps mul dup _ptibuf length ne {/_ptibuf exch string store}{pop} ifelse
+ _ptibuf {
+ exch _pticomps mul exch 255 div _ptiscale mul _pti0 add _ptiproc
+ _pticomps 2 add -2 roll
+ _pticomps 1 sub -1 0 {
+ 1 index add 2 index exch
+ 5 -1 roll
+ 255 mul cvi put
+ } for
+ pop pop
+ } ci6stringapply
+ } ci6concatprocs false _pticomps
+ /ci6colorimage load null eq {7 {pop} repeat}{ci6colorimage} ifelse
+ } ifelse
+ } ifelse
+} def
+/ci6graytintimage {
+ /_gtigray 5 -1 roll store
+ {1 _gtigray sub mul 1 exch sub} 4 1 roll
+ /DeviceGray ci6proctintimage
+} def
+/ci6cmyktintimage {
+ /_cticmyk 5 -1 roll store
+ {_cticmyk {1 index mul exch} forall pop} 4 1 roll
+ /DeviceCMYK ci6proctintimage
+} def
+/ci6rgbtintimage {
+ /_rtirgb 5 -1 roll store
+ {_rtirgb {1 exch sub 1 index mul 1 exch sub exch} forall pop} 4 1 roll
+ /DeviceRGB ci6proctintimage
+} def
+/ci6tintimage {
+ ci6testplate -1 eq {
+ ci6colorexpand
+ 3 -1 roll 5 -1 roll {0}{0 exch} ifelse 4 2 roll
+ dup /DeviceGray eq {
+ pop ci6graytintimage
+ }{
+ dup /DeviceRGB eq {
+ pop ci6rgbtintimage
+ }{
+ pop ci6cmyktintimage
+ } ifelse
+ } ifelse
+ }{
+ dup ci6marksplate {
+ plateindex 5 lt {
+ ci6colortocmyk plateindex get
+ dup 0 eq ci6curoverprint and {
+ 7 {pop} repeat
+ }{
+ 1 exch sub
+ exch {1 0}{0 1} ifelse () ci6graytintimage
+ } ifelse
+ }{
+ pop exch {0}{0 exch} ifelse 0 3 1 roll () ci6graytintimage
+ } ifelse
+ }{
+ ci6curoverprint {
+ 8 {pop} repeat
+ }{
+ pop pop pop
+ {pop 1} 0 1 () /DeviceGray ci6proctintimage
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/XINullImage {
+} def
+/XIImageMask {
+ XIImageWidth XIImageHeight false
+ [XIImageWidth 0 0 XIImageHeight neg 0 0]
+ /XIDataProc load
+ imagemask
+} def
+/XIImageTint {
+ XIImageWidth XIImageHeight XIBitsPerPixel
+ [XIImageWidth 0 0 XIImageHeight neg 0 0]
+ /XIDataProc load
+ XIType 3 eq XIColorValues XIColorSpace ci6tintimage
+} def
+/XIImage {
+ XIImageWidth XIImageHeight XIBitsPerPixel
+ [XIImageWidth 0 0 XIImageHeight neg 0 0]
+ /XIDataProc load
+ false XIChannelCount XIPlateList ci6drawimage
+} def
+/XG {
+ pop pop
+} def
+/XF {
+ 13 {pop} repeat
+} def
+/Xh {
+ Adobe_ColorImage_AI6_Vars begin
+ gsave
+ /XIType exch def
+ /XIImageHeight exch def
+ /XIImageWidth exch def
+ /XIImageMatrix exch def
+ 0 0 moveto
+ XIImageMatrix concat
+ XIImageWidth XIImageHeight scale
+
+ /_lp /null ddef
+ _fc
+ /_lp /imagemask ddef
+ end
+} def
+/XH {
+ Adobe_ColorImage_AI6_Vars begin
+ grestore
+ end
+} def
+/XIEnable {
+ Adobe_ColorImage_AI6_Vars /XIEnable 3 -1 roll put
+} def
+/XC {
+ Adobe_ColorImage_AI6_Vars begin
+ ci6colormake
+ /XIColorSpace exch def
+ /XIColorValues exch def
+ end
+} def
+/XIPlates {
+ Adobe_ColorImage_AI6_Vars begin
+ /XIPlateList exch def
+ end
+} def
+/XI
+{
+ Adobe_ColorImage_AI6_Vars begin
+ gsave
+ /XIType exch def
+ cvi dup
+ 256 idiv /XICompression exch store
+ 256 mod /XIEncoding exch store
+ pop pop
+ /XIChannelCount exch def
+ /XIBitsPerPixel exch def
+ /XIImageHeight exch def
+ /XIImageWidth exch def
+ pop pop pop pop
+ /XIImageMatrix exch def
+ XIBitsPerPixel 1 eq {
+ XIImageWidth 8 div ceiling cvi
+ }{
+ XIImageWidth XIChannelCount mul
+ } ifelse
+ /XIRowBytes exch def
+ XIEnable {
+ /XIBuffer3 XIImageWidth string def
+ XICompression 0 eq {
+ /XIBuffer1 XIRowBytes string def
+ XIEncoding 0 eq {
+ {currentfile XIBuffer1 readhexstring pop}
+ }{
+ {currentfile XIBuffer1 readstring pop}
+ } ifelse
+ }{
+ /XIBuffer1 256 string def
+ /XIBuffer2 XIRowBytes string def
+ {currentfile XIBuffer1 readline pop (%) anchorsearch {pop} if}
+ /ASCII85Decode filter /DCTDecode filter
+ /XIFile exch def
+ {XIFile XIBuffer2 readstring pop}
+ } ifelse
+ /XIDataProc exch def
+
+ XIType 1 ne {
+ 0 setgray
+ } if
+ XIType 1 eq {
+ XIImageMask
+ }{
+ XIType 2 eq XIType 3 eq or {
+ XIImageTint
+ }{
+ XIImage
+ } ifelse
+ } ifelse
+ }{
+ XINullImage
+ } ifelse
+ /XIPlateList false def
+ grestore
+ end
+} def
+end
+%%EndProcSet
+%%BeginResource: procset Adobe_Illustrator_AI5 1.3 0
+%%Title: (Adobe Illustrator (R) Version 8.0 Full Prolog)
+%%Version: 1.3 0
+%%CreationDate: (3/7/1994) ()
+%%Copyright: ((C) 1987-1998 Adobe Systems Incorporated All Rights Reserved)
+currentpacking true setpacking
+userdict /Adobe_Illustrator_AI5_vars 112 dict dup begin
+put
+/_?cmyk false def
+/_eo false def
+/_lp /none def
+/_pf
+{
+} def
+/_ps
+{
+} def
+/_psf
+{
+} def
+/_pss
+{
+} def
+/_pjsf
+{
+} def
+/_pjss
+{
+} def
+/_pola 0 def
+/_doClip 0 def
+/cf currentflat def
+/_lineorientation 0 def
+/_charorientation 0 def
+/_yokoorientation 0 def
+/_tm matrix def
+/_renderStart
+[
+/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
+] def
+/_renderEnd
+[
+null null null null /i1 /i1 /i1 /i1
+] def
+/_render -1 def
+/_shift [0 0] def
+/_ax 0 def
+/_ay 0 def
+/_cx 0 def
+/_cy 0 def
+/_leading
+[
+0 0
+] def
+/_ctm matrix def
+/_mtx matrix def
+/_sp 16#020 def
+/_hyphen (-) def
+/_fontSize 0 def
+/_fontAscent 0 def
+/_fontDescent 0 def
+/_fontHeight 0 def
+/_fontRotateAdjust 0 def
+/Ss 256 string def
+Ss 0 (fonts/) putinterval
+/_cnt 0 def
+/_scale [1 1] def
+/_nativeEncoding 0 def
+/_useNativeEncoding 0 def
+/_tempEncode 0 def
+/_pntr 0 def
+/_tDict 2 dict def
+/_hfname 100 string def
+/_hffound false def
+/Tx
+{
+} def
+/Tj
+{
+} def
+/CRender
+{
+} def
+/_AI3_savepage
+{
+} def
+/_gf null def
+/_cf 4 array def
+/_rgbf 3 array def
+/_if null def
+/_of false def
+/_fc
+{
+} def
+/_gs null def
+/_cs 4 array def
+/_rgbs 3 array def
+/_is null def
+/_os false def
+/_sc
+{
+} def
+/_pd 1 dict def
+/_ed 15 dict def
+/_pm matrix def
+/_fm null def
+/_fd null def
+/_fdd null def
+/_sm null def
+/_sd null def
+/_sdd null def
+/_i null def
+/_lobyte 0 def
+/_hibyte 0 def
+/_cproc null def
+/_cscript 0 def
+/_hvax 0 def
+/_hvay 0 def
+/_hvwb 0 def
+/_hvcx 0 def
+/_hvcy 0 def
+/_bitfont null def
+/_bitlobyte 0 def
+/_bithibyte 0 def
+/_bitkey null def
+/_bitdata null def
+/_bitindex 0 def
+/discardSave null def
+/buffer 256 string def
+/beginString null def
+/endString null def
+/endStringLength null def
+/layerCnt 1 def
+/layerCount 1 def
+/perCent (%) 0 get def
+/perCentSeen? false def
+/newBuff null def
+/newBuffButFirst null def
+/newBuffLast null def
+/clipForward? false def
+end
+userdict /Adobe_Illustrator_AI5 known not {
+ userdict /Adobe_Illustrator_AI5 100 dict put
+} if
+userdict /Adobe_Illustrator_AI5 get begin
+/initialize
+{
+ Adobe_Illustrator_AI5 dup begin
+ Adobe_Illustrator_AI5_vars begin
+ /_aicmykps where {pop /_?cmyk _aicmykps def}if
+ discardDict
+ {
+ bind pop pop
+ } forall
+ dup /nc get begin
+ {
+ dup xcheck 1 index type /operatortype ne and
+ {
+ bind
+ } if
+ pop pop
+ } forall
+ end
+ newpath
+} def
+/terminate
+{
+ end
+ end
+} def
+/_
+null def
+/ddef
+{
+ Adobe_Illustrator_AI5_vars 3 1 roll put
+} def
+/xput
+{
+ dup load dup length exch maxlength eq
+ {
+ dup dup load dup
+ length 2 mul dict copy def
+ } if
+ load begin
+ def
+ end
+} def
+/npop
+{
+ {
+ pop
+ } repeat
+} def
+/hswj
+{
+ dup stringwidth 3 2 roll
+ {
+ _hvwb eq { exch _hvcx add exch _hvcy add } if
+ exch _hvax add exch _hvay add
+ } cforall
+} def
+/vswj
+{
+ 0 0 3 -1 roll
+ {
+ dup 255 le
+ _charorientation 1 eq
+ and
+ {
+ dup cstring stringwidth 5 2 roll
+ _hvwb eq { exch _hvcy sub exch _hvcx sub } if
+ exch _hvay sub exch _hvax sub
+ 4 -1 roll sub exch
+ 3 -1 roll sub exch
+ }
+ {
+ _hvwb eq { exch _hvcy sub exch _hvcx sub } if
+ exch _hvay sub exch _hvax sub
+ _fontHeight sub
+ } ifelse
+ } cforall
+} def
+/swj
+{
+ 6 1 roll
+ /_hvay exch ddef
+ /_hvax exch ddef
+ /_hvwb exch ddef
+ /_hvcy exch ddef
+ /_hvcx exch ddef
+ _lineorientation 0 eq { hswj } { vswj } ifelse
+} def
+/sw
+{
+ 0 0 0 6 3 roll swj
+} def
+/vjss
+{
+ 4 1 roll
+ {
+ dup cstring
+ dup length 1 eq
+ _charorientation 1 eq
+ and
+ {
+ -90 rotate
+ currentpoint
+ _fontRotateAdjust add
+ moveto
+ gsave
+ false charpath currentpoint
+ 5 index setmatrix stroke
+ grestore
+ _fontRotateAdjust sub
+ moveto
+ _sp eq
+ {
+ 5 index 5 index rmoveto
+ } if
+ 2 copy rmoveto
+ 90 rotate
+ }
+ {
+ currentpoint
+ _fontHeight sub
+ 5 index sub
+ 3 index _sp eq
+ {
+ 9 index sub
+ } if
+
+ currentpoint
+ exch 4 index stringwidth pop 2 div sub
+ exch _fontAscent sub
+ moveto
+
+ gsave
+ 2 index false charpath
+ 6 index setmatrix stroke
+ grestore
+
+ moveto pop pop
+ } ifelse
+ } cforall
+ 6 npop
+} def
+/hjss
+{
+ 4 1 roll
+ {
+ dup cstring
+ gsave
+ false charpath currentpoint
+ 5 index setmatrix stroke
+ grestore
+ moveto
+ _sp eq
+ {
+ 5 index 5 index rmoveto
+ } if
+ 2 copy rmoveto
+ } cforall
+ 6 npop
+} def
+/jss
+{
+ _lineorientation 0 eq { hjss } { vjss } ifelse
+} def
+/ss
+{
+ 0 0 0 7 3 roll jss
+} def
+/vjsp
+{
+ 4 1 roll
+ {
+ dup cstring
+ dup length 1 eq
+ _charorientation 1 eq
+ and
+ {
+ -90 rotate
+ currentpoint
+ _fontRotateAdjust add
+ moveto
+ false charpath
+ currentpoint
+ _fontRotateAdjust sub
+ moveto
+ _sp eq
+ {
+ 5 index 5 index rmoveto
+ } if
+ 2 copy rmoveto
+ 90 rotate
+ }
+ {
+ currentpoint
+ _fontHeight sub
+ 5 index sub
+ 3 index _sp eq
+ {
+ 9 index sub
+ } if
+
+ currentpoint
+ exch 4 index stringwidth pop 2 div sub
+ exch _fontAscent sub
+ moveto
+
+ 2 index false charpath
+
+ moveto pop pop
+ } ifelse
+ } cforall
+ 6 npop
+} def
+/hjsp
+{
+ 4 1 roll
+ {
+ dup cstring
+ false charpath
+ _sp eq
+ {
+ 5 index 5 index rmoveto
+ } if
+ 2 copy rmoveto
+ } cforall
+ 6 npop
+} def
+/jsp
+{
+ matrix currentmatrix
+ _lineorientation 0 eq {hjsp} {vjsp} ifelse
+} def
+/sp
+{
+ matrix currentmatrix
+ 0 0 0 7 3 roll
+ _lineorientation 0 eq {hjsp} {vjsp} ifelse
+} def
+/pl
+{
+ transform
+ 0.25 sub round 0.25 add exch
+ 0.25 sub round 0.25 add exch
+ itransform
+} def
+/setstrokeadjust where
+{
+ pop true setstrokeadjust
+ /c
+ {
+ curveto
+ } def
+ /C
+ /c load def
+ /v
+ {
+ currentpoint 6 2 roll curveto
+ } def
+ /V
+ /v load def
+ /y
+ {
+ 2 copy curveto
+ } def
+ /Y
+ /y load def
+ /l
+ {
+ lineto
+ } def
+ /L
+ /l load def
+ /m
+ {
+ moveto
+ } def
+}
+{
+ /c
+ {
+ pl curveto
+ } def
+ /C
+ /c load def
+ /v
+ {
+ currentpoint 6 2 roll pl curveto
+ } def
+ /V
+ /v load def
+ /y
+ {
+ pl 2 copy curveto
+ } def
+ /Y
+ /y load def
+ /l
+ {
+ pl lineto
+ } def
+ /L
+ /l load def
+ /m
+ {
+ pl moveto
+ } def
+} ifelse
+/d
+{
+ setdash
+} def
+/cf
+{
+} def
+/i
+{
+ dup 0 eq
+ {
+ pop cf
+ } if
+ setflat
+} def
+/j
+{
+ setlinejoin
+} def
+/J
+{
+ setlinecap
+} def
+/M
+{
+ setmiterlimit
+} def
+/w
+{
+ setlinewidth
+} def
+/XR
+{
+ 0 ne
+ /_eo exch ddef
+} def
+/H
+{
+} def
+/h
+{
+ closepath
+} def
+/N
+{
+ _pola 0 eq
+ {
+ _doClip 1 eq
+ {
+ _eo {eoclip} {clip} ifelse /_doClip 0 ddef
+ } if
+ newpath
+ }
+ {
+ /CRender
+ {
+ N
+ } ddef
+ } ifelse
+} def
+/n
+{
+ N
+} def
+/F
+{
+ _pola 0 eq
+ {
+ _doClip 1 eq
+ {
+ gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
+ /_doClip 0 ddef
+ }
+ {
+ _pf
+ } ifelse
+ }
+ {
+ /CRender
+ {
+ F
+ } ddef
+ } ifelse
+} def
+/f
+{
+ closepath
+ F
+} def
+/S
+{
+ _pola 0 eq
+ {
+ _doClip 1 eq
+ {
+ gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
+ /_doClip 0 ddef
+ }
+ {
+ _ps
+ } ifelse
+ }
+ {
+ /CRender
+ {
+ S
+ } ddef
+ } ifelse
+} def
+/s
+{
+ closepath
+ S
+} def
+/B
+{
+ _pola 0 eq
+ {
+ _doClip 1 eq
+ gsave F grestore
+ {
+ gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
+ /_doClip 0 ddef
+ }
+ {
+ S
+ } ifelse
+ }
+ {
+ /CRender
+ {
+ B
+ } ddef
+ } ifelse
+} def
+/b
+{
+ closepath
+ B
+} def
+/W
+{
+ /_doClip 1 ddef
+} def
+/*
+{
+ count 0 ne
+ {
+ dup type /stringtype eq
+ {
+ pop
+ } if
+ } if
+ newpath
+} def
+/u
+{
+} def
+/U
+{
+} def
+/q
+{
+ _pola 0 eq
+ {
+ gsave
+ } if
+} def
+/Q
+{
+ _pola 0 eq
+ {
+ grestore
+ } if
+} def
+/*u
+{
+ _pola 1 add /_pola exch ddef
+} def
+/*U
+{
+ _pola 1 sub /_pola exch ddef
+ _pola 0 eq
+ {
+ CRender
+ } if
+} def
+/D
+{
+ pop
+} def
+/*w
+{
+} def
+/*W
+{
+} def
+/`
+{
+ /_i save ddef
+ clipForward?
+ {
+ nulldevice
+ } if
+ 6 1 roll 4 npop
+ concat pop
+ userdict begin
+ /showpage
+ {
+ } def
+ 0 setgray
+ 0 setlinecap
+ 1 setlinewidth
+ 0 setlinejoin
+ 10 setmiterlimit
+ [] 0 setdash
+ /setstrokeadjust where {pop false setstrokeadjust} if
+ newpath
+ 0 setgray
+ false setoverprint
+} def
+/~
+{
+ end
+ _i restore
+} def
+/_rgbtocmyk
+{
+ 3
+ {
+ 1 exch sub 3 1 roll
+ } repeat
+ 3 copy 1 4 1 roll
+ 3
+ {
+ 3 index 2 copy gt
+ {
+ exch
+ } if
+ pop 4 1 roll
+ } repeat
+ pop pop pop
+ 4 1 roll
+ 3
+ {
+ 3 index sub
+ 3 1 roll
+ } repeat
+ 4 -1 roll
+} def
+/setrgbfill
+{
+ _rgbf astore pop
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _rgbf aload pop setrgbcolor
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/setrgbstroke
+{
+ _rgbs astore pop
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _rgbs aload pop setrgbcolor
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/O
+{
+ 0 ne
+ /_of exch ddef
+ /_lp /none ddef
+} def
+/R
+{
+ 0 ne
+ /_os exch ddef
+ /_lp /none ddef
+} def
+/g
+{
+ /_gf exch ddef
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _gf setgray
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/G
+{
+ /_gs exch ddef
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _gs setgray
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/k
+{
+ _cf astore pop
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _cf aload pop setcmykcolor
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/K
+{
+ _cs astore pop
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _cs aload pop setcmykcolor
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/Xa
+{
+ _?cmyk {
+ 3 npop k
+ }{
+ setrgbfill 4 npop
+ } ifelse
+} def
+/XA
+{
+ _?cmyk {
+ 3 npop K
+ }{
+ setrgbstroke 4 npop
+ } ifelse
+} def
+/Xs
+{
+ /_gf exch ddef
+ 5 npop
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _gf setAIseparationgray
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/XS
+{
+ /_gs exch ddef
+ 5 npop
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _gs setAIseparationgray
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/Xx
+{
+ exch
+ /_gf exch ddef
+ 0 eq {
+ findcmykcustomcolor
+ }{
+ _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse
+ {
+ 4 1 roll 3 npop
+ findcmykcustomcolor
+ }{
+ 8 -4 roll 4 npop
+ findrgbcustomcolor
+ } ifelse
+ } ifelse
+ /_if exch ddef
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _if _gf 1 exch sub setcustomcolor
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/XX
+{
+ exch
+ /_gs exch ddef
+ 0 eq {
+ findcmykcustomcolor
+ }{
+ _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse
+ {
+ 4 1 roll 3 npop
+ findcmykcustomcolor
+ }{
+ 8 -4 roll 4 npop
+ findrgbcustomcolor
+ } ifelse
+ } ifelse
+ /_is exch ddef
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _is _gs 1 exch sub setcustomcolor
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/x
+{
+ /_gf exch ddef
+ findcmykcustomcolor
+ /_if exch ddef
+ /_fc
+ {
+ _lp /fill ne
+ {
+ _of setoverprint
+ _if _gf 1 exch sub setcustomcolor
+ /_lp /fill ddef
+ } if
+ } ddef
+ /_pf
+ {
+ _fc
+ _eo {eofill} {fill} ifelse
+ } ddef
+ /_psf
+ {
+ _fc
+ hvashow
+ } ddef
+ /_pjsf
+ {
+ _fc
+ hvawidthshow
+ } ddef
+ /_lp /none ddef
+} def
+/X
+{
+ /_gs exch ddef
+ findcmykcustomcolor
+ /_is exch ddef
+ /_sc
+ {
+ _lp /stroke ne
+ {
+ _os setoverprint
+ _is _gs 1 exch sub setcustomcolor
+ /_lp /stroke ddef
+ } if
+ } ddef
+ /_ps
+ {
+ _sc
+ stroke
+ } ddef
+ /_pss
+ {
+ _sc
+ ss
+ } ddef
+ /_pjss
+ {
+ _sc
+ jss
+ } ddef
+ /_lp /none ddef
+} def
+/XK
+{
+ 3 -1 roll pop
+ 0 eq
+ {
+ 1 exch sub
+ 3 {dup 3 1 roll mul 5 1 roll} repeat
+ mul 4 1 roll
+ K
+ }
+ {
+ 1 exch sub 4 1 roll
+ 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat
+ 4 -1 roll pop
+ XA
+ } ifelse
+} def
+/Xk
+{
+ 3 -1 roll pop
+ 0 eq
+ {
+ 1 exch sub
+ 3 {dup 3 1 roll mul 5 1 roll} repeat
+ mul 4 1 roll
+ k
+ }
+ {
+ 1 exch sub 4 1 roll
+ 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat
+ 4 -1 roll pop
+ Xa
+ } ifelse
+} def
+/A
+{
+ pop
+} def
+/annotatepage
+{
+userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
+} def
+/XT {
+ pop pop
+} def
+/Xt {
+ pop
+} def
+/discard
+{
+ save /discardSave exch store
+ discardDict begin
+ /endString exch store
+ gt38?
+ {
+ 2 add
+ } if
+ load
+ stopped
+ pop
+ end
+ discardSave restore
+} bind def
+userdict /discardDict 7 dict dup begin
+put
+/pre38Initialize
+{
+ /endStringLength endString length store
+ /newBuff buffer 0 endStringLength getinterval store
+ /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
+ /newBuffLast newBuff endStringLength 1 sub 1 getinterval store
+} def
+/shiftBuffer
+{
+ newBuff 0 newBuffButFirst putinterval
+ newBuffLast 0
+ currentfile read not
+ {
+ stop
+ } if
+ put
+} def
+0
+{
+ pre38Initialize
+ mark
+ currentfile newBuff readstring exch pop
+ {
+ {
+ newBuff endString eq
+ {
+ cleartomark stop
+ } if
+ shiftBuffer
+ } loop
+ }
+ {
+ stop
+ } ifelse
+} def
+1
+{
+ pre38Initialize
+ /beginString exch store
+ mark
+ currentfile newBuff readstring exch pop
+ {
+ {
+ newBuff beginString eq
+ {
+ /layerCount dup load 1 add store
+ }
+ {
+ newBuff endString eq
+ {
+ /layerCount dup load 1 sub store
+ layerCount 0 eq
+ {
+ cleartomark stop
+ } if
+ } if
+ } ifelse
+ shiftBuffer
+ } loop
+ } if
+} def
+2
+{
+ mark
+ {
+ currentfile buffer {readline} stopped {
+ % assume error was due to overfilling the buffer
+ }{
+ not
+ {
+ stop
+ } if
+ endString eq {
+ cleartomark stop
+ } if
+ }ifelse
+ } loop
+} def
+3
+{
+ /beginString exch store
+ /layerCnt 1 store
+ mark
+ {
+ currentfile buffer {readline} stopped {
+ % assume error was due to overfilling the buffer
+ }{
+ not
+ {
+ stop
+ } if
+ dup beginString eq
+ {
+ pop /layerCnt dup load 1 add store
+ }
+ {
+ endString eq
+ {
+ layerCnt 1 eq
+ {
+ cleartomark stop
+ }
+ {
+ /layerCnt dup load 1 sub store
+ } ifelse
+ } if
+ } ifelse
+ }ifelse
+ } loop
+} def
+end
+userdict /clipRenderOff 15 dict dup begin
+put
+{
+ /n /N /s /S /f /F /b /B
+}
+{
+ {
+ _doClip 1 eq
+ {
+ /_doClip 0 ddef _eo {eoclip} {clip} ifelse
+ } if
+ newpath
+ } def
+} forall
+/Tr /pop load def
+/Bb {} def
+/BB /pop load def
+/Bg {12 npop} def
+/Bm {6 npop} def
+/Bc /Bm load def
+/Bh {4 npop} def
+end
+/Lb
+{
+ 6 npop
+ 7 2 roll
+ 5 npop
+ 0 eq
+ {
+ 0 eq
+ {
+ (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
+ }
+ {
+
+ /clipForward? true def
+
+ /Tx /pop load def
+ /Tj /pop load def
+
+ currentdict end clipRenderOff begin begin
+ } ifelse
+ }
+ {
+ 0 eq
+ {
+ save /discardSave exch store
+ } if
+ } ifelse
+} bind def
+/LB
+{
+ discardSave dup null ne
+ {
+ restore
+ }
+ {
+ pop
+ clipForward?
+ {
+ currentdict
+ end
+ end
+ begin
+
+ /clipForward? false ddef
+ } if
+ } ifelse
+} bind def
+/Pb
+{
+ pop pop
+ 0 (%AI5_EndPalette) discard
+} bind def
+/Np
+{
+ 0 (%AI5_End_NonPrinting--) discard
+} bind def
+/Ln /pop load def
+/Ap
+/pop load def
+/Ar
+{
+ 72 exch div
+ 0 dtransform dup mul exch dup mul add sqrt
+ dup 1 lt
+ {
+ pop 1
+ } if
+ setflat
+} def
+/Mb
+{
+ q
+} def
+/Md
+{
+} def
+/MB
+{
+ Q
+} def
+/nc 4 dict def
+nc begin
+/setgray
+{
+ pop
+} bind def
+/setcmykcolor
+{
+ 4 npop
+} bind def
+/setrgbcolor
+{
+ 3 npop
+} bind def
+/setcustomcolor
+{
+ 2 npop
+} bind def
+currentdict readonly pop
+end
+/XP
+{
+ 4 npop
+} bind def
+/XD
+{
+ pop
+} bind def
+end
+setpacking
+%%EndResource
+%%BeginResource: procset Adobe_cshow 2.0 8
+%%Title: (Writing System Operators)
+%%Version: 2.0 8
+%%CreationDate: (1/23/89) ()
+%%Copyright: ((C) 1992-1996 Adobe Systems Incorporated All Rights Reserved)
+currentpacking true setpacking
+userdict /Adobe_cshow 14 dict dup begin put
+/initialize
+{
+ Adobe_cshow begin
+ Adobe_cshow
+ {
+ dup xcheck
+ {
+ bind
+ } if
+ pop pop
+ } forall
+ end
+ Adobe_cshow begin
+} def
+/terminate
+{
+currentdict Adobe_cshow eq
+ {
+ end
+ } if
+} def
+/cforall
+{
+ /_lobyte 0 ddef
+ /_hibyte 0 ddef
+ /_cproc exch ddef
+ /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef
+ {
+ /_lobyte exch ddef
+ _hibyte 0 eq
+ _cscript 1 eq
+ _lobyte 129 ge _lobyte 159 le and
+ _lobyte 224 ge _lobyte 252 le and or and
+ _cscript 2 eq
+ _lobyte 161 ge _lobyte 254 le and and
+ _cscript 3 eq
+ _lobyte 161 ge _lobyte 254 le and and
+ _cscript 25 eq
+ _lobyte 161 ge _lobyte 254 le and and
+ _cscript -1 eq
+ or or or or and
+ {
+ /_hibyte _lobyte ddef
+ }
+ {
+ _hibyte 256 mul _lobyte add
+ _cproc
+ /_hibyte 0 ddef
+ } ifelse
+ } forall
+} def
+/cstring
+{
+ dup 256 lt
+ {
+ (s) dup 0 4 3 roll put
+ }
+ {
+ dup 256 idiv exch 256 mod
+ (hl) dup dup 0 6 5 roll put 1 4 3 roll put
+ } ifelse
+} def
+/clength
+{
+ 0 exch
+ { 256 lt { 1 } { 2 } ifelse add } cforall
+} def
+/hawidthshow
+{
+ {
+ dup cstring
+ show
+ _hvax _hvay rmoveto
+ _hvwb eq { _hvcx _hvcy rmoveto } if
+ } cforall
+} def
+/vawidthshow
+{
+ {
+ dup 255 le
+ _charorientation 1 eq
+ and
+ {
+ -90 rotate
+ 0 _fontRotateAdjust rmoveto
+ cstring
+ _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow
+ 0 _fontRotateAdjust neg rmoveto
+ 90 rotate
+ }
+ {
+ currentpoint
+ _fontHeight sub
+ exch _hvay sub exch _hvax sub
+ 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if
+ 3 2 roll
+ cstring
+ dup stringwidth pop 2 div neg _fontAscent neg rmoveto
+ show
+ moveto
+ } ifelse
+ } cforall
+} def
+/hvawidthshow
+{
+ 6 1 roll
+ /_hvay exch ddef
+ /_hvax exch ddef
+ /_hvwb exch ddef
+ /_hvcy exch ddef
+ /_hvcx exch ddef
+ _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse
+} def
+/hvwidthshow
+{
+ 0 0 3 -1 roll hvawidthshow
+} def
+/hvashow
+{
+ 0 0 0 6 -3 roll hvawidthshow
+} def
+/hvshow
+{
+ 0 0 0 0 0 6 -1 roll hvawidthshow
+} def
+currentdict readonly pop end
+setpacking
+%%EndResource
+%%BeginResource: procset Adobe_shading_AI8 1.0 0
+%%Title: (Adobe Illustrator 8 Shading Procset)
+%%Version: 1.0 0
+%%CreationDate: (12/17/97) ()
+%%Copyright: ((C) 1987-1997 Adobe Systems Incorporated All Rights Reserved)
+userdict /defaultpacking currentpacking put true setpacking
+userdict /Adobe_shading_AI8 10 dict dup begin put
+/initialize {
+ Adobe_shading_AI8 begin
+ Adobe_shading_AI8 bdprocs
+ Mesh /initialize get exec
+} def
+/terminate {
+ currentdict Adobe_shading_AI8 eq {
+ end
+ } if
+} def
+/bdprocs {
+ {
+ dup xcheck 1 index type /arraytype eq and {
+ bind
+ } if
+ pop pop
+ } forall
+} def
+/X! {pop} def
+/X# {pop pop} def
+/Mesh 40 dict def
+Mesh begin
+/initialize {
+ Mesh bdprocs
+ Mesh begin
+ /emulate? /AI8MeshEmulation where {
+ pop AI8MeshEmulation
+ }{
+ systemdict /shfill known not
+ } ifelse def
+ end
+} def
+/bd {
+ shadingdict begin
+} def
+/paint {
+ emulate? {
+ end
+ }{
+ /_lp /none ddef _fc /_lp /none ddef
+
+ /AIColorSpace AIColorSpace tocolorspace store
+ /ColorSpace AIColorSpace topsspace store
+
+ version_ge_3010.106 not systemdict /setsmoothness known and {
+ 0.0001 setsmoothness
+ } if
+
+ composite? {
+ /DataSource getdatasrc def
+ Matrix concat
+ currentdict end
+ shfill
+ }{
+ AIColorSpace makesmarks AIPlateList markingplate and not isoverprint and {
+ end
+ }{
+ /ColorSpace /DeviceGray store
+ /Decode [0 1 0 1 0 1] store
+ /DataSource getplatesrc def
+ Matrix concat
+ currentdict end
+ shfill
+ } ifelse
+ } ifelse
+ } ifelse
+} def
+/shadingdict 12 dict def
+shadingdict begin
+ /ShadingType 6 def
+ /BitsPerCoordinate 16 def
+ /BitsPerComponent 8 def
+ /BitsPerFlag 8 def
+end
+/datafile null def
+/databuf 256 string def
+/dataptr 0 def
+/srcspace null def
+/srcchannels 0 def
+/dstchannels 0 def
+/dstplate 0 def
+/srctodstcolor null def
+/getplatesrc {
+ /srcspace AIColorSpace store
+ /srcchannels AIColorSpace getnchannels store
+ /dstchannels 1 store
+ /dstplate getplateindex store
+ /srctodstcolor srcspace makesmarks {
+ dstplate 4 eq {
+ {1 exch sub}
+ }{
+ {srcspace tocmyk 3 dstplate sub index 1 exch sub 5 1 roll 4 {pop} repeat}
+ } ifelse
+ }{
+ {srcchannels {pop} repeat 1}
+ } ifelse store
+ /datafile getdatasrc store
+ /rdpatch168 load DataLength () /SubFileDecode filter
+} def
+/getdatasrc {
+ /rdcmntline load /ASCII85Decode filter
+} def
+/rdpatch168 {
+ /dataptr 0 store
+ 49 rdcount
+ 4 {
+ dup {pop srcchannels getint8} if
+ dup {pop srctodstcolor dstchannels putint8 true} if
+ } repeat
+ {databuf 0 dataptr getinterval}{()} ifelse
+} def
+/rdpatch3216 {
+ /dataptr 0 store
+ 97 rdcount
+ 4 {
+ dup {pop srcchannels getint16} if
+ dup {pop srctodstcolor dstchannels putint16 true} if
+ } repeat
+ {databuf 0 dataptr getinterval}{()} ifelse
+} def
+/rdcount {
+ dup 0 gt {
+ datafile databuf dataptr 4 -1 roll getinterval readstring
+ exch length dataptr add /dataptr exch store
+ }{
+ true
+ } ifelse
+} def
+/getint8 {
+ mark true 3 -1 roll
+ {
+ dup {pop datafile read} if
+ dup {pop 255 div true} if
+ } repeat
+ {
+ counttomark 1 add -1 roll pop true
+ }{
+ cleartomark false
+ } ifelse
+} def
+/putint8 {
+ dup dataptr add /dataptr exch store
+ dataptr exch
+ {
+ 1 sub exch
+ 255 mul cvi
+ databuf 2 index
+ 3 -1 roll put
+ } repeat
+ pop
+} def
+/getint16 {
+ mark true 3 -1 roll
+ {
+ dup {pop datafile read} if
+ dup {pop 256 mul datafile read} if
+ dup {pop add 65535 div true} if
+ } repeat
+ {
+ counttomark 1 add -1 roll pop true
+ }{
+ cleartomark false
+ } ifelse
+} def
+/putint16 {
+ dup 2 mul dataptr add /dataptr exch store
+ dataptr exch
+ {
+ 2 sub exch
+ 65535 mul cvi dup
+ 256 idiv databuf 3 index 3 -1 roll put
+ 256 mod databuf 2 index 1 add 3 -1 roll put
+ } repeat
+ pop
+} def
+/srcbuf 256 string def
+/rdcmntline {
+ currentfile srcbuf readline pop
+ (%) anchorsearch {pop} if
+} def
+/getplateindex {
+ 0 [cyan? magenta? yellow? black? customColor?] {{exit} if 1 add} forall
+} def
+/aicsarray 4 array def
+/aicsaltvals 4 array def
+/aicsaltcolr aicsaltvals def
+/tocolorspace {
+ dup type /arraytype eq {
+ mark exch aload pop
+ aicsarray 0 3 -1 roll put
+ aicsarray 1 3 -1 roll put
+ dup aicsarray 2 3 -1 roll put
+ gettintxform aicsarray 3 3 -1 roll put
+ counttomark aicsaltvals 0 3 -1 roll getinterval /aicsaltcolr exch store
+ aicsaltcolr astore pop pop
+ aicsarray
+ } if
+} def
+/subtintxform {aicsaltcolr {1 index mul exch} forall pop} def
+/addtintxform {aicsaltcolr {1 sub 1 index mul 1 add exch} forall pop} def
+/gettintxform {
+ /DeviceRGB eq {/addtintxform}{/subtintxform} ifelse load
+} def
+/getnchannels {
+ dup type /arraytype eq {0 get} if
+ colorspacedict exch get begin Channels end
+} def
+/makesmarks {
+ composite? {
+ pop true
+ }{
+ dup dup type /arraytype eq {0 get} if
+ colorspacedict exch get begin MarksPlate end
+ } ifelse
+} def
+/markingplate {
+ composite? {
+ pop true
+ }{
+ dup type /arraytype eq {
+ dup length getplateindex gt {getplateindex get}{pop false} ifelse
+ } if
+ } ifelse
+} def
+/tocmyk {
+ dup dup type /arraytype eq {0 get} if
+ colorspacedict exch get begin ToCMYK end
+} def
+/topsspace {
+ dup dup type /arraytype eq {0 get} if
+ colorspacedict exch get begin ToPSSpace end
+} def
+/colorspacedict 5 dict dup begin
+ /DeviceGray 4 dict dup begin
+ /Channels 1 def
+ /MarksPlate {pop black?} def
+ /ToCMYK {pop 1 exch sub 0 0 0 4 -1 roll} def
+ /ToPSSpace {} def
+ end def
+ /DeviceRGB 4 dict dup begin
+ /Channels 3 def
+ /MarksPlate {pop isCMYKSep?} def
+ /ToCMYK {pop _rgbtocmyk} def
+ /ToPSSpace {} def
+ end def
+ /DeviceCMYK 4 dict dup begin
+ /Channels 4 def
+ /MarksPlate {pop isCMYKSep?} def
+ /ToCMYK {pop} def
+ /ToPSSpace {} def
+ end def
+ /Separation 4 dict dup begin
+ /Channels 1 def
+ /MarksPlate {
+ /findcmykcustomcolor where {
+ pop dup 1 exch ToCMYK 5 -1 roll 1 get
+ findcmykcustomcolor 1 setcustomcolor
+ systemdict /currentgray get exec
+ 1 ne
+ }{
+ pop false
+ } ifelse
+ } def
+ /ToCMYK {
+ dup 2 get mark exch 4 2 roll
+ 3 get exec
+ counttomark -1 roll tocmyk
+ 5 -1 roll pop
+ } def
+ /ToPSSpace {} def
+ end def
+ /Process 4 dict dup begin
+ /Channels 1 def
+ /MarksPlate {
+ isCMYKSep? {
+ 1 exch ToCMYK 4 array astore getplateindex get 0 ne
+ }{
+ pop false
+ } ifelse
+ } def
+ /ToCMYK {
+ dup 2 get mark exch 4 2 roll
+ 3 get exec
+ counttomark -1 roll tocmyk
+ 5 -1 roll pop
+ } def
+ /ToPSSpace {
+ 4 array copy dup 0 /Separation put
+ } def
+ end def
+end def
+/isoverprint {
+ /currentoverprint where {pop currentoverprint}{_of} ifelse
+} def
+/version_ge_3010.106 {
+ version {cvr} stopped {
+ pop
+ false
+ }{
+ 3010.106 ge
+ } ifelse
+} def
+end
+end
+defaultpacking setpacking
+%%EndResource
+%%EndProlog
+%%BeginSetup
+userdict /_useSmoothShade false put
+userdict /_aicmykps true put
+userdict /_forceToCMYK true put
+Adobe_level2_AI5 /initialize get exec
+Adobe_cshow /initialize get exec
+Adobe_ColorImage_AI6 /initialize get exec
+Adobe_shading_AI8 /initialize get exec
+Adobe_Illustrator_AI5 /initialize get exec
+%AI3_BeginRider
+currentpacking true setpacking
+setpacking
+%AI3_EndRider
+%AI5_Begin_NonPrinting
+Np
+%AI8_PluginGroupInfo
+(Adobe Path Blends) (Adobe Blends Plugin) (LiveBlends.aip)
+%AI8_PluginGroupInfo
+(Adobe Tracing Object) (Tracing) (TracingSuite.aip)
+%AI8_PluginGroupInfo
+(Adobe Scatter Brush Tool) (Adobe Scatter Brush Plugin) (ScatterBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe Scatter Brush Tool) (Adobe Scatter Brush Plugin) (ScatterBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe PatternOnPath Brush Tool) (Adobe Pattern Brush Plugin) (ArtBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe PatternOnPath Brush Tool) (Adobe Pattern Brush Plugin) (ArtBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe ArtOnPath Brush Tool) (Adobe Art Brush Plugin) (ArtBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe ArtOnPath Brush Tool) (Adobe Art Brush Plugin) (ArtBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe Calligraphic Brush Tool) (Adobe Calligraphic Brush Plugin) (CalligBrushTool.aip)
+%AI8_PluginGroupInfo
+(Adobe Flare Plugin) (Flare) (Flare.aip)
+%AI8_PluginGroupInfo
+(Adobe Symbolism) (Adobe Symbolism) (ParticleSystem.aip)
+%AI8_PluginGroupInfo
+(Adobe Deform Plugin) (Adobe Envelope Plugin) (Envelope and Warp.aip)
+%AI8_PluginGroupInfo
+(Pathfinder Suite) (Adobe Compound Shape) (PathFinderS.aip)
+%AI8_PluginGroupInfo
+(Adobe Planar Group) (Adobe Live Paint Plugin) (Live Paint.aip)
+%AI5_End_NonPrinting--
+%AI5_BeginPalette
+0 0 Pb
+0.74902 0.678431 0.670588 0.901961 ([Registration]) 0 Xs
+([Registration])
+Pc
+PB
+%AI5_EndPalette
+%%EndSetup
+%AI5_BeginLayer
+1 1 1 1 0 0 1 0 79 128 255 0 50 Lb
+(svg2759) Ln
+0 A
+u
+U
+u
+u
+0 O
+0.34902 0.231373 0.305882 0 0.666667 0.698039 0.670588 Xa
+0 J 0 j 1 w 4 M []0 d
+0 XR
+343.9077 320.0635 m
+457.2617 319.8613 L
+458.8457 319.8613 460.2617 320.0962 460.2617 316.7012 C
+460.123 279.373 L
+341.0474 279.373 L
+341.0474 316.8398 L
+341.0474 318.5137 341.2095 320.0635 343.9077 320.0635 C
+f
+u
+0 0 0 0 1 1 1 Xa
+375.022 300.9644 m
+375.0269 293.4355 368.9258 287.3281 361.3955 287.3223 C
+353.8657 287.3184 347.7568 293.418 347.7524 300.9478 C
+347.7524 300.9536 347.7524 300.9585 347.7524 300.9644 C
+347.748 308.4946 353.8491 314.6011 361.3789 314.606 C
+368.9102 314.6099 375.0181 308.5098 375.022 300.981 C
+375.022 300.9751 375.022 300.9702 375.022 300.9644 C
+f
+u
+*u
+0.74902 0.678431 0.670588 0.901961 0 0 0 Xa
+372.4712 312.0684 m
+375.4951 309.0459 377.0068 305.3438 377.0068 300.9644 c
+377.0068 296.584 375.521 292.9219 372.5493 289.9756 C
+369.396 286.875 365.6685 285.3242 361.3682 285.3242 c
+357.1191 285.3242 353.4565 286.8613 350.3809 289.9375 C
+347.3052 293.0137 345.7676 296.6895 345.7676 300.9644 c
+345.7676 305.2388 347.3052 308.9409 350.3809 312.0684 C
+353.3784 315.0933 357.041 316.605 361.3682 316.605 c
+365.7471 316.605 369.4478 315.0933 372.4712 312.0684 C
+f
+1 D
+352.4165 310.0352 m
+349.8604 307.4531 348.5825 304.4287 348.5825 300.9604 c
+348.5825 297.4922 349.8477 294.4941 352.3774 291.9639 C
+354.9072 289.4355 357.9194 288.1699 361.4141 288.1699 c
+364.9087 288.1699 367.9463 289.4473 370.5283 292.0029 C
+372.98 294.377 374.2061 297.3613 374.2061 300.9604 c
+374.2061 304.5322 372.96 307.564 370.4692 310.0547 C
+367.979 312.5439 364.9609 313.79 361.4141 313.79 c
+357.8672 313.79 354.8677 312.5381 352.4165 310.0352 C
+f
+0 D
+359.1436 302.4858 m
+358.7529 303.3379 358.168 303.7627 357.3887 303.7627 c
+356.0098 303.7627 355.3208 302.835 355.3208 300.98 c
+355.3208 299.1245 356.0098 298.1973 357.3887 298.1973 c
+358.2988 298.1973 358.9492 298.6484 359.3389 299.5532 C
+361.25 298.5371 L
+360.3394 296.9189 358.9727 296.1084 357.1509 296.1084 c
+355.7456 296.1084 354.6196 296.5391 353.7744 297.4004 C
+352.9277 298.2627 352.5054 299.4507 352.5054 300.9644 c
+352.5054 302.4521 352.9414 303.6328 353.813 304.5083 C
+354.6851 305.3823 355.771 305.8193 357.0732 305.8193 c
+358.999 305.8193 360.3779 305.0615 361.2119 303.5444 C
+359.1436 302.4858 L
+f
+368.1338 302.4858 m
+367.7427 303.3379 367.1694 303.7627 366.4141 303.7627 c
+365.0078 303.7627 364.3042 302.835 364.3042 300.98 c
+364.3042 299.1245 365.0078 298.1973 366.4141 298.1973 c
+367.3257 298.1973 367.9644 298.6484 368.3286 299.5532 C
+370.2822 298.5371 L
+369.373 296.9189 368.0083 296.1084 366.1899 296.1084 c
+364.7866 296.1084 363.6631 296.5391 362.8184 297.4004 C
+361.9751 298.2627 361.5522 299.4507 361.5522 300.9644 c
+361.5522 302.4521 361.9814 303.6328 362.8389 304.5083 C
+363.6958 305.3823 364.7866 305.8193 366.1123 305.8193 c
+368.0347 305.8193 369.4116 305.0615 370.2427 303.5444 C
+368.1338 302.4858 L
+f
+*U
+U
+/AdobeObjectMatrix (1.000000 0.000000 0.000000 1.000000 -289.615692 99.065300) XT
+U
+/AdobeObjectMatrix (0.872921 0.000000 0.000000 0.872921 50.125359 143.214401) XT
+u
+0 0 0 0 1 1 1 Xa
+403.8594 316.0605 m
+409.791 316.0605 414.5986 311.2529 414.5986 305.3223 c
+414.5986 299.3916 409.791 294.584 403.8594 294.584 c
+397.9287 294.584 393.1206 299.3916 393.1206 305.3223 c
+393.1206 311.2529 397.9287 316.0605 403.8594 316.0605 c
+f
+u
+1 D
+0.74902 0.678431 0.670588 0.901961 0 0 0 Xa
+406.9678 308.4297 m
+406.9678 308.8438 406.6318 309.1787 406.2188 309.1787 C
+401.4756 309.1787 L
+401.0625 309.1787 400.7266 308.8438 400.7266 308.4297 C
+400.7266 303.6875 L
+402.0488 303.6875 L
+402.0488 298.0703 L
+405.6445 298.0703 L
+405.6445 303.6875 L
+406.9678 303.6875 L
+406.9678 308.4297 L
+406.9678 308.4297 L
+f
+0 D
+403.8477 313.0469 m
+404.7432 313.0469 405.4688 312.3208 405.4688 311.4248 c
+405.4688 310.5293 404.7432 309.8032 403.8477 309.8032 c
+402.9512 309.8032 402.2246 310.5293 402.2246 311.4248 c
+402.2246 312.3208 402.9512 313.0469 403.8477 313.0469 c
+f
+U
+*u
+1 D
+403.832 317.1533 m
+400.6206 317.1533 397.9009 316.0332 395.6758 313.791 C
+393.3921 311.4727 392.251 308.7275 392.251 305.5591 c
+392.251 302.3906 393.3921 299.665 395.6758 297.3848 C
+397.9595 295.1035 400.6787 293.9639 403.832 293.9639 c
+407.0254 293.9639 409.793 295.1133 412.1338 297.4141 C
+414.3408 299.5972 415.4434 302.312 415.4434 305.5591 c
+415.4434 308.8062 414.3213 311.5493 412.0762 313.791 C
+409.832 316.0332 407.084 317.1533 403.832 317.1533 c
+f
+0 D
+403.8613 315.0669 m
+406.4932 315.0669 408.7285 314.1392 410.5664 312.2837 C
+412.4248 310.4487 413.3535 308.2061 413.3535 305.5591 c
+413.3535 302.8926 412.4443 300.6792 410.625 298.9209 C
+408.709 297.0273 406.4551 296.0801 403.8613 296.0801 c
+401.2676 296.0801 399.0332 297.0176 397.1567 298.8916 C
+395.2788 300.7666 394.3408 302.9883 394.3408 305.5591 c
+394.3408 308.1299 395.2891 310.3711 397.1851 312.2837 C
+399.0044 314.1392 401.2305 315.0669 403.8613 315.0669 c
+f
+*U
+U
+*u
+1 D
+458.2539 320.5 m
+342.7471 320.5 L
+341.5083 320.5 340.5 319.4917 340.5 318.2534 C
+340.5 279.0078 L
+340.5 278.7266 340.7275 278.5 341.0073 278.5 C
+459.9922 278.5 L
+460.2725 278.5 460.5 278.7266 460.5 279.0078 C
+460.5 318.2534 L
+460.5 319.4917 459.4922 320.5 458.2539 320.5 C
+f
+0 D
+342.7471 319.4849 m
+458.2539 319.4849 L
+458.9326 319.4849 459.4844 318.9326 459.4844 318.2534 C
+459.4844 302.4712 459.4844 291.0479 V
+376.9277 291.0479 L
+373.9019 285.5771 368.0723 281.8623 361.3813 281.8623 c
+354.688 281.8623 348.8599 285.5742 345.8354 291.0479 C
+341.5151 291.0479 L
+341.5151 302.4712 341.5151 318.2534 Y
+341.5151 318.9326 342.0679 319.4849 342.7471 319.4849 C
+f
+*U
+u
+*u
+0 0 0 0 1 1 1 Xa
+400.4966 287.752 m
+400.8125 287.752 401.0996 287.7246 401.3604 287.6689 C
+401.6211 287.6133 401.8438 287.5225 402.0293 287.3955 C
+402.2148 287.2695 402.3594 287.1006 402.4619 286.8906 C
+402.5635 286.6797 402.6152 286.4219 402.6152 286.1113 c
+402.6152 285.7773 402.5391 285.5 402.3867 285.2773 C
+402.2363 285.0547 402.0107 284.873 401.7129 284.7305 C
+402.123 284.6133 402.4287 284.4082 402.6309 284.1133 c
+402.832 283.8203 402.9336 283.4648 402.9336 283.0508 c
+402.9336 282.7168 402.8691 282.4277 402.7383 282.1836 c
+402.6084 281.9395 402.4326 281.7402 402.2129 281.5859 C
+401.9932 281.4307 401.7422 281.3164 401.4609 281.2422 C
+401.1777 281.168 400.8887 281.1309 400.5908 281.1309 C
+397.3745 281.1309 L
+397.3745 287.752 L
+400.4966 287.752 L
+400.4966 287.752 L
+f
+1 D
+400.3105 285.0742 m
+400.5703 285.0742 400.7842 285.1357 400.9517 285.2598 C
+401.1191 285.3828 401.2021 285.583 401.2021 285.8604 c
+401.2021 286.0146 401.1738 286.1406 401.1191 286.2402 C
+401.0625 286.3389 400.9888 286.416 400.8955 286.4707 C
+400.8027 286.5273 400.6958 286.5645 400.5752 286.5869 C
+400.4546 286.6084 400.3291 286.6191 400.1992 286.6191 C
+398.834 286.6191 L
+398.834 285.0742 L
+400.3105 285.0742 L
+f
+400.3955 282.2637 m
+400.5381 282.2637 400.6743 282.2773 400.8047 282.3057 C
+400.9341 282.334 401.0498 282.3799 401.1484 282.4443 C
+401.248 282.5098 401.3262 282.5977 401.3857 282.709 C
+401.4453 282.8203 401.4736 282.9619 401.4736 283.1357 c
+401.4736 283.4746 401.3779 283.7178 401.1855 283.8623 C
+400.9937 284.0078 400.7397 284.0801 400.4238 284.0801 C
+398.834 284.0801 L
+398.834 282.2637 L
+400.3955 282.2637 L
+400.3955 282.2637 L
+f
+*U
+0 D
+403.1904 287.752 m
+404.8242 287.752 L
+406.375 285.1377 L
+407.916 287.752 L
+409.5391 287.752 L
+407.082 283.6719 L
+407.082 281.1309 L
+405.6211 281.1309 L
+405.6211 283.709 L
+403.1904 287.752 L
+f
+U
+u
+426.4336 287.752 m
+429.1992 283.3105 L
+429.2148 283.3105 L
+429.2148 287.752 L
+430.582 287.752 L
+430.582 281.1309 L
+429.125 281.1309 L
+426.3691 285.5645 L
+426.3506 285.5645 L
+426.3506 281.1309 L
+424.9844 281.1309 L
+424.9844 287.752 L
+426.4336 287.752 L
+f
+*u
+434.7178 287.752 m
+435.1465 287.752 435.543 287.6846 435.9121 287.5488 C
+436.2803 287.4121 436.5986 287.208 436.8691 286.9365 C
+437.1367 286.665 437.3477 286.3242 437.5 285.916 C
+437.6523 285.5078 437.7275 285.0293 437.7275 284.4785 c
+437.7275 283.9961 437.666 283.5508 437.542 283.1436 C
+437.418 282.7344 437.2305 282.3828 436.9805 282.0859 C
+436.7285 281.7891 436.416 281.5557 436.041 281.3857 C
+435.667 281.2148 435.2266 281.1309 434.7178 281.1309 C
+431.8574 281.1309 L
+431.8574 287.752 L
+434.7178 287.752 L
+434.7178 287.752 L
+f
+1 D
+434.6162 282.3574 m
+434.8262 282.3574 435.0303 282.3906 435.2285 282.459 c
+435.4258 282.5273 435.6035 282.6396 435.7578 282.7969 C
+435.9121 282.9551 436.0361 283.1602 436.1289 283.4131 C
+436.2207 283.666 436.2676 283.9746 436.2676 284.3398 c
+436.2676 284.6738 436.2363 284.9746 436.1709 285.2432 c
+436.1055 285.5117 435.999 285.7422 435.8506 285.9336 c
+435.7021 286.125 435.5059 286.2715 435.2617 286.373 C
+435.0176 286.4746 434.7148 286.5254 434.3574 286.5254 C
+433.3174 286.5254 L
+433.3174 282.3574 L
+434.6162 282.3574 L
+434.6162 282.3574 L
+f
+*U
+U
+u
+0 D
+442.9941 305.5195 m
+442.998 299.6748 438.2617 294.9326 432.416 294.9277 C
+426.5703 294.9248 421.8281 299.6582 421.8232 305.5049 C
+421.8232 305.5098 421.8232 305.5156 421.8232 305.5195 C
+421.8193 311.3647 426.5547 316.106 432.4014 316.1108 C
+438.248 316.1157 442.9893 311.3804 442.9941 305.5347 C
+442.9941 305.5298 442.9941 305.5249 442.9941 305.5195 C
+f
+u
+*u
+1 D
+0.74902 0.678431 0.670588 0.901961 0 0 0 Xa
+432.2432 317.1143 m
+429.0293 317.1143 426.3115 315.9946 424.0859 313.7529 C
+421.8027 311.4336 420.6621 308.6895 420.6621 305.5195 c
+420.6621 302.3501 421.8027 299.626 424.0859 297.3447 C
+426.3691 295.0645 429.0879 293.9238 432.2432 293.9238 c
+435.4355 293.9238 438.2031 295.0752 440.5449 297.374 C
+442.75 299.5581 443.8535 302.2734 443.8535 305.5195 c
+443.8535 308.7671 442.7314 311.5103 440.4863 313.7529 C
+438.2422 315.9946 435.4932 317.1143 432.2432 317.1143 c
+f
+0 D
+432.2725 315.0288 m
+434.9033 315.0288 437.1387 314.1006 438.9775 312.2441 C
+440.835 310.4092 441.7637 308.1685 441.7637 305.5195 c
+441.7637 302.8525 440.8545 300.6401 439.0352 298.8818 C
+437.1191 296.9883 434.8643 296.041 432.2725 296.041 c
+429.6777 296.041 427.4434 296.9785 425.5664 298.8535 C
+423.6895 300.7275 422.751 302.9497 422.751 305.5195 c
+422.751 308.0908 423.6992 310.3315 425.5957 312.2441 C
+427.415 314.1006 429.6406 315.0288 432.2725 315.0288 c
+f
+*U
+u
+*u
+1 D
+436.6396 308.2676 m
+428.209 308.2676 L
+428.209 306.2715 L
+436.6396 306.2715 L
+436.6396 308.2676 L
+f
+436.6396 304.541 m
+428.209 304.541 L
+428.209 302.5449 L
+436.6396 302.5449 L
+436.6396 304.541 L
+f
+*U
+U
+U
+/AdobeObjectMatrix (1.000000 0.000000 0.000000 1.000000 -23.952101 -87.921021) XT
+U
+/AdobeObjectMatrix (0.624995 0.000000 0.000000 0.624995 -183.010696 316.932800) XT
+U
+/AdobeObjectMatrix (0.993781 0.000000 0.000000 0.993670 -177.694138 -223.309784) XT
+U
+LB
+%AI5_EndLayer--
+%AI3_BeginCrops
+userdict /AI3_noCropMarks known not {
+0 A
+u
+u
+0 D
+0 R
+0 G
+0 J 0 j 0.5 w 4 M []0 d
+0 XR
+331.5 278.5 m
+304.5 278.5 L
+S
+340.5 269.5 m
+340.5 242.5 L
+S
+U
+u
+331.5 320.5 m
+304.5 320.5 L
+S
+340.5 329.5 m
+340.5 356.5 L
+S
+U
+u
+469.5 320.5 m
+496.5 320.5 L
+S
+460.5 329.5 m
+460.5 356.5 L
+S
+U
+u
+469.5 278.5 m
+496.5 278.5 L
+S
+460.5 269.5 m
+460.5 242.5 L
+S
+U
+U
+} if
+%AI3_EndCrops
+%%PageTrailer
+gsave annotatepage grestore showpage
+%%Trailer
+Adobe_Illustrator_AI5 /terminate get exec
+Adobe_shading_AI8 /terminate get exec
+Adobe_ColorImage_AI6 /terminate get exec
+Adobe_cshow /terminate get exec
+Adobe_level2_AI5 /terminate get exec
+%%EOF
diff --git a/macros/xetex/latex/langsci/documentation/langsci-doc.pdf b/macros/xetex/latex/langsci/documentation/langsci-doc.pdf
new file mode 100644
index 0000000000..6d8b9058a8
--- /dev/null
+++ b/macros/xetex/latex/langsci/documentation/langsci-doc.pdf
Binary files differ
diff --git a/macros/xetex/latex/langsci/documentation/langsci-doc.tex b/macros/xetex/latex/langsci/documentation/langsci-doc.tex
new file mode 100644
index 0000000000..c4e42311c9
--- /dev/null
+++ b/macros/xetex/latex/langsci/documentation/langsci-doc.tex
@@ -0,0 +1,264 @@
+\documentclass[%
+output=guidelines,
+guidelines]{langscibook}
+\author{Sebastian Nordhoff}
+\title{The \texttt{langscibook} {\LaTeX} class}
+\subtitle{}
+\renewcommand{\lsSeries}{guidelines}
+\renewcommand{\lsSeriesNumber}{~}
+\renewcommand{\lsAdvertisement}{}
+% \BackTitle{}
+% \BackBody{}
+% \dedication{}
+% \typesetter{}
+% \proofreader{}
+% \renewcommand{\lsISBNdigital}{000-0-000000-00-0}
+% \renewcommand{\lsISBNhardcover}{000-0-000000-00-0}
+% \renewcommand{\lsISBNsoftcover}{000-0-000000-00-0}
+% \renewcommand{\lsISBNsoftcoverus}{000-0-000000-00-0}
+% \BookDOI{}
+% \renewcommand{\lsURL}{http://langsci-press.org/catalog/book/000}
+
+% \bibliography{localbibliography}
+
+\newcommand{\option}[3]{\subsection{\texttt{#1}}{#2}\\Default value: {\texttt{#3}}}
+\begin{document}
+\maketitle
+
+\frontmatter
+\currentpdfbookmark{Contents}{name} % adds a PDF bookmark
+\tableofcontents
+% \include{chapters/preface}
+% \include{chapters/acknowledgments}
+% \include{chapters/abbreviations}
+
+\mainmatter
+\chapter{Introduction}
+This document describes the {\LaTeX} class langscibook.cls. This class is used for typesetting books with Language Science Press. Language Science Press publish open access monographs and edited volumes in linguistics.
+
+
+\chapter{The class}
+The class is loaded via \verb+\documentclass{langscibook}+. The standard use case is the creation of a book. If used without an \texttt{output=} option, the option \texttt{output=book} is loaded. The class can also be used to create dust jackets for books with different measurements via the output option values
+\texttt{covercreatespace} (for \url{http://www.createspace.com}) and
+\texttt{coverbodsc/coverbodhc} (for \url{http://www.bod.de}).
+
+The class provides for the following:
+\begin{itemize}
+ \item front cover
+ \item frontispiece
+ \item inside title
+ \item colophon
+ \item table of contents
+ \item chapters
+ \item list of references (per chapter or global)
+ \item name index, subject index, language index
+ \item advertisement
+ \item back title
+ \item ISBN
+ \item DOI (per book and per chapter)
+\end{itemize}
+
+When used to create dust jackets, the class will produce a large pdf with a collation of backcover, spine and frontcover, from left to right, surrounded by bleed.
+
+
+\chapter{Requirements}
+\section{Fonts}
+The class uses the fonts Libertine, Arimo and Dejavu. These have to be present on the system.
+
+\section{Styles}
+A couple of additional style files come with the class. Documents using this class will compile without them, but in order to typeset books for Language Science Press, these packages should be loaded as well. These packages are
+
+\begin{itemize}
+ \item \texttt{langsci-basic.sty}: Commands used in all Language Science Press books
+ \item \texttt{langsci-optional.sty}: Further commands useful for some typical books
+ \item \texttt{langsci-gb4e.sty}: Package for linguistic examples
+ \item \texttt{langsci-cgloss.sty}: Helper package for \texttt{langsci-gb4e}
+ \item \texttt{langsci-forest-setup.sty}: Set up the forest package for linguistic trees
+% \item \texttt{langsci-lgr.sty}:
+ \item \texttt{langsci-tbls.sty}: Package for the textbook series Textbooks in Language Sciences
+ \item \texttt{langsci-bidi.sty}: Package for typesetting right-to-left text
+% \item \texttt{langsci-glyphs.sty}: some shortcuts for font workarounds
+% \item \texttt{langsci-subparts.sty}: adds an additional sectioning level between part and chapter
+
+\end{itemize}
+
+\section{Series definitions}
+The metadata for LangSci book series are stored in \texttt{langsci-series.def}. For new series, the ISSN field of \texttt{langsci-series.def} might have to be updated.
+
+\chapter{Creating a book}
+The easiest way to start a book is to download the skeletons from \url{http://langsci-press.org/templatesAndTools}. Sample documents for monographs, edited volumes and chapters in edited volumes are provided in the folder \texttt{examples/} as well.
+
+\section{Creating a monograph}
+Load the class. Make sure the following metadata values are set with the metadata commands listed in \sectref{sec:metadatacommands}:
+
+\begin{itemize}
+ \item author
+ \item title
+\end{itemize}
+
+Provide the following additional information if necessary:
+\begin{itemize}
+ \item series
+ \item series number
+ \item all ISBNs
+ \item BookDOI
+ \item ID
+ \item blurb (back body)
+ \item subtitle
+ \item backtitle
+ \item spine title
+ \item spine author
+ \item dedication
+ \item list of proofreaders
+ \item list of typesetters
+ \item list of illustrators
+ \item license other than CC-BY
+ \item list of additional fonts
+\end{itemize}
+
+
+\section{Creating an edited volume}
+Proceed as for a monograph, but use the option \texttt{collection}. Use \verb+\author+ for the editor(s). Use the option \texttt{multiauthors} if there is more than one editor. You may want to use the further options \texttt{collectionchapter} and \texttt{collectiontoclong}. Chapters are included via \verb+\includepaper{}+. Set the bibliography resource for all papers in the main file.
+
+
+\section{Creating a paper for an edited volume}
+Use the output option \texttt{paper}. Provide the following metadata in the preamble:
+\begin{itemize}
+ \item \verb+\author+ with (\verb+\affiliation+)
+ \item \verb+\title+
+ \item \verb+\abstract+ (optional)
+\end{itemize}
+
+You might want to use \verb+\shorttitlerunninghead+ for chapters with very long titles.
+
+Papers can be compiled standalone. You can use the command \verb+\papernote+ in the preamble of the paper to adjust the text displayed in the footer. This can be embedded in a conditional as follows (assuming your chapter source file is in a subfolder of the folder containing your main file):
+\begin{verbatim}
+\IfFileExists{../samplevolume.tex}{%adjust to name of your master file
+ \papernote{\scriptsize\normalfont
+ To appear in:
+ Change Volume Editor.
+ Change volume title.
+ Berlin: Language Science Press. [preliminary page numbering]
+ }
+ \pagenumbering{roman}
+ \setcounter{chapter}{23}%adjust the chapter number
+ \addtocounter{chapter}{-1}
+}{}
+\end{verbatim}
+
+This will set your chapter number to 23 when compiled standalone (rather than 1) and will display text in the chapter footer.
+
+
+
+\chapter{Creating a dust jacket}
+Use the option \texttt{coverbodhc}, \texttt{coverbodsc} or \texttt{covercreatespace} and set the option \texttt{spinewidth}. Run {\XeLaTeX} twice. Upload to the respective websites to see whether the lengths were chosen correctly.
+
+\chapter{Options}
+The class has flag options to toggle certain behaviour and string options to set metadata values.
+
+\section{Flag options}
+% \option{blackandwhite}
+% Remove all colors}
+% {false
+% \option{smallfont}
+% use 10pt as fontsize
+% {false
+% \option{noindex}
+% remove index}
+% {false
+% \option{biblatex}{Use Bib\LaTeX}{true}
+% \option{bibtex}{Use Bibtex}{false}
+\option{collection}{Make the book an edited volume}{false}
+\option{collectionchapter}{Add numeric chapter prefix to each contribution.}{false}
+\option{collectiontoclong}{More detailed table of content in edited volumes}{false}
+\option{draftmode}{Switch to draft mode (adds: draft stamp, indication of overlong lines, date)}{false}
+\option{openreview}{Switch to open review mode}{false}
+\option{modfonts}{Use modified fonts provided by Language Science Press}{false}
+\option{multiauthors}{Set editor suffix to eds. instead of ed.}{false}
+\option{newtxmath}{Switch math fonts to newtxmath}{false}
+\option{nobabel}{Do not use the Babel package in the class}{false}
+\option{nonflat}{Use elaborate directory structure. If set to true, fonts, packages etc will be loaded from subfolders. If set to false, they will be loaded from the working directory}{false}
+\option{showindex}{Show indexed terms in margin}{false}
+\option{smallfont}{Use a smaller font for books above 500 pages}{false}
+% \option{undecapitalize}{Do not decapitalize titles in the list of references}{false}
+\option{chinesefont}{Load fonts for Chinese and update font info in colophon}{false}
+\option{japanesefont}{Load fonts for Japanese and update font info in colophon}{false}
+\option{hebrewfont}{Load fonts for Hebrew and update font info in colophon}{false}
+\option{arabicfont}{Load fonts for Arabic and update font info in colophon}{false}
+\option{syriacfont}{Load fonts for Syriac and update font info in colophon}{false}
+
+\section{String options}
+\option{output}{Different output formats}{book}
+\begin{itemize}
+\item \texttt{book}: The book with frontcover and backcover
+\item \texttt{inprep}: Mark manuscript as in preparation
+\item \texttt{paper}: Contribution to edited volume
+\item \texttt{guidelines}: Choose color grey; condense frontmatter
+\item \texttt{coverbodhc}: Create a two-page wide cover (back-spine-front) for use with BoD hardcover books
+\item \texttt{coverbodsc}: Create a two-page wide cover (back-spine-front) for use with BoD softcover books
+\item \texttt{covercreatespace}: Create a two-page wide cover (back-spine-front) for use with CreateSpace
+\end{itemize}
+
+\option{spinewidth}{The width of the spine (for cover creation)}{20mm}
+\option{booklanguage}{Load babel for the specified language and change the custom headers for list of references and indexes}{english}
+\option{copyright}{The license chosen}{"CC-BY"}
+% \option{biblatexbackend}{The backend of BibLaTeX}{"biber"}
+% Alternative: \texttt{biber}
+
+
+
+\section{Metadata commands}\label{sec:metadatacommands}
+The following commands are used to indicated metadata.
+
+\option{$\backslash$BackBody}{Text to be printed on the back cover}{Europan lingues es membres del sam familie. Lor separat existentie es un
+myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.}
+\option{$\backslash$BackTitle}{Title on back cover}{\textrm{same as on front cover}}
+\option{$\backslash$BookDOI}{DOI for the book}{??}
+\option{$\backslash$ChapterDOI}{DOI for a chapter}{??}
+\option{$\backslash$dedication}{A dedication}{\textrm{void}}
+\option{$\backslash$lsISBNdigital}{ISBN for the digital version}{000-0-000000-00-0}
+\option{$\backslash$lsISBNhardcover}{ISBN for the hardcover version}{000-0-000000-00-0}
+\option{$\backslash$lsISBNsoftcover}{ISBN for the softcover version}{000-0-000000-00-0}
+% \option{$\backslash$lsISBNsoftcoverus}{ISBN for the softcover version (US distribution)}{000-0-000000-00-0}
+\option{$\backslash$lsSeries}{The series this book appears in. Use the acronyms found in \texttt{langsci-series.def}}{eotms}
+\option{$\backslash$lsSeriesNumber}{Position of the book in its series}{??}
+\option{$\backslash$lsID}{The numerical LangSci ID, used for various URLs}{000}
+
+\section{Overrides}
+The following commands allow to override further default settings:
+
+\option{$\backslash$SpineAuthor}{Custom author on spine. Useful for long lists of authors/editors}{\textrm{same as on cover}}
+\option{$\backslash$SpineTitle}{Custom title on spine. Useful for long titles}{\textrm{same as on cover}}
+\option{$\backslash$lsImpressionCitationAuthor}{How the author name should be displayed in the impressum}{\rmfamily Automatically inferred from \texttt{$\backslash$author\{\}}, but sometimes things go wrong}
+\option{$\backslash$lsImpressionCitationText}{Customize the full citation as displayed in the colophon. Useful for second editions}{\rmfamily Automatically inferred from \texttt{$\backslash$author\{\}} and \texttt{$\backslash$title\{\}}}
+\option{$\backslash$papernote}{Text displayed in the footer of chapters}{\rmfamily Automatically inferred from volume and chapter metadata}
+\option{$\backslash$lsChapterFooterSize}{Font size for chapter footers}{\texttt{$\backslash$small}}
+\section{Command redefinitions}
+Redefine the following commands to further alter the appearance:
+
+\option{$\backslash$lsAdvertisement}{Specify the advertisement on the last page of the book}{$\backslash$include\{$\backslash$logopath didyoulikethisbook\}}
+\option{$\backslash$lsBackBodyFont}{Font used for text on back cover}{\textrm{main font}}
+\option{$\backslash$lsBackTitleFont}{Font used for title on back cover}{$\backslash$sffamily$\backslash$addfontfeatures{Scale=MatchUppercase}\\$\backslash$fontsize\{25pt\}\{10mm\}$\backslash$selectfont}
+\option{$\backslash$lsCopyright}{Choice of licence}{CC-BY}
+\option{$\backslash$lsCoverAuthorFont}{Font for author/editor on cover}{$\backslash$fontsize\{25pt\}\{12.5mm\}$\backslash$selectfont}
+\option{$\backslash$lsCoverSubTitleFont}{Font for the subtitle}{$\backslash$sffamily$\backslash$addfontfeatures\{Scale=MatchUppercase\}\\ $\backslash$fontsize\{25pt\}\{10mm\}$\backslash$selectfont}
+\option{$\backslash$lsCoverTitleFont}{Font for the title}{$\backslash$sffamily$\backslash$addfontfeatures{Scale=MatchUppercase}\\ $\backslash$fontsize{52pt}{17.25mm}$\backslash$selectfont}
+\option{$\backslash$lsEditorPrefix}{How editors are indicated on title page. Useful for localization.}{{$\backslash$LARGE Edited by$\backslash$$\backslash$}}
+\option{$\backslash$lsEditorSuffix}{How editors are indicated in the colophon}{(ed.)/(eds.)\rmfamily, depending on the value of the option \texttt{multiauthors}}
+\option{$\backslash$lsFontsize}{size of main font}{11pt}
+\option{$\backslash$lsImpressumCitationText}{custom citation text, useful for including notes etc.}{\textrm{computed from author and title fields}}
+\option{$\backslash$lsISSN}{ISSN of the series}{??}
+
+\option{$\backslash$lsSubjectIndexTitle}{The title of the subject index. Change this for non-English works}{Subject index}
+\option{$\backslash$lsLanguageIndexTitle}{The title of the language index. Change this for non-English works}{Language index}
+\option{$\backslash$lsNameIndexTitle}{The title of the name index. Change this for non-English works}{Name index}
+\option{$\backslash$lsSpineAuthorFont}{Font for the author on the spine}{$\backslash$fontsize\{16pt\}\{14pt\}$\backslash$selectfont}
+\option{$\backslash$lsSpineTitleFont}{Font for the title on the spine}{$\backslash$sffamily$\backslash$fontsize\{18pt\}\{14pt\}$\backslash$selectfont}
+\option{$\backslash$lsSubjectIndexTitle}{The title of the subject index. Change this for non-English works}{Subject index}
+\option{$\backslash$lsYear}{Year of publication}{$\backslash$the$\backslash$year}
+\section{Additions}
+\option{$\backslash$lsAdditionalFontsImprint}{Add additional fonts to the list of fonts in the colophon}{\textrm{void}}
+\option{$\backslash$lsImpressumExtra}{for legal notes required for revised theses}{void}
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/examples/langsci-test.bib b/macros/xetex/latex/langsci/examples/langsci-test.bib
new file mode 100644
index 0000000000..d3d50c7d0f
--- /dev/null
+++ b/macros/xetex/latex/langsci/examples/langsci-test.bib
@@ -0,0 +1,7 @@
+@BOOK{Chomsky1957,
+ author = {Noam Chomsky},
+ year = {1957},
+ title = {Syntactic structures},
+ address = {The Hague},
+ publisher = {Mouton}
+}
diff --git a/macros/xetex/latex/langsci/examples/samplemonograph.tex b/macros/xetex/latex/langsci/examples/samplemonograph.tex
new file mode 100644
index 0000000000..19d39e976c
--- /dev/null
+++ b/macros/xetex/latex/langsci/examples/samplemonograph.tex
@@ -0,0 +1,60 @@
+\documentclass{langscibook}
+\author{Pat Jaeung}
+\title{Sample monograph}
+\Series{cfls}
+\SeriesNumber{99}
+
+\renewcommand{\lsISBNdigital}{000-0-000000-00-0}
+\renewcommand{\lsISBNhardcover}{000-0-000000-00-0}
+\renewcommand{\lsISBNsoftcover}{000-0-000000-00-0}
+\renewcommand{\lsURL}{http://langsci-press.org/catalog/book/000}
+% \BookDOI{}%ask coordinator for DOI
+
+\dedication{For Mom and Dad}
+\typesetter{Jane Doe}
+\proofreader{John Doe}
+\BackBody{What everyone should know about monographs: it's here}
+
+\bibliography{langsci-test}
+\begin{document}
+\maketitle
+\frontmatter
+\currentpdfbookmark{Contents}{name} % adds a PDF bookmark
+\tableofcontents
+% \include{chapters/preface}
+% \include{chapters/acknowledgments}
+% \include{chapters/abbreviations}
+\mainmatter
+\chapter{Introduction}
+This is the introduction.
+\chapter{New research}
+This is the main argument \citep{Chomsky1957}.
+\chapter{Conclusion}
+This is the conclusion.
+
+\backmatter
+\sloppy
+\phantomsection%this allows hyperlink in ToC to work
+\printbibliography[heading=references]
+\cleardoublepage
+
+\phantomsection
+\addcontentsline{toc}{chapter}{Index}
+\addcontentsline{toc}{section}{Name index}
+\ohead{Name index}
+\printindex
+\cleardoublepage
+
+\phantomsection
+\addcontentsline{toc}{section}{Language index}
+\ohead{Language index}
+\printindex[lan]
+\cleardoublepage
+
+\phantomsection
+\addcontentsline{toc}{section}{Subject index}
+\ohead{Subject index}
+\printindex[sbj]
+\ohead{}
+
+\end{document} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/examples/samplepaper.tex b/macros/xetex/latex/langsci/examples/samplepaper.tex
new file mode 100644
index 0000000000..669d7ff12e
--- /dev/null
+++ b/macros/xetex/latex/langsci/examples/samplepaper.tex
@@ -0,0 +1,57 @@
+\documentclass[output=paper]{langscibook}
+\title{Introduction}
+\author{%
+ Chap ter Author\affiliation{University of Eden}\and
+ Noam Chimpsky\affiliation{University of Pluto}\lastand
+ Jane Wilson\affiliation{National Institute for Language}
+}
+\abstract{
+Abstract goes here
+}
+% \bibliography{langsci-test}
+
+\IfFileExists{../samplevolume.tex}{%adjust to name of your master file
+ \papernote{\scriptsize\normalfont
+ To appear in:
+ Change Volume Editor.
+ Change volume title.
+ Berlin: Language Science Press. [preliminary page numbering]
+ }
+ \pagenumbering{roman}
+ \setcounter{chapter}{23}%adjust the chapter number
+ \addtocounter{chapter}{-1}
+}{}
+
+\begin{document}
+
+\maketitle
+\section{Introduction}
+Phasellus maximus erat ligula, accumsan rutrum augue facilisis in. Proin sit amet pharetra nunc, sed maximus erat. Duis egestas mi eget purus venenatis vulputate vel quis nunc. Nullam volutpat facilisis tortor, vitae semper ligula dapibus sit amet. Suspendisse fringilla, quam sed laoreet maximus, ex ex placerat ipsum, porta ultrices mi risus et lectus. Maecenas vitae mauris condimentum justo fringilla sollicitudin. Fusce nec interdum ante. Curabitur tempus dui et orci convallis molestie \citep{Chomsky1957}.
+
+
+
+Sed nisi urna, dignissim sit amet posuere ut, luctus ac lectus. Fusce vel ornare nibh. Nullam non sapien in tortor hendrerit suscipit. Etiam sollicitudin nibh ligula. Praesent dictum gravida est eget maximus. Integer in felis id diam sodales accumsan at at turpis. Maecenas dignissim purus non libero scelerisque porttitor. Integer porttitor mauris ac nisi iaculis molestie. Sed nec imperdiet orci. Suspendisse sed fringilla elit, non varius elit. Sed varius nisi magna, at efficitur orci consectetur a. Cras consequat mi dui, et cursus lacus vehicula vitae. Pellentesque sit amet justo sed lectus luctus vehicula. Suspendisse placerat augue eget felis sagittis placerat.
+
+
+\begin{table}
+\caption{Frequencies of word classes}
+\label{tab:1:frequencies}
+ \begin{tabular}{lrrrr}
+ \lsptoprule
+ & nouns & verbs & adjectives & adverbs\\
+ \midrule
+ absolute & 12 & 34 & 23 & 13\\
+ relative & 3.1 & 8.9 & 5.7 & 3.2\\
+ \lspbottomrule
+ \end{tabular}
+\end{table}
+
+
+Sed cursus eros condimentum mi consectetur, ac consectetur sapien pulvinar. Sed consequat, magna eu scelerisque laoreet, ante erat tristique justo, nec cursus eros diam eu nisl. Vestibulum non arcu tellus. Nunc dignissim tristique massa ut gravida. Nullam auctor orci gravida tellus egestas, vitae pharetra nisl porttitor. Pellentesque turpis nulla, venenatis id porttitor non, volutpat ut leo. Etiam hendrerit scelerisque luctus. Nam sed egestas est. Suspendisse potenti. Nunc vestibulum nec odio non laoreet. Proin lacinia nulla lectus, eu vehicula erat vehicula sed.
+
+\section*{Abbreviations}
+\section*{Acknowledgements}
+
+\printbibliography[heading=subbibliography,notkeyword=this]
+
+\end{document} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/examples/samplevolume.tex b/macros/xetex/latex/langsci/examples/samplevolume.tex
new file mode 100644
index 0000000000..2671867c28
--- /dev/null
+++ b/macros/xetex/latex/langsci/examples/samplevolume.tex
@@ -0,0 +1,66 @@
+\documentclass[output=book
+ ,collection
+ ,collectionchapter
+ ]{langscibook}
+
+\author{Jane Doe}
+\title{Sample edited volume}
+\subtitle{Including sample chapter}
+\Series{cfls}
+\SeriesNumber{42}
+
+\renewcommand{\lsISBNdigital}{000-0-000000-00-0}
+\renewcommand{\lsISBNhardcover}{000-0-000000-00-0}
+\renewcommand{\lsISBNsoftcover}{000-0-000000-00-0}
+% \BookDOI{}%ask coordinator for DOI
+\renewcommand{\lsID}{000}
+
+\dedication{For Mom and Dad}
+\typesetter{Jane Doe}
+\proofreader{John Doe}
+\BackBody{What everyone should know about edited volumes: it's here}
+
+
+\bibliography{langsci-test}
+\begin{document}
+\maketitle
+\frontmatter
+\currentpdfbookmark{Contents}{name} % adds a PDF bookmark
+\tableofcontents
+% \include{preface}
+% \include{acknowledgments}
+
+% %% Additional prefaces and/or introductions that also have authors
+% \lsCollectionPaperFrontmatterMode % Enter the Frontmatter Mode.
+% \includepaper{chapters/prefaceEd}
+% \lsCollectionPaperMainmatterMode % Leave the Frontmatter Mode
+% \setcounter{chapter}{0} % Reset the chapter counter so that preceding prefaces are not counted
+
+\mainmatter
+
+\mainmatter
+\includepaper{samplepaper}
+
+\backmatter
+\phantomsection%this allows hyperlink in ToC to work
+\addcontentsline{toc}{chapter}{Indexes}
+
+\phantomsection%this allows hyperlink in ToC to work
+\addcontentsline{toc}{section}{Name index}
+\ohead{Name index}
+\printindex
+\cleardoublepage
+
+\phantomsection%this allows hyperlink in ToC to work
+\addcontentsline{toc}{section}{Language index}
+\ohead{Language index}
+\printindex[lan]
+\cleardoublepage
+
+\phantomsection%this allows hyperlink in ToC to work
+\addcontentsline{toc}{section}{Subject index}
+\ohead{Subject index}
+\printindex[sbj]
+\cleardoublepage
+
+\end{document} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/labphon-logo.pdf b/macros/xetex/latex/langsci/labphon-logo.pdf
new file mode 100644
index 0000000000..ff700e0077
--- /dev/null
+++ b/macros/xetex/latex/langsci/labphon-logo.pdf
Binary files differ
diff --git a/macros/xetex/latex/langsci/langsci-advertisement.tex b/macros/xetex/latex/langsci/langsci-advertisement.tex
new file mode 100644
index 0000000000..2d7d02e87b
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-advertisement.tex
@@ -0,0 +1,17 @@
+\thispagestyle{empty}
+\ifcsname tikz@library@external@loaded\endcsname\tikzexternaldisable\fi%Disable Externalisation if external library is loaded
+\pgfdeclarelayer{lspadvert_bg} % Please make sure to never use lspadvert_... PGF layers in any document
+\pgfsetlayers{lspadvert_bg,main}
+\begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}]
+ \begin{pgfonlayer}{lspadvert_bg} % background layer
+ \node at (current page.center) [bg, fill=lsGuidelinesGray, minimum height=22cm, minimum width=15cm] (lspadvert_bg1) {}; % Die können wir noch dynamisch bestimmen
+ \end{pgfonlayer}
+ \node [execute at begin node={}, font=\fontsize{52pt}{16.75mm}\selectfont, below right = 10mm and 7.5mm of lspadvert_bg1.north west, text width=13.7cm, align=left] (lspadvert_covertitle) {\color{black}\lsCoverTitleFont{Did you like this book?\par}}; % x = 15mm - 7.5mm ; y = 17.5mm - 7.5mm
+
+ \node [font=\fontsize{25pt}{10mm}\selectfont,below = 8mm of lspadvert_covertitle.south, text width=137mm] (lspadvert_coversubtitle) {\color{black} \lsCoverSubTitleFont \nohyphens{This book was brought to you for free}\par};
+
+ \node (lspadvert_logo) [above left = 10mm and 7.5mm of lspadvert_bg1.south east] {\color{black}\includegraphics{\logopath langsci_logo_nocolor.pdf}};
+ \node [above right = 48.8mm and -.1mm of lspadvert_bg1.south west, rectangle, fill=white, minimum size=17pt] (lspadvert_square) {};
+ \path let \p1 = (lspadvert_square.north east), \p2 = (lspadvert_covertitle.west) in node at (\x2,\y1) (lspadvert_seriesinfo) [font=\fontsize{17pt}{7.5mm}\selectfont, right, align=flush left, text width=90mm, anchor=north west] {\color{black}\lsCoverSeriesFont{\nohyphens{Please help us in providing free access to linguistic research worldwide. Visit \url{http://www.langsci-press.org/donate} to provide financial support or register as a community proofreader or typesetter \mbox{at \url{http://www.langsci-press.org/register}.}}\par}};
+\end{tikzpicture}%
+\ifcsname tikz@library@external@loaded\endcsname\tikzexternalenable\fi
diff --git a/macros/xetex/latex/langsci/langsci-avm.sty b/macros/xetex/latex/langsci/langsci-avm.sty
new file mode 100644
index 0000000000..367b7333e2
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-avm.sty
@@ -0,0 +1,211 @@
+%% avm.sty - a style file for attribute-value matrices
+%% Copyright 1992, 1993, 2006, 2013 Christopher Manning (manning@cs.stanford.edu)
+%% Copyright 2018 Language Science Press (felix.kopecky@langsci-press.org)
+%
+% v 1.00 mar 29, 1992
+% v 1.01 dec 6, 1993
+% v 1.02 jan 5, 2006
+% v 1.03 dec 8, 2013
+% v 1.03l feb 16, 2018
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Christopher Manning.
+% The Maintainer for Language Science Press additions is Felix Kopecky.
+%
+% This work consists of the files avm.sty, avm-doc.tex, avm-test.tex.
+
+\newif\ifavmactive\newif\ifavmsorted\newif\ifavmlabeled
+\newif\ifavmcenter\newif\ifavmbottom
+\newif\ifavmbottomright\newif\ifavmtopleft\newif\ifavmtopright
+
+\newdimen\avmdimen
+\newbox\avmboxone\newbox\avmboxthree
+
+\def\avmoptions#1{\avmactivefalse\avmsortedfalse\avmlabeledfalse
+ \avmcenterfalse\avmbottomfalse
+ \avmbottomrightfalse\avmtopleftfalse\avmtoprightfalse
+ \def\more{#1}\ifx\more\empty\else\avmjoptions#1,\@nil\fi}
+\def\avmjoptions#1,#2\@nil{\def\more{#2}\csname avm#1true\endcsname
+ \ifx\more\empty\else\avmjoptions#2\@nil\fi}
+
+
+\def\avmfont#1{\def\avmjfont{#1}}
+\def\avmjfont{}
+
+\def\avmvalfont#1{\def\avmjvalfont{#1}}
+\def\avmjvalfont{}
+
+\def\avmsortfont#1{\def\avmjsortfont{#1}}
+\def\avmjsortfont{}
+
+\def\avmhskip#1{\def\avmjhskip{#1}}
+\def\avmjhskip{1em}
+
+\def\avmbskip#1{\def\avmjbskip{#1}}
+\def\avmjbskip{0em}
+
+\def\avmvskip#1{\def\avmjvskip{#1}}
+\def\avmjvskip{0.385ex}%was .3875
+
+%% Additions by Language Science Press
+\RequirePackage{tikz}
+\usetikzlibrary{calc}
+\def\LangsciAvmStretchfactor{15}
+
+\newcommand{\LangsciAvmLeftDelim}[2]% #1 = height, #2 = depth
+{\tikz[baseline]{\coordinate (middle) at ($(-.\LangsciAvmStretchfactor,-#2)!0.5!(-.\LangsciAvmStretchfactor,#1)$);\draw[thick] (0,-#2) -- (middle) -- (0,#1);}\:}
+
+\newcommand{\LangsciAvmRightDelim}[2]% #1 = height, #2 = depth
+{\:\tikz[baseline]{\coordinate (middle) at ($(.\LangsciAvmStretchfactor,-#2)!0.5!(.\LangsciAvmStretchfactor,#1)$);\draw[thick] (0,-#2) -- (middle) -- (0,#1);}}
+
+\newlength{\LangsciAvmAngleBoxHeight}
+\newlength{\LangsciAvmAngleBoxDepth}
+\newsavebox{\LangsciAvmAngleBox}
+
+\newcommand{\LangsciAvmAngle}[1]% #1 = text to be enclosed
+{\savebox{\LangsciAvmAngleBox}{#1}% get size of box
+ \settoheight{\LangsciAvmAngleBoxHeight}{\usebox{\LangsciAvmAngleBox}}%
+ \settodepth{\LangsciAvmAngleBoxDepth}{\usebox{\LangsciAvmAngleBox}}%
+ \LangsciAvmLeftDelim{\LangsciAvmAngleBoxHeight}{\LangsciAvmAngleBoxDepth}%
+ \,\usebox{\LangsciAvmAngleBox}\,%
+ \LangsciAvmRightDelim{\LangsciAvmAngleBoxHeight}{\LangsciAvmAngleBoxDepth}}
+
+\def\avmjprolog#1{$\mskip-\thinmuskip
+ \left#1\hskip\avmjbskip\vcenter\bgroup\vskip\avmjvskip
+ \ialign\bgroup\bgroup\normalfont\avmjfont
+ \strut ##\egroup\unskip\hfil
+ &&\hskip\avmjhskip\bgroup\normalfont\avmjvalfont ##\egroup\unskip\hfil\cr}
+\def\avmjpostlog#1{\crcr\egroup\vskip\avmjvskip\egroup
+ \hskip\avmjbskip\right#1\mskip-\thinmuskip$\ignorespaces}
+
+
+\def\avmjcatcode{\let\lparen=(\let\rparen=)\catcode`\[=13\catcode`\]=13
+ \catcode`\<=13\catcode`\@=13\catcode`\(=13\catcode`\)=13
+ \catcode`\>=13\catcode`\|=13}
+
+{\avmjcatcode % new group: redefine above catcodes as active
+
+\gdef\specialavm{\avmjcatcode
+\def({\avmjprolog\lparen}%
+\def){\avmjpostlog\rparen}%
+\def<{\avmjprolog\langle}%
+\def>{\avmjpostlog\rangle}%
+\def\+{$\oplus\,$}
+\ifavmsorted
+\def[##1{\setbox\avmboxthree=\hbox{\bgroup\normalfont\avmjsortfont##1\egroup}\setbox2=\hbox
+ \bgroup\avmjprolog\lbrack}%
+\def]{\avmjpostlog\rbrack\egroup\avmjsort}%
+\else\ifavmlabeled
+\def[##1{\def\more{##1}\setbox2=\hbox\bgroup\avmjprolog[}%
+\def]{\avmjpostlog]\egroup\node{\more}{\box2}}%
+\else
+\def[{\avmjprolog\lbrack}%
+\def]{\avmjpostlog\rbrack}%
+\fi\fi
+%
+\def\<{$\langle$}\def\>{$\rangle$}%
+\def\({\lparen}
+\def\){\rparen}%
+\def\[{\lbrack}
+\def\]{\rbrack}%
+\def|{$\,\vert\,$}%
+\def@##1{\avmbox{##1}}%
+} % end defn of \specialavm
+} % restore active catcodes
+
+
+\long\def\avm{\begingroup
+\ifavmactive\specialavm
+\else
+\def\({\avmjprolog(}%
+\def\+{$\oplus\,$}
+\def\){\avmjpostlog)}%
+\def\<{\avmjprolog\langle}%
+\def\>{\avmjpostlog\rangle}%
+%
+\ifavmsorted
+\def\[##1{\setbox\avmboxthree=\hbox{\bgroup\normalfont\avmjsortfont##1\egroup}\setbox
+ 2=\hbox\bgroup\avmjprolog[}%
+\def\]{\avmjpostlog]\egroup\avmjsort}%
+\else\ifavmlabeled
+\def\[##1{\def\more{##1}\setbox2=\hbox\bgroup\avmjprolog[}%
+\def\]{\avmjpostlog]\egroup\node{\more}{\box2}}%
+\else
+\def\[{\avmjprolog[}%
+\def\]{\avmjpostlog]}%
+\fi\fi
+%
+\def\|{$\,\vert\,$}%
+\def\@##1{\avmbox{##1}}%
+\fi % end not active
+%
+\ifx\LaTeX\undefined\def\\{\cr}% running under TeX
+\else \ifx\@tabularcr\relax
+\def\\{\@arraycr}% fix for the Mainz array package
+\else
+\def\\{\@tabularcr}% Leverage off LaTeX's \\*[dimen] options
+\fi
+\fi
+\def\!{\node}%
+\long\def\avmjsort{\dimen2=\ht2\advance\dimen2 by -.25\baselineskip
+ \global\dimen\avmdimen=\wd\avmboxthree
+ \ifavmtopleft \raise\dimen2\llap{\box\avmboxthree}\box2%
+ \else\ifavmtopright \box2\raise\dimen2\box\avmboxthree
+ \else\ifavmbottomright \box2\lower\dimen2\box\avmboxthree
+ \else \lower\dimen2\llap{\box\avmboxthree}\box2%
+ \fi\fi\fi}%
+\long\def\sort##1##2{\setbox2=\hbox{##2}\setbox
+ \avmboxthree=\hbox{\bgroup\normalfont\avmjsortfont##1\egroup}\dimen2=\ht2%
+ \advance\dimen2 by -.25\baselineskip
+ \ifavmtopleft \raise\dimen2\box\avmboxthree\box2%
+ \else\ifavmtopright \box2\raise\dimen2\box\avmboxthree%
+ \else\ifavmbottomright \box2\lower\dimen2\box\avmboxthree%
+ \else \lower\dimen2\box\avmboxthree\box2%
+ \fi\fi\fi}%
+\long\def\osort##1##2{\setbox2=\hbox{##2}\setbox
+ \avmboxthree=\hbox{\bgroup\normalfont\avmjsortfont ##1\egroup}\avmjsort}%
+\def\asort##1{\avmspan{\bgroup\normalfont\avmjsortfont ##1\egroup}\\}%
+\def\avml{\avmjprolog.}%
+\def\avmr{\avmjpostlog.}%
+\def\avmb##1{\node{##1}{\lbrack\;\rbrack}}%
+\def\avmd##1{\node{##1}{---}}%
+\def\q##1{\ifx ##1\{$\lbrace$\else
+ \ifx ##1\}$\rbrace$\else
+ \ifx ##1<$\langle$\else
+ \ifx ##1>$\rangle$\fi \fi \fi \fi}%
+\def\{{\avmjprolog\lbrace}%
+\def\}{\avmjpostlog\rbrace}%
+\def\;{\hskip\avmjhskip}%
+\def\avmspan##1{\multispan2\strut ##1\expandafter\hfil}%
+\avmjfont
+\openup\avmjvskip
+\setbox\avmboxone=\hbox\bgroup\ignorespaces
+} % end defn of \avm
+
+
+\def\endavm{\egroup\ifvmode\leavevmode\fi % this if is useful!
+ \ifavmsorted\null\hskip\dimen\avmdimen\fi
+ \ifavmcenter
+ \box\avmboxone
+ \else \ifavmbottom
+ \lower.575\baselineskip\hbox{\vbox{\box\avmboxone\null}}%
+ \else
+% the next bit is ripped off from Emma's \evnup in lingmacros.sty
+ \dimen2=\ht\avmboxone\advance\dimen2 by -.725\baselineskip
+ \lower\dimen2\box\avmboxone
+\fi \fi \endgroup}
+
+
+% based on TeXbook exercise 21.3
+\def\avmbox#1{\setbox2=\hbox{$\scriptstyle #1$}\lower.2ex\vbox{\hrule
+ \hbox{\vrule\kern1.25pt
+ \vbox{\kern1.25pt\box2\kern1.25pt}\kern1.25pt\vrule}\hrule}}
diff --git a/macros/xetex/latex/langsci/langsci-basic.sty b/macros/xetex/latex/langsci/langsci-basic.sty
new file mode 100644
index 0000000000..ffd4bf87fc
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-basic.sty
@@ -0,0 +1,89 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: langsci-basic.sty
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: Date: 2019-03-31 13:12 UTC
+%% Purpose: This file contains essential macros and is included
+%% into langscibook.cls
+%% Language: LaTeX
+%% Licence:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\sectref}[1]{§\ref{#1}}
+\newcommand{\chapref}[1]{Chapter~\ref{#1}}
+\newcommand{\partref}[1]{Part~\ref{#1}}
+\newcommand{\tabref}[1]{Table~\ref{#1}}
+\newcommand{\figref}[1]{Figure~\ref{#1}}
+
+
+\ifx\lsBookLanguage\lsBookLanguageFrench
+ \newcommand{\chapref}[1]{Chapitre~\ref{#1}}
+ \newcommand{\partref}[1]{Partie~\ref{#1}}
+ \newcommand{\tabref}[1]{Tableau~\ref{#1}}
+ \newcommand{\figref}[1]{Figure~\ref{#1}}
+\fi
+
+\ifx\lsBookLanguage\lsBookLanguageGerman
+ \newcommand{\chapref}[1]{Kapitel~\ref{#1}}
+ \newcommand{\partref}[1]{Teil~\ref{#1}}
+ \newcommand{\tabref}[1]{Tabelle~\ref{#1}}
+ \newcommand{\figref}[1]{Abbildung~\ref{#1}}
+\fi
+
+\ifx\lsBookLanguage\lsBookLanguagePortuguese
+ \newcommand{\chapref}[1]{Capítulo~\ref{#1}}
+ \newcommand{\partref}[1]{Parte~\ref{#1}}
+ \newcommand{\tabref}[1]{Tabela~\ref{#1}}
+ \newcommand{\figref}[1]{Figura~\ref{#1}}
+\fi
+
+\newcommand{\lsptoprule}{\midrule\toprule}
+\newcommand{\lspbottomrule}{\bottomrule\midrule}
+
+\newcommand{\REF}[1]{(\ref{#1})}
+
+\newcommand{\isi}[1]{\is{#1}#1}
+\newcommand{\iai}[1]{\ia{#1}#1}
+\newcommand{\ili}[1]{\il{#1}#1}
+
+\newcommand{\ob}{{\upshape [}} %opening bracket
+\newcommand{\cb}{{\upshape ]}} %closing bracket
+\newcommand{\op}{{\upshape (}} %opening paren
+\newcommand{\cp}{{\upshape )}} %closing paren
+\newcommand{\db}{\hspaceThis{[}} %dummy space for [ in IMT line
+\newcommand{\rmfnm}{{\upshape\footnotemark}} %romanfootnotemark
+
+\newcommand{\citegen}[2][]{\citeauthor{#2}'s (\citeyear*[#1]{#2})}
+\newcommand{\citeapo}[2][]{\citeauthor{#2}' (\citeyear*[#1]{#2})}
+
+\newcommand{\protectedex}[1]{
+\noindent
+\parbox{\textwidth}{
+#1}
+}
+
+\newcommand{\largerpage}[1][1]{
+\enlargethispage{#1\baselineskip}
+}
+
+\newcommand\shorttitlerunninghead[1]{\rohead{\thechapter\hspace{.5em} #1}}
+
+% old font commands
+\renewcommand{\it}{\itshape}
+\renewcommand{\bf}{\bfseries}
+\renewcommand{\sc}{\scshape}
+\renewcommand{\rm}{\upshape}
+
+% vertical space to structure tables
+\newcommand{\tablevspace}{\\[-.5em]}
+
+\let\oldfootnotemark\footnotemark
+\renewcommand{\footnotemark}{\upshape\oldfootnotemark}
+
+\newcommand{\biberror}[1]{{\color{red}#1}}
+
+\newcommand{\markuptitle}[2]{
+ \title{\texorpdfstring{#1}{#2}}
+ \shorttitlerunninghead{#2}
+ \renewcommand{\lsChapterFooterSize}{\scriptsize}
+ \renewcommand{\lsCollectionPaperFooterTitle}{Add\noexpand\texttt{\textbackslash renewcommand\{\textbackslash lsCollectionPaperFooterTitle\}\{A new theory of \textbackslash noexpand\textbackslash textit\{This\} and \textbackslash noexpand\textbackslash textit\{that\}\}} to preamble}
+}
diff --git a/macros/xetex/latex/langsci/langsci-bidi.sty b/macros/xetex/latex/langsci/langsci-bidi.sty
new file mode 100644
index 0000000000..101da14808
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-bidi.sty
@@ -0,0 +1,17 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: langsci-bidi.sty
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2016-01-16 16:47:43 UTC
+%% Purpose: This file contains stuff for typesetting bidirectional texts.
+%% Language: LaTeX
+%% Licence:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% shamelessly borrowed from the bidi package
+% xetex-bidi.def
+
+\newcommand{\TeXXeTOn}{\TeXXeTstate=1 }
+\newcommand{\TeXXeTOff}{\TeXXeTstate=0 }
+\TeXXeTOn
+
+\newcommand{\RL}[1]{\beginR#1\endR}
diff --git a/macros/xetex/latex/langsci/langsci-cgloss.sty b/macros/xetex/latex/langsci/langsci-cgloss.sty
new file mode 100644
index 0000000000..325ba04506
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-cgloss.sty
@@ -0,0 +1,466 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: langsci-cgloss.sty
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2016-01-16 16:47:43 UTC
+%% Purpose: This file contains an adpated version of the cgloss
+%% package for glossing linguistic examples.
+%% Language: LaTeX
+%% Licence:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% -*- LaTeX -*-
+
+% Modified version of cgloss4e.sty. Hacked and renamed cgloss.sty
+% by Alexis Dimitriadis (alexis@babel.ling.upenn.edu)
+
+% Following borrows from Covington's style files inspired by Midnight by M.
+% de Groot, adapted to be used with gb4e.sty: examples beginning with \ex can
+% contain glosses directly. Default is
+% Linguistic Inquiry style with all lines in \rm; to change a line (eg. to
+% \it for a particular journal, change the appropriate line: e.g.,
+% \let\eachwordone=\rm in a copy of this file. Note that it will NOT work
+% to put \it before the line as the words are parsed separately.
+
+% Use \singlegloss to force single-spaced glosses even in double-space
+% environments. Works also in footnotes (^M as delimiter replaced by
+% \\)---hpk
+%
+
+% Changes by Alexis Dimitriadis
+%
+% Removed flushleft environment and initial vskip to make macros usable
+% on the same line with earlier and/or later text, e.g.,
+% \item Q: \gll ... \\
+% ... \\ \hfill (Greek)
+% \trans Q: `...'
+% Note: Text following the gloss will appear on line one of the example;
+% To get a line break, insert one manually with \\ or use \trans or \glt.
+% (\gln does not end the line, since it was already the
+% case in cgloss4e that a translation must be ended with a line break).
+%
+% Modified \glt to keep translation on the same page as the text.
+
+% BUGS: does not work very gracefully with double spacing (struts are not
+% automatically inserted after the \vboxes used by the macros).
+% In double space mode without \nosinglegloss, when a translation
+% is not given, the next line of text is single-spaced from the glossed text.
+% With \nosinglegloss, the translation is set too close to the bottom line.
+
+
+%%%
+%%% Sentences with word-by-word glosses
+%%%
+
+% See covingtn.tex for full documentation. Some examples:
+%
+% Displayed sentence with gloss and translation:
+%
+% \gll Dit is een Nederlands voorbeeld.\\
+% This is a Dutch example.\\
+% \glt `This is an example in Dutch.'
+%
+% Same, using bracketing where words do not correspond one-to-one:
+%
+% \gll Dit is een voorbeeldje in het Nederlands.\\
+% This is a {little example} in {} Dutch.\\
+% \glt `This is a little example in Dutch.'
+%
+% If you want to align 3 lines rather than two, use \glll instead of \gll.
+%
+% Layout is critical between \gll (or \glll) and \glt (or \gln).
+%
+% Thanks to Marcel R. van der Goot for permission to reproduce code.
+\let\@gsingle=1
+\def\singlegloss{\let\@gsingle=1}
+\def\nosinglegloss{\let\@gsingle=0}
+\@ifundefined{new@fontshape}%
+ {\def\@selfnt{\ifx\@currsize\normalsize\@normalsize\else\@currsize\fi}}
+ {\def\@selfnt{\selectfont}}
+
+\def\gll% % Introduces 2-line text-and-gloss.
+ {\raggedright%
+ \bgroup %\begin{flushleft}
+ \ifx\@gsingle1% conditionally force single spacing (hpk/MC)
+ \def\baselinestretch{1}\@selfnt\fi
+% \vskip\baselineskip\def\baselinestretch{1}%
+% \@selfnt\vskip-\baselineskip\fi%
+ \bgroup
+ \twosent
+}
+
+\def\glll% % Introduces 3-line text-and-gloss.
+ {\bgroup %\begin{flushleft}
+ \ifx\@gsingle1% conditionally force single spacing (hpk/MC)
+ \def\baselinestretch{1}\@selfnt\fi
+% \vskip\baselineskip\def\baselinestretch{1}%
+% \@selfnt\vskip-\baselineskip\fi%
+ \bgroup
+ \threesent
+}
+
+
+\def\gllll% % Introduces 4-line text-and-gloss.
+ {\bgroup %\begin{flushleft}
+ \ifx\@gsingle1% conditionally force single spacing (hpk/MC)
+ \def\baselinestretch{1}\@selfnt\fi
+% \vskip\baselineskip\def\baselinestretch{1}%
+% \@selfnt\vskip-\baselineskip\fi%
+ \bgroup
+ \foursent
+}
+
+
+\def\glllll% % Introduces 5-line text-and-gloss.
+ {\bgroup %\begin{flushleft}
+ \ifx\@gsingle1% conditionally force single spacing (hpk/MC)
+ \def\baselinestretch{1}\@selfnt\fi
+% \vskip\baselineskip\def\baselinestretch{1}%
+% \@selfnt\vskip-\baselineskip\fi%
+ \bgroup
+ \fivesent
+}
+
+
+\def\gllllll% % Introduces 6-line text-and-gloss.
+ {\bgroup %\begin{flushleft}
+ \ifx\@gsingle1% conditionally force single spacing (hpk/MC)
+ \def\baselinestretch{1}\@selfnt\fi
+% \vskip\baselineskip\def\baselinestretch{1}%
+% \@selfnt\vskip-\baselineskip\fi%
+ \bgroup
+ \sixsent
+}
+
+
+\def\glllllll% % Introduces 7-line text-and-gloss.
+ {\bgroup %\begin{flushleft}
+ \ifx\@gsingle1% conditionally force single spacing (hpk/MC)
+ \def\baselinestretch{1}\@selfnt\fi
+% \vskip\baselineskip\def\baselinestretch{1}%
+% \@selfnt\vskip-\baselineskip\fi%
+ \bgroup
+ \sevensent
+}
+
+
+\def\gllllllll% % Introduces 8-line text-and-gloss.
+ {\bgroup %\begin{flushleft}
+ \ifx\@gsingle1% conditionally force single spacing (hpk/MC)
+ \def\baselinestretch{1}\@selfnt\fi
+% \vskip\baselineskip\def\baselinestretch{1}%
+% \@selfnt\vskip-\baselineskip\fi%
+ \bgroup
+ \eightsent
+}
+
+% \def\glt{\vskip.0\baselineskip}
+
+% redefine \gltoffset to set off translation from ex and gloss
+\@ifundefined{gltoffset}{\def\gltoffset{0pt}}{}
+
+\def\glt{\ifhmode\\*[\gltoffset]\else\nobreak\vskip\gltoffset\nobreak\fi}
+
+
+% Introduces a translation
+\let\trans\glt
+
+\def\gln{\relax}
+\def\glend{} % obsolete
+ % Ends the gloss environment.
+
+% The following TeX code is adapted, with permission, from:
+% gloss.tex: Macros for vertically aligning words in consecutive sentences.
+% Version: 1.0 release: 26 November 1990
+% Copyright (c) 1991 Marcel R. van der Goot (marcel@cs.caltech.edu).
+% Original Midnight/gloss.tex and Midnight/gloss.doc are available from
+% csvax.cs.caltech.edu [131.215.131.131] in pub/tex
+% and many other anonymous ftp archives.
+
+\newbox\lineone % boxes with words from first line
+\newbox\linetwo
+\newbox\linethree
+\newbox\linefour
+\newbox\linefive
+\newbox\linesix
+\newbox\lineseven
+\newbox\lineeight
+\newbox\wordone % a word from the first line (hbox)
+\newbox\wordtwo
+\newbox\wordthree
+\newbox\wordfour
+\newbox\wordfive
+\newbox\wordsix
+\newbox\wordseven
+\newbox\wordeight
+\newbox\gline % the constructed double line (hbox)
+\newskip\glossglue % extra glue between glossed pairs or tuples
+\glossglue = 0pt plus 2pt minus 1pt % allow stretch/shrink between words
+%\glossglue = 5pt plus 2pt minus 1pt % allow stretch/shrink between words
+\newif\ifnotdone
+
+\@ifundefined{eachwordone}{\let\eachwordone=\upshape}{\relax}
+\@ifundefined{eachwordtwo}{\let\eachwordtwo=\upshape}{\relax}
+\@ifundefined{eachwordthree}{\let\eachwordthree=\upshape}{\relax}
+\@ifundefined{eachwordfour}{\let\eachwordfour=\upshape}{\relax}
+\@ifundefined{eachwordfive}{\let\eachwordfive=\upshape}{\relax}
+\@ifundefined{eachwordsix}{\let\eachwordsix=\upshape}{\relax}
+\@ifundefined{eachwordseven}{\let\eachwordseven=\upshape}{\relax}
+\@ifundefined{eachwordeight}{\let\eachwordeight=\upshape}{\relax}
+
+\def\lastword#1#2#3% #1 = \each, #2 = line box, #3 = word box
+ {\setbox#2=\vbox{\unvbox#2%
+ \global\setbox#3=\lastbox
+ }%
+ \ifvoid#3\global\setbox#3=\hbox{#1\strut{} }\fi
+ % extra space following \strut in case #1 needs a space
+ }
+
+\def\testdone
+ {\ifdim\ht\lineone=0pt
+ \ifdim\ht\linetwo=0pt \notdonefalse % tricky space after pt
+ \else\notdonetrue
+ \fi
+ \else\notdonetrue
+ \fi
+ }
+
+\gdef\getwords(#1,#2)#3 #4\\% #1=linebox, #2=\each, #3=1st word, #4=remainder
+ {\setbox#1=\vbox{\hbox{#2\strut#3{} }% adds space, the {} is needed for CJK otherwise the space
+ % would be ignored
+ \unvbox#1%
+ }%
+ \def\more{#4}%
+ \ifx\more\empty\let\more=\donewords
+ \else\let\more=\getwords
+ \fi
+ \more(#1,#2)#4\\%
+ }
+
+\gdef\donewords(#1,#2)\\{}%
+
+\gdef\twosent#1\\ #2\\{% #1 = first line, #2 = second line
+ \getwords(\lineone,\eachwordone)#1 \\%
+ \getwords(\linetwo,\eachwordtwo)#2 \\%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ \gl@stop}
+
+\gdef\threesent#1\\ #2\\ #3\\{% #1 = first line, #2 = second line, #3 = third
+ \getwords(\lineone,\eachwordone)#1 \\%
+ \getwords(\linetwo,\eachwordtwo)#2 \\%
+ \getwords(\linethree,\eachwordthree)#3 \\%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \lastword{\eachwordthree}{\linethree}{\wordthree}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ \nointerlineskip
+ \box\wordthree
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ \gl@stop}
+
+
+
+\gdef\foursent#1\\ #2\\ #3\\ #4\\{% #1 = first line, #2 = second line, #3 = third
+ \getwords(\lineone,\eachwordone)#1 \\%
+ \getwords(\linetwo,\eachwordtwo)#2 \\%
+ \getwords(\linethree,\eachwordthree)#3 \\%
+ \getwords(\linefour,\eachwordfour)#4 \\%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \lastword{\eachwordthree}{\linethree}{\wordthree}%
+ \lastword{\eachwordfour}{\linefour}{\wordfour}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ \nointerlineskip
+ \box\wordthree
+ \nointerlineskip
+ \box\wordfour
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ \gl@stop}
+
+
+
+\gdef\fivesent#1\\ #2\\ #3\\ #4\\ #5\\{% #1 = first line, #2 = second line, #3 = third
+ \getwords(\lineone,\eachwordone)#1 \\%
+ \getwords(\linetwo,\eachwordtwo)#2 \\%
+ \getwords(\linethree,\eachwordthree)#3 \\%
+ \getwords(\linefour,\eachwordfour)#4 \\%
+ \getwords(\linefive,\eachwordfive)#5 \\%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \lastword{\eachwordthree}{\linethree}{\wordthree}%
+ \lastword{\eachwordfour}{\linefour}{\wordfour}%
+ \lastword{\eachwordfive}{\linefive}{\wordfive}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ \nointerlineskip
+ \box\wordthree
+ \nointerlineskip
+ \box\wordfour
+ \nointerlineskip
+ \box\wordfive
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ \gl@stop}
+
+
+
+\gdef\sixsent#1\\ #2\\ #3\\ #4\\ #5\\ #6\\{% #1 = first line, #2 = second line, #3 = third
+ \getwords(\lineone,\eachwordone)#1 \\%
+ \getwords(\linetwo,\eachwordtwo)#2 \\%
+ \getwords(\linethree,\eachwordthree)#3 \\%
+ \getwords(\linefour,\eachwordfour)#4 \\%
+ \getwords(\linefive,\eachwordfive)#5 \\%
+ \getwords(\linesix,\eachwordsix)#6 \\%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \lastword{\eachwordthree}{\linethree}{\wordthree}%
+ \lastword{\eachwordfour}{\linefour}{\wordfour}%
+ \lastword{\eachwordfive}{\linefive}{\wordfive}%
+ \lastword{\eachwordsix}{\linesix}{\wordsix}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ \nointerlineskip
+ \box\wordthree
+ \nointerlineskip
+ \box\wordfour
+ \nointerlineskip
+ \box\wordfive
+ \nointerlineskip
+ \box\wordsix
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ \gl@stop}
+
+
+
+\gdef\sevensent#1\\ #2\\ #3\\ #4\\ #5\\ #6\\ #7\\{% #1 = first line, #2 = second line, #3 = third
+ \getwords(\lineone,\eachwordone)#1 \\%
+ \getwords(\linetwo,\eachwordtwo)#2 \\%
+ \getwords(\linethree,\eachwordthree)#3 \\%
+ \getwords(\linefour,\eachwordfour)#4 \\%
+ \getwords(\linefive,\eachwordfive)#5 \\%
+ \getwords(\linesix,\eachwordsix)#6 \\%
+ \getwords(\lineseven,\eachwordseven)#7 \\%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \lastword{\eachwordthree}{\linethree}{\wordthree}%
+ \lastword{\eachwordfour}{\linefour}{\wordfour}%
+ \lastword{\eachwordfive}{\linefive}{\wordfive}%
+ \lastword{\eachwordsix}{\linesix}{\wordsix}%
+ \lastword{\eachwordseven}{\lineseven}{\wordseven}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ \nointerlineskip
+ \box\wordthree
+ \nointerlineskip
+ \box\wordfour
+ \nointerlineskip
+ \box\wordfive
+ \nointerlineskip
+ \box\wordsix
+ \nointerlineskip
+ \box\wordseven
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ \gl@stop}
+
+
+
+\gdef\eightsent#1\\ #2\\ #3\\ #4\\ #5\\ #6\\ #7\\ #8\\{% #1 = first line, #2 = second line, #3 = third
+ \getwords(\lineone,\eachwordone)#1 \\%
+ \getwords(\linetwo,\eachwordtwo)#2 \\%
+ \getwords(\linethree,\eachwordthree)#3 \\%
+ \getwords(\linefour,\eachwordfour)#4 \\%
+ \getwords(\linefive,\eachwordfive)#5 \\%
+ \getwords(\linesix,\eachwordsix)#6 \\%
+ \getwords(\lineseven,\eachwordseven)#7 \\%
+ \getwords(\lineeight,\eachwordeight)#8 \\%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \lastword{\eachwordthree}{\linethree}{\wordthree}%
+ \lastword{\eachwordfour}{\linefour}{\wordfour}%
+ \lastword{\eachwordfive}{\linefive}{\wordfive}%
+ \lastword{\eachwordsix}{\linesix}{\wordsix}%
+ \lastword{\eachwordseven}{\lineseven}{\wordseven}%
+ \lastword{\eachwordeight}{\lineeight}{\wordeight}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ \nointerlineskip
+ \box\wordthree
+ \nointerlineskip
+ \box\wordfour
+ \nointerlineskip
+ \box\wordfive
+ \nointerlineskip
+ \box\wordsix
+ \nointerlineskip
+ \box\wordseven
+ \nointerlineskip
+ \box\wordeight
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ \gl@stop}
+
+%\def\gl@stop{{\hskip -\glossglue}\unhbox\gline\end{flushleft}}
+
+% \leavevmode puts us back in horizontal mode, so that a \\ will work
+\def\gl@stop{{\hskip -\glossglue}\unhbox\gline\leavevmode \egroup}
+
+\endinput
diff --git a/macros/xetex/latex/langsci/langsci-colors.def b/macros/xetex/latex/langsci/langsci-colors.def
new file mode 100644
index 0000000000..c043a57229
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-colors.def
@@ -0,0 +1 @@
+% moved to langscibook.cls \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/langsci-forest-setup.sty b/macros/xetex/latex/langsci/langsci-forest-setup.sty
new file mode 100644
index 0000000000..49e0a854ca
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-forest-setup.sty
@@ -0,0 +1,240 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: langsci-forest-setup.sty
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2016-01-16 16:47:43 UTC
+%% Purpose: This file contains optional styles and settings for the
+%% forest package. This version is for 2.0.
+%% Language: LaTeX
+%% Licence:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% texlive 2015 is broken (in comparison to texlive 2013)
+% a workaround is to use a different pgf driver.
+% See email from Akira Kakuto to Stefan Müller 15.01.2016
+
+% Do we need this for 2017?
+% We seem to be better off without it 31.10.2017
+%deceive the driver
+%\def\pdftexversion{140}
+%use the old driver for dvipdfm
+%\def\pgfsysdriver{pgfsys-dvipdfm.def}
+
+% http://en.wikibooks.org/wiki/LaTeX/Linguistics#Syntactic_trees
+\usepackage{tikz-dependency}
+
+\usetikzlibrary{tikzmark} % saves positions in tikz pictures, allows to connect arbitrary text
+
+
+% http://tex.stackexchange.com/questions/256280/drawing-complex-dependency-diagrams-with-tikz-forest
+\usetikzlibrary{arrows.meta}
+
+\tikzset{deparrow/.style={-Latex}}%,blue}}
+
+
+% does not work with forest v1.05 did not check later versions
+\usepackage[external,linguistics]{forest}
+\tikzset{external/up to date check=simple}
+% for texlive: -shell-escape, for miktex -enable-write18
+% All externalized graphics go go the \externaldirectory
+%\tikzexternalize[prefix=external-figures/,shell escape=-shell-escape]
+\tikzset{external/system call={xelatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"}}
+%\usepackage{morewrites}
+
+
+
+
+% specification for all trees, "default preamble" appends to existing specification.
+% The version with apostrophe replaces it.
+\forestset{default preamble'={
+ for tree={align=center,parent anchor=south, child anchor=north,anchor=north,base=bottom},
+ before drawing tree={
+ sort by=y,
+ for min={tree}{baseline}
+ }
+ }}
+
+
+\forestset{
+ declare dimen={child anchor yshift}{0pt},
+ adjust childrens child anchors/.style={
+ if n children>=2{
+ before packing={
+ tempdima/.max={max_y}{children},
+ for children={
+ child anchor yshift=tempdima()-max_y()
+ },
+ }
+ }{}
+ },
+ default preamble={
+ for tree={
+ edge path'={(!u.parent anchor)--([yshift=\forestoption{child anchor yshift}].child anchor)},
+ adjust childrens child anchors
+ }
+ },
+}
+
+
+
+% http://www.texample.net/tikz/examples/borrowers-and-lenders/
+\usetikzlibrary{arrows} %,positioning}
+\tikzset{
+ %Define standard arrow tip
+ >=stealth'}
+
+
+
+%% \forestset{
+%% sn edges/.style={for tree={parent anchor=south, child anchor=north,align=center,base=bottom,where n children=0{tier=word}{}}},
+%% background tree/.style={for tree={text opacity=0.2,draw opacity=0.2,edge={draw opacity=0.2}}}
+%% }
+
+
+
+% The following code fixes the size of triangles for examples with translations. The specification
+% ",delay=with translation" at the leaves is important to make this work.
+% http://tex.stackexchange.com/questions/167978/smaller-roofs-for-forest/205311#205311
+\forestset{
+ with translation/.style={
+ l sep=0,inner xsep=0,
+ append translation/.expanded/.wrap pgfmath arg={\gettranslation{##1}}{content},
+ content/.expanded/.wrap pgfmath arg={\gettext{##1}}{content},
+ },
+ append translation/.style={
+ if={strequal("#1","")}{}{
+ append={[#1,no edge,inner xsep=0,inner ysep=0,outer ysep=0,
+ tier=gloss,
+ l=\baselineskip + 0.2ex,
+ ]}
+ }
+ }
+}
+
+\def\gettext#1{\gettextA#1;;\endget}
+\def\gettextA#1;#2;{\removesep#1;}
+\def\gettranslation#1{\gettranslationA#1;;\endget}
+\def\gettranslationA#1;#2;{\removesep#2;}
+\def\removesep#1;#2\endget{#1}
+
+
+% a specific style that specifies the word tier: all nodes that do not have any children
+% to do: make this style default and change all other figures explicitely as is described here:
+% http://tex.stackexchange.com/questions/167983/getting-rid-of-a-default-where-specification
+\forestset{
+sm edges/.style={for tree={parent anchor=south, child anchor=north,base=top}, % changed base=bottom
+ % to top since we have NP and AVM nodes and the NP has to start
+ % right away at the same hight as the AVM St. Mü. 18.10.2017
+ where n children=0{tier=word,delay=with translation}{} %,delay=with translation
+ },
+sm edges without translation/.style={for tree={parent anchor=south, child anchor=north,base=bottom},
+ where n children=0{tier=word}{}
+ },
+word tier/.style={where n children=0{tier=word}{}
+ },
+%
+% dependency grammar trees, projective trees only, I guess. St. Mü. 29.09.2014
+dg edges/.style={for tree={parent anchor=south, child anchor=north,align=center,base=bottom},
+ where n children=0{tier=word,edge=dotted,calign with current edge,delay=with translation}{}
+ },
+%
+% Adjunct edges as suggested by Engels, 1977
+% http://tex.stackexchange.com/questions/204770/defining-a-special-edge-style-for-connecting-nodes-in-forest/204819#204819
+dg adjunct/.style={edge path={\noexpand\path[\forestoption{edge}]
+(!u.parent anchor)--(.child anchor)-- +(0,#1)\forestoption{edge label};}},
+%
+dg adjunct/.default=6pt,
+%
+% for Tesniere-style translations
+dg transfer/.style={edge path={\noexpand\path[\forestoption{edge}, rounded corners=3pt]
+ % the line downwards
+ (!u.parent anchor)-- +($(0,-l)-(0,4pt)$)-- +($(12pt,-l)-(0,4pt)$)
+ % the horizontal line
+ ($(!p.north west)+(0,l)-(0,20pt)$)--($(.north east)+(0,l)-(0,20pt)$)\forestoption{edge label};},!p.edge'={}},
+% for Tesniere-style junctions
+dg junction/.style={no edge, tikz+={\draw (!p.east)--(!.west) (.east)--(!n.west);} },
+%
+%
+%
+% http://tex.stackexchange.com/questions/256280/drawing-complex-dependency-diagrams-with-tikz-forest/256300#256300
+% in the tree draw the highest nodes of the inheritance network. For lower nodes insert empty nodes
+% "[]". These will be filled by the same word and the numbers will be provided with bars according
+% to remoteness from the word level.
+%
+% So cool! Thanks Sašo Živanović
+%
+ wg/.style={
+ for tree={
+ no edge,
+ draw,
+ outer ysep=1pt,
+ },
+ copy label/.style={
+ for children={
+ if content={}{
+ content/.pgfmath={content("!u")},
+ calign with current,
+ edge={draw,{-Triangle[open,reversed]}},
+ copy label,
+ !u.content/.pgfmath={content},
+ !u.content+=',
+ }{
+ copy label,
+ }
+ }
+ },
+ delay={
+ copy label,
+ for tree={name/.pgfmath={content}},
+ },
+ for tree={content format={\strut\forestoption{content}}},
+ where n children={0}{
+ tier=word,
+ }{},
+ },
+%
+%
+% TAG
+% http://tex.stackexchange.com/questions/207459/getting-old-school-trees-with-forest
+% fit -> fit=band causes all nodes to have nothing below them
+tag/.style={for tree={parent anchor=south, child anchor=north,align=center,base=top,fit=rectangle},
+ where n children=0{delay=with translation}{},
+% the following breaks the alignments in sets
+ begin draw/.code={\begin{tikzpicture}[baseline=(current bounding box.center)]}
+},
+%
+% like the tag style, but without fit rectangle
+no word baseline/.style={for tree={parent anchor=south, child anchor=north,align=center,base=top},
+ where n children=0{delay=with translation}{}},
+%
+% a style that creates an arrow pointing to the substitution node from a tree top node encoded as daughter
+substitution/.style={edge={<-,dashed},l+=\baselineskip},
+%
+%
+%
+typehierarchy/.style={for tree={parent anchor=south, child
+ anchor=north,align=center,base=top,font=\itshape,fit=rectangle}},
+% if there are instances as leaves in the hiarchy
+instance/.style={edge=dotted},
+%
+% auxiliary nodes without node label
+%empty nodes/.style={
+% delay={where content={}{shape=coordinate,for parent={for children={anchor=north}}}{}}}
+}
+
+
+
+% Manual page 52
+%% \forestset{
+%% nice empty nodes/.style={
+%% for tree={calign=fixed edge angles},
+%% delay={where content={}{shape=coordinate,for parent={for children={anchor=north}}}{}}
+%% }}
+
+
+% forest 2.0
+\forestset{
+ empty nodes/.style={
+ delay={where content={}{shape=coordinate,for siblings={anchor=north}}{}}
+ }
+}
diff --git a/macros/xetex/latex/langsci/langsci-gb4e.sty b/macros/xetex/latex/langsci/langsci-gb4e.sty
new file mode 100644
index 0000000000..23d718f9f9
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-gb4e.sty
@@ -0,0 +1,497 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: langsci-gb4e.sty
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2016-01-16 16:47:43 UTC
+%% Purpose: This file contains an adapted version of the gb4e package
+%% for typetting linguistic examples.
+%% Language: LaTeX
+%% Licence:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ProvidesPackage{langsci-gb4e}[2000/09/05]
+\def\gbVersion{4e}
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+% Format of examples: %
+%%%%%%%%%%%%%%%%%%%%%%%%
+% \begin{exe} or \exbegin
+% <examples> (arab.)
+% \begin{xlist} or \xlist
+% <subexamples> (1st embedding, alph.)
+% \begin{xlisti} or \xlisti
+% <subsubexamples> (2st embedding, rom.)
+% \end{xlisti} or \endxlisti
+% <more examples>
+% \end{xlist} or \endxlist
+% <still more examples>
+% \end{exe} or \exend
+%
+% Other sublist-styles: xlistA (Alph.), xlistI (Rom.), xlistn (arab)
+%
+% \ex (produces Number)
+% \ex <sentence> (numbered example)
+% \ex[jdgmt]{sentence} (numbered example with judgement)
+%
+% \exi{ident} (produces identifier)
+% \exi{ident} <sentence> (example numbered with identifier)
+% \exi{ident}[jdgmt]{sentence} (dito with judgement)
+% (\exr, \exp and \sn are defined in terms of \exi)
+%
+% \exr{label} (produces cross-referenced Num.)
+% \exr{label} <sentence> (cross-referenced example)
+% \exr{label}[jdgmt]{sentence} (cross-referenced example with judgement)
+%
+% \exp{label} (same as
+% \exp{label} <sentence> \exr but
+% \exp{label}[jdgmt]{sentence} with prime)
+%
+% \sn <sentence> (unnumbered example)
+% \sn[jdgmt]{sentence} (unnumbered example with judgement)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% For my own lazyness (HANDLE WITH CARE---this works only
+% in boringly normal cases.... ):
+%
+% \ea works like \begin{exe}\ex or \begin{xlist}\ex,
+% depending on context
+% \z works like \end{exe} or \end{xlist}, dep on context
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% auxiliary files
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{langsci-cgloss}
+% \input{jambox.sty}
+
+
+\@ifundefined{new@fontshape}{\def\reset@font{}\let\mathrm\rm\let\mathit\mit}{}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Font Specifications (Detmar)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Define commands for fonts to be used:
+%
+% 1) regular
+% a. example line
+\newcommand{\exfont}{\normalsize\upshape}
+% b. glossing line
+\newcommand{\glossfont}{\normalsize\upshape}
+% c. translation font
+\newcommand{\transfont}{\normalsize\upshape} % 08.01.2014 changed small to normalsize (Martin Haspelmath)
+% d. example number
+\newcommand{\exnrfont}{\exfont\upshape}
+%
+% 2) in footnote
+% a. example line
+\newcommand{\fnexfont}{\footnotesize\upshape}
+% b. glossing line
+\newcommand{\fnglossfont}{\footnotesize\upshape}
+% c. translation font
+\newcommand{\fntransfont}{\footnotesize\upshape}
+% d. example number
+\newcommand{\fnexnrfont}{\fnexfont\upshape}
+
+% new user command for specifying translations:
+%\newcommand{\mytrans}[1]{{\trans`#1'}\vskip.6\baselineskip}
+
+
+
+\renewcommand{\eachwordone}{\exfont}
+\renewcommand{\eachwordtwo}{\glossfont}
+\renewcommand{\eachwordthree}{\glossfont} % same font for both gloss lines
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Macros for examples, roughly following Linguistic Inquiry style. %%
+%% From here on best not to tamper, else all the examples and cross- %%
+%% references will come out scrambled! (see also note below) - CT %%
+%% Completely rewritten for more robustness and flexibility. (hpk) %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\qlist{\begin{list}{\Alph{xnum}.}{\usecounter{xnum}%
+\setlength{\rightmargin}{\leftmargin}}}
+\def\endqlist{\end{list}}
+
+\newif\if@noftnote\@noftnotetrue
+\newif\if@xrec\@xrecfalse
+\@definecounter{fnx}
+
+
+
+% set a flag that we are in footnotes now and change the size of example fonts
+\let\oldFootnotetext\@footnotetext
+
+\renewcommand\@footnotetext[1]{%
+ \@noftnotefalse\setcounter{fnx}{0}%
+\begingroup%
+\let\exfont\fnexfont%
+\let\glossfont\fnglossfont%
+\let\transfont\fntransfont%
+\let\exnrfont\fnexnrfont%
+ \oldFootnotetext{#1}%
+\endgroup%
+\@noftnotetrue}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% counters %
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\newcount\@xnumdepth \@xnumdepth = 0
+
+\@definecounter{xnumi}
+\@definecounter{xnumii}
+\@definecounter{xnumiii}
+\@definecounter{xnumiv}
+%\@definecounter{equation}
+%\setcounter{equation}{0}
+
+% book
+%\renewcommand\theequation
+% {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
+%\def\thexnumi{\@xsi{xnumi}}
+\def\thexnumi
+{\if@noftnote%
+\@arabic\@xsi{xnumi}%
+\else%
+\@roman\@xsi{xnumi}%
+\fi%
+}
+\def\thexnumii{\@xsii{xnumii}}
+\def\thexnumiii{\@xsiii{xnumiii}}
+\def\thexnumiv{\@xsiv{xnumiv}}
+\def\p@xnumii{\thexnumi%
+\if@noftnote%
+\else%
+.%
+\fi}
+\def\p@xnumiii{\thexnumi\thexnumii-}
+\def\p@xnumiv{\thexnumi\thexnumii-\thexnumiii-}
+
+\def\xs@default#1{\csname @@xs#1\endcsname}
+\def\@@xsi{\let\@xsi\arabic}
+\def\@@xsii{\let\@xsii\alph}
+\def\@@xsiii{\let\@xsiii\roman}
+\def\@@xsiv{\let\@xsi\arabic}
+
+\@definecounter{rxnumi}
+\@definecounter{rxnumii}
+\@definecounter{rxnumiii}
+\@definecounter{rxnumiv}
+
+\def\save@counters{%
+\setcounter{rxnumi}{\value{xnumi}}%
+\setcounter{rxnumii}{\value{xnumii}}%
+\setcounter{rxnumiii}{\value{xnumiii}}%
+\setcounter{rxnumiv}{\value{xnumiv}}}%
+
+
+\def\reset@counters{%
+\setcounter{xnumi}{\value{rxnumi}}%
+\setcounter{xnumii}{\value{rxnumii}}%
+\setcounter{xnumiii}{\value{rxnumiii}}%
+\setcounter{xnumiv}{\value{rxnumiv}}}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% widths %
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\exewidth#1{\def\@exwidth{#1}}
+%\exewidth{(234)}
+\exewidth{(34)}
+
+%% St. M�. 02.05.2004
+\def\gblabelsep#1{\def\@gblabelsep{#1}}
+\gblabelsep{1em}
+
+
+
+%% St. M�. 02.05.2004
+\def\subexsep#1{\def\@subexsep{#1}}
+\subexsep{1.5ex}
+
+% set initial sizes of example number and judgement sizes
+\exewidth{\exnrfont (35)}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% example lists %
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\exe{%
+ %\ifnum\value{equation}>9 \exewidth{(23)}\else\fi% inserted by LSP, for large example numbers
+ \ifnum\value{equation}>98 \exewidth{(235)}\else\fi% inserted by LSP, for large example numbers
+ \@ifnextchar [{\@exe}{\@exe[\@exwidth]}}
+\def\@exe[#1]{\ifnum \@xnumdepth >0%
+ \if@xrec\@exrecwarn\fi%
+ \if@noftnote\@exrecwarn\fi%
+ \@xnumdepth0\@listdepth0\@xrectrue%
+ \save@counters%
+ \fi%
+ \advance\@xnumdepth \@ne \@@xsi%
+ \if@noftnote%
+ \begin{list}{(\thexnumi)}%
+ {\usecounter{xnumi}\@subex{#1}{\@gblabelsep}{0em}%
+ \setcounter{xnumi}{\value{equation}}}%
+ \else%
+ \begin{list}{(\roman{xnumi})}%
+ % 1em is the indentation of footnotes in koma-script
+ % if this does not work for everybody, use parameters ...
+ {\usecounter{xnumi}\@subex{(iiv)}{\@gblabelsep}{1.5em}%
+ \setcounter{xnumi}{\value{fnx}}}%
+ \fi}
+
+% \begin{list}{(\thexnumi)}%
+% {\usecounter{xnumi}\@subex{#1}{1em}%
+% \if@noftnote%
+% \setcounter{xnumi}{\value{equation}}%
+% \else%
+% \setcounter{xnumi}{\value{fnx}}%
+% \fi}}
+
+\def\endexe{\if@noftnote\setcounter{equation}{\value{xnumi}}%
+ \else\setcounter{fnx}{\value{xnumi}}%
+ \reset@counters\@xrecfalse\fi\end{list}}
+
+\def\@exrecwarn{\typeout{*** Recursion on "exe"---your
+ example numbering will probably be screwed up!}}
+
+\def\xlist{\@ifnextchar [{\@xlist{}}{\@xlist{}[iv.]}}
+\def\xlista{\@ifnextchar [{\@xlist{\alph}}{\@xlist{\alph}[m.]}}
+\def\xlistabr{\@ifnextchar [{\@xlist{(\alph)}}{\@xlist{(\alph)}[m.]}}
+\def\xlisti{\@ifnextchar [{\@xlist{\roman}}{\@xlist{\roman}[iv.]}}
+\def\xlistn{\@ifnextchar [{\@xlist{\arabic}}{\@xlist{\arabic}[9.]}}
+\def\xlistA{\@ifnextchar [{\@xlist{\Alph}}{\@xlist{\Alph}[M.]}}
+\def\xlistI{\@ifnextchar [{\@xlist{\Roman}}{\@xlist{\Roman}[IV.]}}
+
+\def\endxlist{\end{list}}
+\def\endxlista{\end{list}}
+\def\endxlistabr{\end{list}}
+\def\endxlistn{\end{list}}
+\def\endxlistA{\end{list}}
+\def\endxlistI{\end{list}}
+\def\endxlisti{\end{list}}
+
+
+
+
+%%% a generic sublist-styler
+\def\@xlist#1[#2]{\ifnum \@xnumdepth >3 \@toodeep\else%
+ \advance\@xnumdepth \@ne%
+ \edef\@xnumctr{xnum\romannumeral\the\@xnumdepth}%
+ \def\@bla{#1}
+ \ifx\@bla\empty\xs@default{\romannumeral\the\@xnumdepth}\else%
+ \expandafter\let\csname @xs\romannumeral\the\@xnumdepth\endcsname#1\fi
+ \begin{list}{\csname the\@xnumctr\endcsname.}%
+ {\usecounter{\@xnumctr}\@subex{#2}{\@subexsep}{0em}}\fi}
+
+%% Added third argument to be able to add some more space to leftmargin
+%% for footnotes that have bigger indentation.
+%% St. M�. 07.01.2007
+\def\@subex#1#2#3{\settowidth{\labelwidth}{#1}\itemindent\z@\labelsep#2%
+ \ifnum\the\@xnumdepth=1%
+ \topsep 7\p@ plus2\p@ minus3\p@\itemsep3\p@ plus2\p@\else%
+ \topsep1.5\p@ plus\p@\itemsep1.5\p@ plus\p@\fi%
+ \parsep\p@ plus.5\p@ minus.5\p@%
+ \leftmargin\labelwidth\advance\leftmargin#2\advance\leftmargin#3\relax}
+
+%%% the example-items
+\def\ex{\@ifnextchar [{\@ex}{\item}}
+\def\@ex[#1]#2{\item\@exj[#1]{#2}}
+\def\@exj[#1]#2{\@exjbg{#1} #2 \end{list}}
+% without understanding anything:
+\def\exs#1{\item\begin{samepage}#1\end{samepage}}
+%-- end
+\def\exi#1{\item[#1]\@ifnextchar [{\@exj}{}}
+\def\judgewidth#1{\def\@jwidth{#1}}
+\judgewidth{??}
+\judgewidth{*} % if wider judgements are needed, enlarge within papers
+\def\@exjbg#1{\begin{list}{#1}{\@subex{\@jwidth}{.5ex}{0em}}\item}
+\def\exr#1{\exi{{(\ref{#1})}}}
+\def\exp#1{\exi{{(\ref{#1}$'$)}}}
+\def\sn{\exi{}}
+\def\bu{\item[$\bullet$]}
+
+%%% Lazy abbrevs (HANDLE WITH CARE!)
+%\def\ea{\ifnum\@xnumdepth=0\begin{exe}[(34)]\else\begin{xlist}[iv.]\fi\raggedright\ex} steht unten noch mal
+%\def\ea{\ifnum\@xnumdepth=0\begin{exe}[(\theequation)]\else\begin{xlist}[iv.]\fi\raggedright\ex}
+\def\easragged{\ifnum\@xnumdepth=0\begin{exe}[(34)]\else\begin{xlist}[iv.]\fi\raggedright\ex\begin{tabular}[t]{@{}b{\linewidth}@{}}}
+\def\eas{\ifnum\@xnumdepth=0\begin{exe}[(34)]\else\begin{xlist}[iv.]\fi\ex\begin{tabular}[t]{@{}b{\linewidth}@{}}}
+\def\eaa{\ifnum\@xnumdepth=0\begin{exe}[(\theequation)]\else\begin{xlist}[iv.]\fi\raggedright\ex}
+
+
+\def\ex{\@ifnextchar [{\exnrfont\@ex}{\exnrfont\item\exfont}}
+\def\@ex[#1]#2{\item\@exj[#1]{\exfont#2}}
+
+\def\@exjbg#1{\begin{list}{{\exnrfont#1}}{\@subex{\@jwidth}{.5ex}{0em}}\item}
+\def\exi#1{\item[{\exnrfont#1}]\@ifnextchar [{\exnrfont\@exj}{}}
+
+\def\ea{\ifnum\@xnumdepth=0\begin{exe}\else\begin{xlist}[iv.]\fi\raggedright\ex}
+\def\eal{\begin{exe}\exnrfont\ex\begin{xlist}[iv.]\raggedright}
+\def\ealnoraggedright{\begin{exe}\exnrfont\ex\begin{xlist}[iv.]}
+\def\eanoraggedright{\ifnum\@xnumdepth=0\begin{exe}\else\begin{xlist}[iv.]\fi\ex}
+\def\glt{\nopagebreak\vskip.17\baselineskip\transfont\parindent0ex}
+
+
+
+% copied from here:
+% http://tex.stackexchange.com/questions/23677/command-for-paragraph-indentation-after-equations
+
+%% As Barbara Beeton has commented, forcing the first paragraph after an equation environment to
+%% indent can be achieved with \aftergroup -- use this command to add a \par after the group
+%% established by the environment.
+
+%% Forcing the first paragraph after an environment not to indent isn't that straightforward. I came
+%% up with the following:
+
+%% I defined a new macro \@doendeq that will redefine \everypar so that it a) removes the
+%% indentation from the first paragraph following it b) reverts to its original (empty)
+%% definition. (\@doendeq is an abridged version of LaTeX's \@doendpe which is used after
+%% paragraph-making environments.)
+
+%% To change every instance of the equation environment to remove indents after it, one could
+%% simply add \aftergroup\@doendeq to the definition of \endequation. As you are looking for a
+%% command to modify only some instances of equation, I used \csappto from the etoolbox package
+%% to locally add\aftergroup\@doendeq to \end<\@currenvir> (\@currenvir being the name of the
+%% current environment).
+
+%% I suspect that there are more elegant ways to do this.
+
+%% \newcommand*{\@doendeq}{%
+%% \everypar{{\setbox\z@\lastbox}\everypar{}}%
+%% }
+%% \newcommand*{\eqcntd}{%
+%% \csappto{end\@currenvir}{%
+%% \aftergroup\@doendeq
+%% }%
+%% }
+
+
+\def\z{\ifnum\@xnumdepth=1\end{exe}\else\end{xlist}\fi}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% completely undocumented code
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% for enforcing samepage we put stuff in a tabular environment
+\def\zs{\end{tabular}\ifnum\@xnumdepth=1\end{exe}\else\end{xlist}\fi}
+% %\def\zt{\ifnum\@xnumdepth=1\end{exe}\else\end{xlist}\fi\end{tabular}}
+% % if an example is final in a footnote
+% \def\zlast{\ifnum\@xnumdepth=1\end{exe}\else\end{xlist}\fi\vspace{-\baselineskip}}
+\def\zlast{\z\vspace{-\baselineskip}}
+\def\eafirst{\vspace{-1.5\baselineskip}\ea}
+%
+% % St. Mue. 26.02.00
+% \def\eaf#1{\begin{exe}[(iv)]\exi{(#1)}}
+% \def\eal{\begin{exe}[(\theequation)]\ex\begin{xlist}[iv.]}
+% \def\eal{\begin{exe}\ex\begin{xlist}[iv.]\raggedright} steht unten noch mal
+% \def\eafl#1{\begin{exe}[(iv)]\exi{(#1)}\begin{xlist}[iv.]}
+% \def\eaal{\begin{exe}[(\theequation)]\ex\begin{xlist}[iv.]}
+\def\zl{\end{xlist}\end{exe}}
+% % if an example is final in a footnote
+% Hey, Sebastian, why did you comment this out? Please tell me, if you do such things. 22.07.2014
+\def\zllast{\end{xlist}\end{exe}\removelastskip}
+%
+%
+% %%%%%%% \lcomment for breaks in (example-)lists (leaves all counters
+% %%%%%%% as they are) (hpk)
+% \newlength{\lcommentsep}
+% \lcommentsep = 1ex
+%
+% \long\def\lcomment#1%
+% {\vspace{\lcommentsep}
+% \item[]\hspace*{-\leftmargin}%
+% \@tempskipa=\linewidth%
+% \addtolength{\@tempskipa}{\rightmargin}%
+% \addtolength{\@tempskipa}{\leftmargin}%
+% \parbox{\@tempskipa}{#1}%
+% \vspace{\lcommentsep}%
+% }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Picture examples
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%% control the alignment of exampleno. and (picture-)example
+%%%%%% (by Lex Holt <lex@cogsci.ed.ac.uk>).
+\def\attop#1{\leavevmode\vtop{\strut\vskip-\baselineskip\vbox{#1}}}
+\def\atcenter#1{$\vcenter{#1}$}
+%%%%%%
+
+% \exewidth{\exnrfont (\theequation)}}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% several examples in one line
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\xbox}[2]{\noindent\parbox[t]{#1}{#2}\noindent}
+
+%\newcommand{\nobreakbox}[1]{\xbox{\linewidth}{#1}}
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Bars and other superscripts for projections; specifiers
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\let\prmbrs=0
+\def\primebars{\let\prmbrs=1}
+\def\obar#1{\ifmmode#1^{0}\else#1$^{0}$\fi} %% FIX
+\def\mbar#1{\ifmmode#1^{\mathrm{max}}\else#1\textsuperscript{max}\fi}
+\def\ibar#1{\ifx\prmbrs0%
+ \ifmmode\overline{\mathrm{#1}}\else$\overline{\mbox{#1}}$\fi%
+ \else\ifmmode#1^{'}\else#1$^{'}$\fi\fi}
+\def\iibar#1{\ifx\prmbrs0%
+ \ifmmode\overline{\overline{\mathrm{#1}}}%
+ \else$\overline{\overline{\mbox{#1}}}$\fi%
+ \else #1P\fi}
+
+
+\def\spec#1{[Spec,#1]} %Def. of "Specifier of #1"
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% custom markup
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\ct#1{{\em #1\/}} %Citation of linguistic material with alternative style:
+%\def\ct#1{`#1'}
+\def\tx{\bf} %Introduction of technical terms with alternative style:
+%\def\tx{\em}
+
+
+
diff --git a/macros/xetex/latex/langsci/langsci-glyphs.sty b/macros/xetex/latex/langsci/langsci-glyphs.sty
new file mode 100644
index 0000000000..2569c214f9
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-glyphs.sty
@@ -0,0 +1,28 @@
+\newcommand{\downstep}{\textsf{ꜜ}}
+\newcommand{\↓}{\textsf{ꜜ}}
+\newcommand{\saltillo}{\textsf{ꞌ}}
+\newcommand{\Saltillo}{\textsf{êž‹}}
+\newcommand{\ꞌ}{\textsf{ꞌ}}
+\newcommand{\êž‹}{\textsf{êž‹}}
+
+
+\newcommand{\higha}{{$^{\text{a}}$}}
+\newcommand{\highe}{{$^{\text{e}}$}}
+\newcommand{\highE}{{$^{\text{É›}}$}}
+\newcommand{\highI}{{$^{\text{ɨ}}$}}
+\newcommand{\higho}{{$^{\text{o}}$}}
+\newcommand{\highO}{{$^{\text{É”}}$}}
+\newcommand{\highu}{{$^{\text{u}}$}}
+\newcommand{\highU}{{$^{\text{ÊŠ}}$}}
+
+
+ \newcommand{\ᵃ}{\textsf{{\hspace{.5pt}ᵃ}}}
+ \newcommand{\ᵋ}{\textsf{{\hspace{.5pt}ᵋ}}}
+ \newcommand{\ᵉ}{\textsf{{\hspace{.1pt}ᵉ}}}
+ \newcommand{\á´µ}{\textsf{{\hspace{.5pt}á´µ}}}
+ \newcommand{\ᶤ}{\textsf{{\hspace{.5pt}ᶤ}}}
+ \newcommand{\áµ’}{\textsf{{\hspace{.5pt}áµ’}}}
+ \newcommand{\ᵓ}{\textsf{{\hspace{.5pt}ᵓ}}}
+ \newcommand{\ᵘ}{\textsf{{\hspace{.5pt}ᵘ}}}
+ \newcommand{\ᶶ}{\textsf{{\hspace{.5pt}ᶶ}}}
+ \newcommand{\ꜜ}{\textsf{ꜜ\hspace*{-2pt}}}
diff --git a/macros/xetex/latex/langsci/langsci-hyphenation-de.tex b/macros/xetex/latex/langsci/langsci-hyphenation-de.tex
new file mode 100644
index 0000000000..141c69c481
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-hyphenation-de.tex
@@ -0,0 +1,637 @@
+\hyphenation{%
+Aar-au
+ab-ge-kürzt
+ab-ge-lei-tet
+Ab-lei-ten
+ab-zu-lei-ten
+a-dä-qua-ter
+A-djek-tiv-fle-xi-on
+Ad-res-sa-ten
+Adri-ano
+affri-ca-te
+affri-ca-tes
+Ak-ku-sa-tiv
+A-le-man-ni-schen
+all-ge-mein-ste
+Alt-hoch-deutsch
+Alt-hoch-deut-sche
+Alt-hoch-deut-schen
+A-na-lo-gi-en
+A-na-ly-se
+a-na-ly-siert
+an-ge-nom-men
+an-nä-hernd
+An-satz
+an-setzt
+An-tje
+an-zu-füh-ren
+Ar-bei-ten
+Ar-ti-ku-la-tion
+Auf-tre-ten
+auf-wach-sen
+auf-weist
+Aus-blei-chung
+aus-ei-nan-der-ge-hal-ten
+aus-fal-len
+aus-führ-lich
+aus-führ-li-che
+Aus-gleich
+Aus-gleichs-me-cha-nis-men
+Aus-gleichs-ten-denz
+Aus-gleichs-ten-den-zen
+aus-lau-ten-de
+aus-schließ-lich
+Aus-schnitt
+Bän-de
+ba-sie-end
+Be-deu-tungs-as-pekt
+Be-deu-tungs-as-pekt-en
+be-dingt
+be-ding-te
+Bei-spiel
+Bei-spie-le
+bei-spiels-wei-se
+bei-spiels-wei-se
+Be-lebt-heit
+Be-lebt-heits-hie-rar-chie
+be-nö-tigt
+be-ob-ach-ten
+be-ob-ach-tet
+Be-ob-ach-tung
+Be-reich
+Be-rei-che
+Be-reichs
+be-reits
+Be-rich-ti-gun-gen
+bern-deut-sches
+be-schäf-tigt
+Be-schrän-kung
+Be-schränk-ung-en
+be-schreibt
+Be-schrei-bung
+be-schrie-ben
+bes-ser
+be-steht
+be-stimmt
+be-stimm-te
+be-stimm-ten
+be-stimm-ter
+Be-tont-heit
+be-trach-tet
+be-tref-fend
+Be-völ-ke-rungs-dich-te
+Be-völ-ke-rungs-grö-ße
+be-zie-hen
+be-züg-lich
+Blö-cke
+Blö-cken
+Bo-den-see-a-le-man-nisch
+bräuch-te
+bün-dig
+Cha-rak-te-ri-sti-ka
+Cha-rak-te-ris-ti-ka
+Char-les
+com-ple-ments
+con-straint
+da-für
+Dam-mel
+da-ran
+da-von
+da-zu
+de-fi-nie-ren
+de-fi-niert
+De-mon-stra-tiv-pro-no-men
+De-mon-stra-tiv-pro-no-mens
+des-sen
+des-we-gen
+De-ter-mi-nie-rer
+De-ter-mi-nie-rer-ka-te-go-rie-en
+De-ter-mi-nie-rern
+deut-sche
+deut-schen
+di-a-chron
+di-a-chrone
+di-a-chro-ner
+Di-a-lekt-grup-pe
+die-nen
+dient
+die-sel-be
+die-sem
+die-sen
+die-ser
+Die-wald
+Diph-thon-gie-rung
+Dis-kurs-kon-text
+Dis-kurs-teil-neh-mer
+Dis-kurs-teil-neh-mers
+Dis-kurs-ver-lauf
+Dis-kurs-ver-läu-fe
+Di-stinkt-heit
+durch-aus
+Durch-schnitt-li-che
+durch-schnitt-li-chen
+Durch-schnitts-wer-te
+durch-zu-füh-ren
+Dy-na-mi-ken
+dy-na-mi-sche
+Ei-gen-schaf-ten
+ei-nem
+ei-ner
+ein-fa-cher
+ein-ge-gan-gen
+ein-ge-stie-gen
+ein-ge-teilt
+ein-heit-li-ches
+Ein-tei-lung
+E-le-men-te
+E-li-sa-beth-tal
+el-säs-si-scher
+ent-hält
+ent-spre-chen
+ent-we-der
+ent-wi-ckeln
+er-klä-ren
+er-klärt
+Er-klär-ung
+er-mög-li-chen
+er-rei-chen
+er-scheint
+ers-ten
+Ers-tens
+er-wei-tert
+Eu-ro-pe
+e-ven-tu-el-le
+exem-pla-risch
+Fak-to-ren
+fal-len
+feh-len-de
+fest-hal-ten
+fin-det
+Fin-kel
+Fle-xi-on
+Fle-xi-ons-ka-te-go-ri-en
+Fle-xi-ons-klas-se
+Fle-xi-ons-klas-sen
+Fle-xi-ons-mor-pho-lo-gie
+Fle-xi-ons-pa-ra-dig-ma
+Fle-xi-ons-suf-fix
+Fle-xi-ons-sys-stem
+Fol-ge
+folg-lich
+Folg-lich
+folgt
+Frank-reichs
+fran-zö-sisch
+fran-zö-si-schen
+Frei-burg
+Fri-bourg
+früh-neu-hoch-deut-sche
+fünf-tens
+Funk-ti-ons-glei-chung
+Gebiet
+Ge-brauchs-un-ter-schied
+ge-folgt
+ge-fragt
+ge-ge-ben
+Ge-gen-teil
+ge-gen-über
+ge-gen-ü-ber-ge-stellt
+ge-glie-dert
+ge-hö-ren
+ge-macht
+Ge-mein-de
+ge-mein-sa-men
+ge-meint
+ge-nannt
+ge-nann-ten
+ge-nau-er
+ge-ne-ra-ti-ven
+ge-ne-rell
+Ge-ni-tiv
+Ge-ni-tivs
+Ge-nus
+Ge-nus-syn-kre-tis-men
+ge-o-gra-fisch
+ge-o-gra-fi-sche
+ge-prüft
+ge-ra-de
+ge-rings-te
+ger-ma-ni-schen
+Ge-samt-kom-ple-xi-tät
+Ge-schlecht
+ge-spei-chert
+Ge-sprächs-part-ner
+Ge-sprächs-part-ners
+Ge-sprächs-teil-neh-mer
+ge-spro-chen
+ge-spro-che-nen
+ge-wor-fen
+ge-zählt
+ge-zeigt
+gleich
+glei-cher
+Gleich-zei-tig
+gram-ma-ti-ka-li-sier-ten
+Gram-ma-ti-ka-li-sie-rung
+Grenz-wert
+gro-ße
+grund-sätz-lich
+grund-sätz-li-che
+Gruy-ter
+Gur-mels
+ha-ben
+han-delt
+Haupt-ar-gu-ment
+Hebrä-isch
+Hebrä-ische
+Hebrä-ischen
+He-ran-ge-hens-wei-sen
+her-zu-lei-ten
+he-te-ro-ge-nen
+hier
+hie-rar-chi-schen
+hier-hin
+hie-si-gen
+hin-ge-wie-sen
+his-to-risch
+his-to-rische
+Hoch-a-le-man-nisch
+hoch-ale-man-ni-sche
+Hoch-ale-man-ni-sche
+Hoch-a-le-man-ni-schen
+hoch-deut-sche
+Höchst-a-le-man-nisch
+höchst-a-le-man-ni-sche
+höchst-ale-man-ni-schen
+Höchst-ale-man-ni-schen
+hö-he-re
+hö-he-rem
+hö-he-ren
+hö-he-rer
+Ho-mo-ge-ni-tät
+Hö-rer
+Hot-zen-kö-cher-le
+Hu-zen-bach
+Iko-ni-zi-tät
+in-for-ma-ti-ons-the-o-re-ti-sches
+in-for-mel-le
+In-no-va-ti-ons-ra-te
+In-no-va-ti-vi-tät
+ins-be-son-de-re
+in-te-res-sant
+in-te-res-san-ter-wei-se
+In-te-res-ses
+in-te-res-sier-ten
+In-ter-ro-ga-tiv-pro-no-men
+In-ter-ro-ga-tiv-pro-no-mens
+i-so-liert
+i-so-lier-te
+i-so-lier-ten
+Jahr-hun-dert
+je-der
+je-ner
+je-weils
+Jid-disch
+Jid-disch-en
+Jung-gram-ma-ti-kern
+Kai-ser-stuhl
+Ka-pi-tel
+Ka-pi-teln
+Ka-pi-tels
+Karl-Ham-pus
+Ka-sus-mar-kie-rung
+Ka-te-go-rie
+Ka-te-go-ri-en
+Ka-te-go-ri-sie-rung
+kei-nem
+Kir-chen-sla-vi-schen
+klein-ste
+ko-diert
+kom-ple-xer
+Kom-ple-xi-fi-zie-rung
+Kom-ple-xi-tät
+Kom-ple-xi-täts-aus-gleich
+Kom-pri-mie-rung
+kon-kre-ten
+kon-kre-ter
+kon-kur-rie-ren
+kon-kur-riert
+konn-te
+Kon-sti-tu-en-ten-struk-tur
+kons-ti-tu-tio-nel-ler
+Kon-tak-te
+Kon-takt-spra-chen
+ko-o-pe-ra-ti-ven
+kor-pus-ba-sier-te
+Kürsch-ner
+lang-sa-mer
+Laut-qua-li-tät
+leicht
+Letz-te-re
+Le-xems
+Lexi-kon
+lie-gen
+lin-gu-is-ti-schen
+Li-te-ra-tur-hebrä-isch-en
+Mann-heim
+mar-kiert
+Mar-kie-rung
+Mas-ku-lin
+ma-xi-mal
+Me-cha-nis-men
+meh-re-ren
+Mehr-spra-chig-keit
+mesch-li-chen
+Mess-me-tho-de
+Mess-me-tho-den
+Me-tho-de
+Me-tho-den
+Mi-ni-ma-lis-mus
+mit-ei-nan-der
+Mit-tel-hoch-deutsch
+Mit-tel-hoch-deut-sche
+Mit-tel-hoch-deut-schen
+Mit-tel-sil-ben-zen-tra-li-sier-ung
+Mo-bi-li-tät
+Mo-dell
+mo-del-liert
+mo-der-nen
+Mo-di-fi-ka-ti-on
+Mo-du-le
+mög-li-che
+mög-li-chen
+mög-li-cher
+mög-lichst
+Mo-ment
+Mon-go-lisch
+Mo-no-fle-xi-on
+mor-pho-lo-gisch
+mor-pho-lo-gi-sche
+mor-pho-lo-gi-schen
+mor-pho-syn-tak-ti-sche
+mor-pho-syn-tak-ti-schen
+mo-vier-ten
+mul-ti-lin-gu-a-len
+Mund-art
+münd-lich
+müs-sen
+nach-ge-wie-sen
+na-sa-lier-ten
+ne-ben
+Ne-ben-sil-be
+Ne-ben-sil-ben-schwä-chung
+Netz-werk
+Netz-wer-ken
+Neu-e-run-gen
+Neu-trum
+Nie-der-a-le-man-nisch
+nie-der-a-le-man-ni-schen
+nie-dri-ge-ren
+Nie-mey-er
+No-mi-nal-fle-xi-on
+No-mi-nal-phra-se
+No-mi-na-tiv
+o-ben
+Ober-fläch-en-ab-fol-ge
+O-ber-rhein-a-le-man-nisch
+o-ber-rhein-a-le-man-ni-sche
+O-ber-rhein-a-le-man-ni-schen
+öko-no-mi-scher
+on-to-lo-gi-sche
+O-pa-zi-tät
+o-pe-ra-ti-o-na-li-siert
+Ope-ra-ti-o-na-li-sie-rung
+or-ga-ni-siert
+or-na-men-ta-le
+Ost-jid-disch-en
+Pa-ra-dig-ma
+Pa-ra-dig-men
+Par-ti-zip
+Pe-ri-phra-sen
+pe-ri-phras-ti-scher
+Per-so-nal-pro-no-men
+Pe-tri-feld
+Phä-no-me-ne
+phi-lo-so-phi-schen
+pho-no-lo-gisch
+pho-no-lo-gi-sche
+pho-no-lo-gi-schen
+plä-diert
+Po-si-tions-mög-lich-keit
+Po-si-tions-mög-lich-keit-en
+pos-se-si-ven
+Pos-ses-siv-pro-no-men
+Pos-ses-siv-pro-no-mens
+prag-ma-ti-sch-en
+prak-ti-schen
+prä-sen-tiert
+prä-zi-se
+Pri-mär
+Pri-mär-
+Pri-mär-um-laut
+prin-zi-pi-el-len
+Pro-zes-se
+Qua-li-tät
+Qua-li-täts-un-ter-schie-de
+re-a-li-sie-ren-de
+re-a-li-sie-rung
+Re-a-li-sie-rungs-re-geln
+Rechts-att-ri-bu-te
+Re-dun-dan-zen
+re-gel-mä-ßi-gen
+Re-geln
+re-la-ti-ver
+Rhein-ebe-ne
+Rot-weil
+Schlach-ter
+schließ-lich
+Schwä-bisch
+schwä-bi-sche
+Schwä-bi-sche
+schwä-bi-schen
+schwa-che
+Schwarz-wald
+Schwei-zer
+Schwer-punkt
+Se-kun-där-um-laut
+Sen-se-be-zirk
+Se-quen-zier-ungs-be-schrän-kung-en
+Se-ria-li-sier-ungs-be-schrän-kung-en
+Sim-pli-fi-zie-rung
+so-wie
+so-wohl
+so-zio-lin-gu-is-ti-schen
+Spen-cer
+Spe-zi-al-fäl-le
+spe-zi-fisch-sten
+spe-zi-fi-ziert
+Spra-che
+Spra-chen
+Sprach-ge-mein-schaft
+Sprach-ge-mein-schaf-ten
+Sprach-ge-schich-te
+Sprach-imi-ta-tio-nen
+Sprach-in-sel
+Sprach-kon-takts
+Sprach-wan-del
+Sprach-wissenschaftlers
+sprach-wis-sen-schaft-li-cher
+Sprech-akt-opera-tor
+Sprech-akt-opera-tor-en
+Sprech-er-be-kennt-nis
+Stamm-for-men
+Stamm-mo-di-fi-ka-ti-on
+Stan-dar-di-sie-rungs-pro-zess
+Standard-Ost-jid-disch
+Stan-dard-spra-che
+stär-ker
+steht
+stel-len
+stell-ver-tre-tend
+Step-pe
+steu-ert
+struk-tu-rel-le
+struk-tu-rel-ler
+Stutt-gar-ter
+Sub-stan-tiv
+Sub-stan-tiv-
+sued-oes-tli-chen
+Sum-me
+Süß-kram
+Syn-kre-tis-men
+Syn-kre-tis-mus
+Syn-kre-tis-mus-paa-res
+syn-tak-ti-schen
+syn-tak-ti-scher
+syn-te-thi-schen
+Sys-tem
+sy-ste-ma-tisch
+sys-te-ma-ti-sche
+sys-te-ma-ti-schem
+Sys-te-ma-ti-sie-rungs-ar-beit
+Szcze-pa-niak
+Ta-bel-le
+Ta-bel-len
+täg-li-chen
+Ta-xo-no-mie
+ta-xo-no-mi-sche
+Teil-a-na-ly-sen
+Teil-dis-zi-pli-nen
+the-o-re-ti-sche
+The-o-rie-bil-dung
+trenn-te
+Ü-ber-gang
+ü-ber-neh-men-den
+Ü-ber-set-zung
+Ü-ber-spe-zi-fi-ka-ti-on
+um-lau-ten
+un-ab-hän-gig
+un-be-stimm-te
+un-be-stimm-ten
+un-ga-ri-schen
+un-ge-fähr
+U-ni-fi-ka-tion
+Un-ter-ka-pi-teln
+un-ter-schie-den
+un-ter-schied-li-che
+un-ter-schied-li-chem
+un-ter-schied-li-chen
+un-ter-schied-li-cher
+Un-ter-spe-zi-fi-ka-tion
+Un-ter-stüt-zung
+un-ter-such-ten
+Un-ter-su-chungs-ge-biet
+Ur-in-do-ger-ma-ni-sche
+Ut-rum
+Va-ri-a-ti-on
+Ver-all-ge-mei-ner-ung
+ver-an-schau-licht
+Verb-cluster
+Ver-bin-dung-en
+Verb-kette
+Verb-ketten
+Verb-kom-plex
+Verb-partikel
+Verb-par-ti-kel
+Verb-partikeln
+Verb-par-ti-keln
+Verb-phra-se
+Verb-zweit-stel-lung
+Ver-deut-li-chung
+ver-ein-fach-te
+Ver-gleich
+Ver-gleich-bar-keit
+Ver-glei-che
+Ver-gleichs
+ver-gleichs-wei-se
+Ver-laufs-mus-ter
+ver-letzt
+ver-or-ten
+ver-schie-de-ne
+ver-schie-de-nen
+ver-schie-den-en
+ver-schie-de-ner
+ver-stan-den
+Ver-tei-lung
+ver-tre-te
+Ver-tre-ters
+ver-wand-te
+Ver-wen-dungs-un-ter-schied
+Ver-wen-dungs-un-ter-schiede
+ver-wer-fen
+Ver-zer-ren
+Vis-per-ter-mi-nen
+VO-Grund-wort-stel-lung
+vo-ka-lisch
+voll-stän-di-ges
+von-ei-nan-der
+Vor-be-rei-tung
+vor-ge-stellt
+vor-han-den
+vor-kom-men
+vor-kommt
+Vor-schlä-ge
+wahr-neh-mungs-psy-cho-lo-gi-scher
+wei-sen
+wei-ten
+wei-ter
+Wei-te-ren
+wel-che
+wel-chen
+we-ni-ger
+we-sent-lich
+we-sent-lich-en
+wes-halb
+west-jid-disch
+West-jid-disch-Projekt
+West-mittel-deutsch
+wich-tig
+wie-der-ho-len
+Will-kop
+wis-sen-schafts-ge-schicht-li-chen
+wo-durch
+Wohl-ge-formt-heit
+Wort-ar-ten
+Wör-ter
+wur-de
+wür-de
+Wur-zel
+Wur-zel-al-ter-na-ti-o-nen
+Wur-zeln
+Zel-len
+Zu-falls-prin-zip
+zu-ge-wie-sen
+Zu-ge-zo-ge-nen
+zugrunde-lie-gen-de
+zu-rück-er-o-bert
+zu-sam-men-fal-len
+Zu-sam-men-ge-fasst
+zu-sam-men-ge-nom-men
+Zu-sam-men-hang
+zu-sätz-lich
+Zu-schrei-bung
+Zu-stand
+zu-tref-fen
+zwei-tens
+zwi-schen
+} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/langsci-hyphenation-fr.tex b/macros/xetex/latex/langsci/langsci-hyphenation-fr.tex
new file mode 100644
index 0000000000..357584f500
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-hyphenation-fr.tex
@@ -0,0 +1,51 @@
+\hyphenation{%
+ac-cep-ta-ble
+affri-ca-te
+affri-ca-tes
+a-na-lyse
+ap-pa-rais-sent %check the hyphenation
+au-xi-liaire
+clus-ter
+clus-ters
+com-pa-ra-tive
+com-pa-ra-tives
+com-ple-ments
+con-si-dé-ré
+cons-truc-tion
+cons-truc-tions
+con-texte
+con-textes
+con-tras-tif
+con-ven-tion-nelles
+deu-xième %check the hyphenation
+E-di-tu-ra
+en-tre-tien-nent
+en-vi-sa-gé
+é-ven-tua-li-té
+e-xem-ple
+e-xem-ples
+Fien-go
+Gar-dent
+Han-ka-mer
+in-fi-ni-tif
+in-ter-pré-ta-tion
+in-ter-ro-ga-ti-ves
+Ka-ze-nin
+Ken-ne-dy
+ma-té-riel
+moin-dre
+par-ti-cu-lier
+per-met-tant
+prin-tre
+pseu-do-cons-ti-tuants
+pseu-do-gap-ping
+quel-ques
+re-cons-truc-tion
+ren-tre-ra
+Schlan-gen
+sous-ca-té-go-ri-sa-tion
+su-bor-don-nants
+suf-fi-sam-ment
+sui-vant
+syn-ta-xique
+} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/langsci-hyphenation-pt.tex b/macros/xetex/latex/langsci/langsci-hyphenation-pt.tex
new file mode 100644
index 0000000000..93e96e0ab8
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-hyphenation-pt.tex
@@ -0,0 +1,2 @@
+\hyphenation{%
+} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/langsci-hyphenation-universal.tex b/macros/xetex/latex/langsci/langsci-hyphenation-universal.tex
new file mode 100644
index 0000000000..0dd4e3d705
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-hyphenation-universal.tex
@@ -0,0 +1,3 @@
+\hyphenation{%
+Choms-ky
+} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/langsci-lgr.sty b/macros/xetex/latex/langsci/langsci-lgr.sty
new file mode 100644
index 0000000000..4827d8c4b0
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-lgr.sty
@@ -0,0 +1,88 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: langsci-lgr.sty
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2016-01-16 16:47:43 UTC
+%% Purpose: This file contains shortcuts for the Leipzig Glossing
+%% Rules.
+%% Language: LaTeX
+%% Licence:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\ABL}{\textsc{abl}{}\xspace} %ablative
+\newcommand{\ABS}{\textsc{abs}{}\xspace} %absolutive
+\newcommand{\ACC}{\textsc{acc}{}\xspace} %accusative
+\newcommand{\ADJ}{\textsc{adj}{}\xspace} %adjective
+\newcommand{\ADV}{\textsc{adv}{}\xspace} %adverb(ial)
+\newcommand{\AGR}{\textsc{agr}{}\xspace} %agreement
+\newcommand{\ALL}{\textsc{all}{}\xspace} %allative
+\newcommand{\ANTIP}{\textsc{antip}{}\xspace} %antipassive
+\newcommand{\APPL}{\textsc{appl}{}\xspace} %applicative
+\newcommand{\ART}{\textsc{art}{}\xspace} %article
+\newcommand{\AUX}{\textsc{aux}{}\xspace} %auxiliary
+\newcommand{\BEN}{\textsc{ben}{}\xspace} %benefactive
+\newcommand{\CAUS}{\textsc{caus}{}\xspace} %causative
+\newcommand{\CLF}{\textsc{clf}{}\xspace} %classifier
+\newcommand{\COM}{\textsc{com}{}\xspace} %comitative
+\newcommand{\COMP}{\textsc{comp}{}\xspace} %complementizer
+\newcommand{\COMPL}{\textsc{compl}{}\xspace} %completive
+\newcommand{\COND}{\textsc{cond}{}\xspace} %conditional
+\newcommand{\COP}{\textsc{cop}{}\xspace} %copula
+\newcommand{\CVB}{\textsc{cvb}{}\xspace} %converb
+\newcommand{\DAT}{\textsc{dat}{}\xspace} %dative
+\newcommand{\DECL}{\textsc{decl}{}\xspace} %declarative
+\newcommand{\DEM}{\textsc{dem}{}\xspace} %demonstrative
+\newcommand{\DEF}{\textsc{det}{}\xspace}
+\newcommand{\DET}{\textsc{def}{}\xspace}
+\newcommand{\DIST}{\textsc{dist}{}\xspace} %distal
+\newcommand{\DISTR}{\textsc{distr}{}\xspace} %distributive
+\newcommand{\DU}{\textsc{du}{}\xspace} %dual
+\newcommand{\DUR}{\textsc{dur}{}\xspace} %durative
+\newcommand{\ERG}{\textsc{erg}{}\xspace} %ergative
+\newcommand{\EXCL}{\textsc{excl}{}\xspace} %exclusive
+\newcommand{\F}{\textsc{f}{}\xspace}
+\newcommand{\FOC}{\textsc{foc}{}\xspace} %focus
+\newcommand{\FUT}{\textsc{fut}{}\xspace} %future
+\newcommand{\GEN}{\textsc{gen}{}\xspace} %genitive
+\newcommand{\IMP}{\textsc{imp}{}\xspace} %imperative
+\newcommand{\INCL}{\textsc{incl}{}\xspace} %inclusive
+\newcommand{\IND}{\textsc{ind}{}\xspace} %indicative
+\newcommand{\INDF}{\textsc{indf}{}\xspace} %indefinite
+\newcommand{\INS}{\textsc{ins}{}\xspace} %instrumental
+\newcommand{\INTR}{\textsc{intr}{}\xspace} %intransitive
+\newcommand{\IPFV}{\textsc{ipfv}{}\xspace} %imperfective
+\newcommand{\IRR}{\textsc{irr}{}\xspace} %irrealis
+\newcommand{\LOC}{\textsc{loc}{}\xspace} %locative
+% \renewcommand{\M}{\textsc{m}{}\xspace} % use at own risk
+\newcommand{\N}{\textsc{n}{}\xspace}
+\newcommand{\NEG}{\textsc{neg}{}\xspace}
+\newcommand{\NMLZ}{\textsc{nmlz}{}\xspace} %nominalizer/nominalization
+\newcommand{\NOM}{\textsc{nom}{}\xspace} %nominative
+\newcommand{\OBJ}{\textsc{obj}{}\xspace} %object
+\newcommand{\OBL}{\textsc{obl}{}\xspace} %oblique
+% \renewcommand{\P}{\textsc{p}{}\xspace} %%originally pilcrow, use at own risk
+\newcommand{\PASS}{\textsc{pass}{}\xspace} %passive
+\newcommand{\PFV}{\textsc{pfv}{}\xspace} %perfective
+\newcommand{\PL}{\textsc{pl}{}\xspace} %plural
+\newcommand{\POSS}{\textsc{poss}{}\xspace} %possessive
+\newcommand{\PRED}{\textsc{pred}{}\xspace} %predicative
+\newcommand{\PRF}{\textsc{prf}{}\xspace} %perfect
+\newcommand{\PRS}{\textsc{prs}{}\xspace} %present
+\newcommand{\PROG}{\textsc{prog}{}\xspace} %progressive
+\newcommand{\PROH}{\textsc{proh}{}\xspace} %prohibitive
+\newcommand{\PROX}{\textsc{prox}{}\xspace} %proximal/proximate
+\newcommand{\PST}{\textsc{pst}{}\xspace} %past
+\newcommand{\PTCP}{\textsc{ptcp}{}\xspace} %participle
+\newcommand{\PURP}{\textsc{purp}{}\xspace} %purposive
+\newcommand{\Q}{\textsc{q}{}\xspace}
+\newcommand{\QUOT}{\textsc{quot}{}\xspace} %quotative
+\newcommand{\RECP}{\textsc{recp}{}\xspace} %reciprocal
+\newcommand{\REFL}{\textsc{refl}{}\xspace} %reflexive
+\newcommand{\REL}{\textsc{rel}{}\xspace} %relative
+\newcommand{\RES}{\textsc{res}{}\xspace} %resultative
+% \renewcommand{\S}{\textsc{s}{}\xspace} %originally § , use at own risk
+\newcommand{\SBJ}{\textsc{sbj}{}\xspace} %subject
+\newcommand{\SBJV}{\textsc{sbjv}{}\xspace} %subjunctive
+\newcommand{\SG}{\textsc{sg}{}\xspace} %singular
+\newcommand{\TOP}{\textsc{top}{}\xspace}
+\newcommand{\TR}{\textsc{tr}{}\xspace} %transitive
+\newcommand{\VOC}{\textsc{voc}{}\xspace} %vocative
diff --git a/macros/xetex/latex/langsci/langsci-linguex.sty b/macros/xetex/latex/langsci/langsci-linguex.sty
new file mode 100644
index 0000000000..ebab548c0b
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-linguex.sty
@@ -0,0 +1,441 @@
+%% Copyright 1996-2013 by Wolfgang Sternefeld
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%% linguex.sty version 3.3, revised 2000/12/22, compatability with
+%% lucida fonts: Defaults defined \AtBeginDocument
+%% linguex.sty version 3.4, revised 2001/04/30, corrected vspacing for
+%% \ex. embedded in \a.
+%% linguex.sty version 3.5, revised 2002/01/26, corrected hspacing for
+%% \alignSubEx
+%% linguex.sty version 3.6, revised 2008/03/20, \lessthanten,
+%% \lessthanhundred, and \lessthanthousand redefined due to problems
+%% with kerning in fonts
+%% linguex.sty version 3.7, revised 2008/06/30, \lessthanten,
+%% \lessthanhundred, and \lessthanthousand redefined due to problems
+%% with kerning in fonts
+%% linguex.sty version 3.7a, revised 2009/09/02, replaced hard-coded
+%% example format with \theExNo
+%% linguex.sty version 4.0 replaces hard-coded brackets with
+%% predefined commands
+%% linguex.sty version 4.1 replaces \refstepcounter by \stepcounter
+%% for internal counters
+%% linguex.sty version 4.2 replaces \rm by \textrm in definition of
+%% \stripoffbr; undoes the change in version 4.0 from .66\baselineskip to
+%% \Extopsep; renews definition of \label AtBeginDocument
+%% linguex.sty version 4.3 removes code that caused problems with beamer; adds
+%% a \ProvidesPackage line to keep track of versions better
+%% Author: Wolfgang.Sternefeld@uni-tuebingen.de
+%% status: maintained
+%% filedate May 28th 2013
+
+%% This is a modified version for the use with langsci-gb4e. It is part of the Language Science Press LaTeX packages for producing books.
+%% Modifications done by Felix Kopecky <kopeckyf@hu-berlin.de> on 14 Feb 2017:
+%% \ex -> \Lsciex
+%% \exi -> Lsciexi
+
+\ProvidesPackage{langsci-linguex}[2017/02/14 adapted to work in the LangSci class]
+\RequirePackage{xspace,cgloss4e}
+%%%%%%%%%%%%%%%%%%% FOOTNOTES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% to let \ex. know whether or not it is in a footnote
+\newif\if@noftnote\@noftnotetrue
+\let\predefinedfootnotetext=\@footnotetext
+\long\def\@footnotetext#1{\@noftnotefalse\predefinedfootnotetext{#1}%
+ \@noftnotetrue}
+%
+%%%%%%%%%%%%%%% COUNTERS FOR LABELLING %%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifundefined{chapter}{\newcounter{ExNo}}{\newcounter{ExNo}[chapter]}
+\newcounter{SubExNo}[\if@noftnote ExNo\else FnExNo\fi]
+\newcounter{SubSubExNo}[SubExNo]
+\newcounter{FnExNo}[footnote]
+\newcounter{ABC}
+\newcommand{\ExLBr}{(}%added in version 4.0
+\newcommand{\ExRBr}{)}%added in version 4.0
+\newcommand{\FnExLBr}{(}%added in version 4.0
+\newcommand{\FnExRBr}{)}%added in version 4.0
+\newcommand{\theExLBr}{(}%added in version 4.0
+\newcommand{\theExRBr}{)}%added in version 4.0
+\newcommand{\theFnExLBr}{(}%added in version 4.0
+\newcommand{\theFnExRBr}{)}%added in version 4.0
+\renewcommand{\theExNo}{\theExLBr\arabic{ExNo}\theExRBr}%modified in version 4.0
+\renewcommand{\theFnExNo}{\theFnExLBr\roman{FnExNo}\theFnExRBr}%removed in version 4.0
+\newcommand{\firstrefdash}{}
+\newcommand{\secondrefdash}{-}
+\newcommand{\SubExLBr}{}
+\newcommand{\SubExRBr}{.}
+\newcommand{\SubSubExLBr}{(}
+\newcommand{\SubSubExRBr}{)}
+\newcommand{\Exarabic}{\arabic}%added in version 4.0
+\newcommand{\Exalph}{\alph}%added in version 4.0
+\newcommand{\Exroman}{\roman}%added in version 4.0
+% Modification in version 4.0: hard wired brackets replaced by
+% commands defined above:
+\renewcommand{\theSubExNo}{\hbox{\if@noftnote\theExLBr\Exarabic{ExNo}\firstrefdash
+ \Exalph{SubExNo}\theExRBr\else
+\theFnExLBr\Exroman{FnExNo}\firstrefdash\Exalph{SubExNo}\theFnExRBr\fi}}
+\renewcommand{\theSubSubExNo}{%
+ \hbox{\if@noftnote\theExLBr\Exarabic{ExNo}\firstrefdash\Exalph{SubExNo}\secondrefdash
+ \Exroman{SubSubExNo}\theExRBr%
+ \else\theFnExLBr\Exroman{FnExNo}\firstrefdash
+ \Exalph{SubExNo}\secondrefdash\Exarabic{SubSubExNo}\theFnExRBr\fi}}%
+%
+%%%%%%%%%%%%%% LENGTHS FOR SPACING %%%%%%%%%%%%%%%%%%%%%%%%%%
+\newlength{\currentlabel}
+\newlength{\lessthanten}
+\newlength{\lessthanhundred}
+\newlength{\lessthanthousand}
+\newlength{\@Exleftmargin}
+\newlength{\Exlabelwidth}
+\newlength{\Extopsep}
+\newlength{\Exindent}
+\newlength{\SubExleftmargin}
+\newlength{\SubSubExleftmargin}
+\newlength{\Exlabelsep}
+\newlength{\alignSubExnegindent}
+\newlength{\Exredux}
+\newif\ifalignSubEx
+\newcommand{\resetExdefaults}{%
+ \setlength{\Exlabelsep}{1.3em}%
+ \setlength{\Extopsep}{.66\baselineskip}%
+ \setlength{\SubSubExleftmargin}{2.4em}%
+ \setlength{\SubExleftmargin}{2em}%
+ \setlength{\Exindent}{0pt}%
+ \setlength{\Exlabelwidth}{4em}%
+ \setlength{\alignSubExnegindent}{\Exlabelsep}%
+ \ifalignSubEx\addtolength{\Exlabelsep}{.7em}%
+ \addtolength{\alignSubExnegindent}{.7em}\fi
+ \setlength{\Exredux}{-\baselineskip}%
+ }
+\AtBeginDocument{\resetExdefaults}
+%%%
+\newlength\digitwidth%added-3.7
+\newlength\mindigitwidth%added-3.7
+\newcommand{\minimalwidth}[1]{\settowidth{\digitwidth}{#1}%added-3.7
+\ifdim\digitwidth<\mindigitwidth\mindigitwidth\digitwidth\fi}%added-3.7
+%
+%%%%%%%%%%%%%%%%%%% DEFINITION OF \Lsciex. %%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifembedded
+\newif\ifExWarning
+\newcounter{ExDepth}
+\newcounter{TempExDepth}\setcounter{TempExDepth}{0}
+\def\trivex.#1\par{\ifdim\lastskip=.66\baselineskip\vspace{\Exredux}\fi
+ \begin{list}{}{\leftmargin\z@%
+ \labelwidth\z@\labelsep\z@\partopsep\z@\topsep\Extopsep}%
+ \item{}#1%
+ \stepcounter{ExDepth}\ExEnd}%refstepcounter replaced
+\def\Lsciex.#1\par{%
+ \ifnum\theExDepth>0 \setcounter{TempExDepth}{\theExDepth}%
+ \setcounter{ExDepth}{0}
+ \embeddedtrue\fi
+ \ifembedded\else
+ \ifdim\lastskip=.66\baselineskip\vspace{\Exredux}\fi
+ \fi
+ \stepcounter{ExDepth}%%refstepcounter replaced
+ \my@ifnextchar[{\OptArgEx}{\ifindex\expandafter\lookforwords\fi
+ \NormalEx\testforgramm}%
+ #1%
+ \addtocounter{ExDepth}{\theTempExDepth}\setcounter{TempExDepth}{0}%
+ \embeddedfalse\global\ExWarningfalse\ExEnd}
+\newcommand{\NormalEx}{\ifExWarning
+ \PackageWarning{linguex}{Check example numbering (screwed up?),
+ check number of empty lines at end of examples.
+ Detected}\fi\ExWarningtrue
+ \if@noftnote\refstepcounter{ExNo}%
+ \Exformat[\ExLBr\Exarabic{ExNo}\ExRBr]%
+ \else
+ \refstepcounter{FnExNo}\Exformat[\FnExLBr\Exroman{FnExNo}\FnExRBr]%
+ \fi}
+\def\OptArgEx[#1]{\Exformat[#1]\expandafter\testforgramm\ifindex\expandafter
+ \lookforwords\fi}
+\def\philarge{4\mindigitwidth}
+\def\philmiddle{3\mindigitwidth}
+\def\philsmall{2\mindigitwidth}
+%%%%%%%%%%%%%%%
+\newcommand{\phlabelwidth}[1]{%
+ \renewcommand{\philarge}{#1}%
+ \renewcommand{\philmiddle}{#1}%
+ \renewcommand{\philsmall}{#1}}
+\newcommand{\phlabeldefault}{%
+ \renewcommand{\philarge}{4\mindigitwidth}%
+ \renewcommand{\philmiddle}{3\mindigitwidth}%
+ \renewcommand{\philsmall}{2\mindigitwidth}}
+\newcommand{\ExEnd}{%
+ \ifnum\theExDepth=0\global\unembeddedfalse\else%
+ \end{list}\addtocounter{ExDepth}{-1}\ExEnd\fi}
+\newcommand{\listdecl}{\parsep\z@\itemsep\z@\partopsep\z@\labelsep\z@%
+ \@Exleftmargin\z@%
+ \settowidth{\digitwidth}{0}\mindigitwidth\digitwidth%modified-3.7
+ \minimalwidth{1}%modified-3.7
+ \minimalwidth{2}%
+ \minimalwidth{3}%
+ \minimalwidth{4}%
+ \minimalwidth{5}%
+ \minimalwidth{6}%
+ \minimalwidth{7}%
+ \minimalwidth{8}%
+ \minimalwidth{9}%
+ \settowidth{\lessthanthousand}{\ExLBr\hbox to \philarge{}\ExRBr}%modified-3.7,4.0
+ \ifdim\currentlabel<\lessthanthousand\leftmargin\Exlabelsep
+ \ifdim\lessthanthousand<\Exlabelwidth\Exlabelwidth\Exlabelsep%
+ \settowidth{\lessthanten}{\ExLBr\hbox
+ to \philsmall{}\ExRBr}%modified-3.7
+ \settowidth{\lessthanhundred}{\ExLBr\hbox to
+ \philmiddle{}\ExRBr}%modified-3.7
+ \ifdim\currentlabel<\lessthanten\leftmargin\lessthanten%
+ \else
+ \ifdim\currentlabel<\lessthanhundred\leftmargin\lessthanhundred%
+ \else
+ \ifdim\currentlabel<\lessthanthousand\leftmargin\lessthanthousand%
+ \fi\fi\fi\fi
+ \else
+ \Exlabelwidth\z@
+ \fi%
+ \@Exleftmargin\Exlabelwidth
+ \labelwidth\leftmargin
+ \ifembedded\relax\else
+ \addtolength{\Exlabelwidth}{\Exindent}
+ \fi
+ \addtolength{\leftmargin}{\Exlabelwidth}%
+ \addtolength{\labelwidth}{\@Exleftmargin}%
+}
+\def\Exformat[#1]{%
+ \settowidth{\currentlabel}{#1}%
+ \begin{list}{\makebox[\labelwidth][l]{#1}}{%
+ \setlength{\leftmargin}{\currentlabel}%
+ \listdecl%
+ \if@noftnote\relax\else\addtolength{\topsep}{-.5\topsep}\fi
+ \ifembedded\topsep=.3\Extopsep\else\topsep=\Extopsep\fi
+ }%
+ \ifindex\firstwordtrue\fi\item{}}
+%
+%%%%%%%% the `[' of OPTIONAL ARGUMENTS must immediately follow \Lsciex. %%%%%%
+%%%% redefinition of \@ifnextchar that does NOT ignore spaces %%%%%%%%%%%
+\def\my@ifnextchar#1#2#3{\let\reserved@d=#1%
+ \def\reserved@a{#2}\def\reserved@b{#3}%
+ \futurelet\@let@token\my@ifnch}
+\def\my@ifnch{\ifx\@let@token\@sptoken%
+ % \let\reserved@c\@xifnch
+ \let\reserved@c\reserved@b%
+ \else
+ \ifx\@let@token\reserved@d%
+ \let\reserved@c\reserved@a%
+ \else
+ \let\reserved@c\reserved@b%
+ \fi\fi
+ \reserved@c}% cf. definition of \@ifnextchar in latex2e.ltx %%
+%
+%%%%%%%%%%%%%% PROCESSING OF GRAMMATICALITY JUDGMENTS %%%%%%%%%%%%%
+\newtoks\CollectTokens
+\newcommand\AddInfo[1]{\expandafter\expandafter\expandafter
+ \CollectTokens\expandafter{%
+ \the\CollectTokens#1}}
+\def\testforgramm{\GTest{}{\printGramm}}
+\def\printGramm{\makebox[0pt][r]{\normalfont\the\CollectTokens}\ignorespaces}
+\def\GTest#1#2{%
+ \def\TestForGramm{\CollectTokens={}%
+ \@ifnextchar *{\AddInfo{*}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar ?{\AddInfo{\char63}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar \#{\AddInfo{\#}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar \%{\AddInfo{\%}\@firstoftwo\recTestForGramm}%
+ {#1}}}}}%
+ \def\recTestForGramm{\@ifnextchar *{\AddInfo{*}\@firstoftwo%
+ \recTestForGramm}{%
+ \@ifnextchar ?{\AddInfo{\char63}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar \#{\AddInfo{\#}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar \%{\AddInfo{\%}\@firstoftwo\recTestForGramm}%
+ {#2}}}}}%
+ \TestForGramm}
+%
+%%%%%%%%%%%%%%%% SUBLISTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifunembedded
+\newcommand{\SubExlabel}{\SubExLBr\Exalph{SubExNo}\SubExRBr}
+\def\a.{\ifindex\firstwordtrue\fi
+ \ifnum\theExDepth=0 \unembeddedtrue
+ \trivex.\fi
+ \stepcounter{ExDepth}%refstepcounter replaced
+ \begin{list}{\makebox[\labelwidth][l]{%
+ \ifnum\theExDepth=1 \SubExLBr\Exalph{ABC}\SubExRBr%
+ \else
+ \ifnum\theExDepth=2 %
+ \ifdim\currentlabel<\lessthanthousand%
+ \ifalignSubEx
+ \llap{\hbox to \alignSubExnegindent{\ifunembedded%
+ \SubExLBr\Exalph{SubExNo}\SubExRBr
+ \else\SubExlabel\fi\hss}}%
+ \else\SubExlabel\fi%
+ \else\ifunembedded%
+ \SubSubExLBr\Exroman{SubExNo}\SubSubExRBr
+ \else\SubExlabel\fi\fi
+ \else
+ \ifnum\theExDepth=3 %
+ \if@noftnote%\ifunembedded\mbox{$\bullet$!}\else
+ \SubSubExLBr\Exroman{SubSubExNo}\SubSubExRBr
+ %\fi
+ \else\Exarabic{SubSubExNo}\SubSubExRBr\fi
+ \fi\fi\fi}}%
+ {\labelsep\z@
+ \ifnum\theExDepth=2\topsep .3\Extopsep\else\topsep 0pt\fi
+ \parsep\z@\itemsep\z@
+ \ifnum\theExDepth=1 %
+ \usecounter{ABC}%
+ \settowidth{\currentlabel}{\ExLBr\Exarabic{ExNo}\ExRBr}%
+ \listdecl%
+ \else
+ \ifnum\theExDepth=2 %
+ \usecounter{SubExNo}%
+ \ifalignSubEx\ifdim\currentlabel<\lessthanthousand%
+ \leftmargin\z@\else\leftmargin=\SubExleftmargin\fi%
+ \else\leftmargin=\SubExleftmargin\fi%
+ \else
+ \ifnum\theExDepth=3 \usecounter{SubSubExNo}\fi
+ \leftmargin=\SubSubExleftmargin%
+ \fi
+ \labelwidth=\leftmargin%
+ \fi}%
+ \ifnum\theExDepth=1 \setlength{\Exlabelwidth}{4em}\fi%
+ %previous line added 2000/12/22
+ \b.}
+%
+%%%%%%%%%%%%%%%%% ITEMS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\newExitem[#1]{\ifnum\theExDepth=2 %
+ \ifdim\currentlabel<\lessthanthousand%
+ \ifalignSubEx
+ \item[\llap{\hbox to \alignSubExnegindent{#1\hfill}}]%
+ \else
+ \item[#1\hfill]\fi
+ \else\item[#1\hfill]%
+ \fi
+ \else\item[#1\hfill]%
+ \fi\testforgramm}
+\let\oldb=\b
+\DeclareRobustCommand{\b}{\@ifnextchar.{\newb}{\oldb}}
+\def\newb.{\ifindex\firstwordtrue\fi
+ \my@ifnextchar[{\newExitem}{\item\testforgramm}}
+\let\oldc=\c
+\DeclareRobustCommand{\c}{\@ifnextchar.{\b}{\oldc}}
+\let\oldd=\d
+\DeclareRobustCommand{\d}{\@ifnextchar.{\b}{\oldd}}
+\let\e=\b
+\let\f=\b
+\def\Lsciz.{\end{list}\addtocounter{ExDepth}{-1}}
+%
+%%%%%%%%%%%%%%%%%%%% INDEXED BRACKETS %%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifindex
+\newif\iffirstword
+\def\I#1#2 {#1\labelBr#2 }
+\def\Lsciexi.#1\par{\indextrue\Lsciex.#1 | blabla | \indexfalse\par}
+\def\ai.#1 \par{\indextrue
+ \a.#1 | blabla |
+ \par
+ \indexfalse}
+\def\finish|#1|{\ExEnd}
+\newcommand{\testGrAndBr}{\GTest{}{\printGramm\checkforbr}}
+\def\doaword#1 {%
+ \iffirstword\firstwordfalse\expandafter\testGrAndBr\fi%
+ #1
+ \ifgloss\expandafter\checkforbrorstar\else
+ \expandafter\lookforwords\fi}
+\newcommand{\checkforbrorstar}{\GTest{\checkforbr}{\printGramm\checkforbr}}
+\newcommand{\lookforwords}{\@ifnextchar]{\firstwordfalse\@aber}%
+ {\@ifnextchar[{\firstwordfalse\@aber}%
+ {\@ifnextchar|{\firstwordfalse\finish}{\doaword}}}}
+\def\labelBr#1 {\mbox{$\hspace{.05em}_{\mbox{\scriptsize\rm#1}}$} }
+\newcommand{\jetzt}{\my@ifnextchar[{\@aber}{\my@ifnextchar]{\@aber}%
+ {\@schnell}}}
+\def\@aber#1#2 {#1\jetzt#2 }
+\def\@schnell#1 {\labelBr#1 \lookforwords}
+\newcommand{\checkforbr}{\@ifnextchar[{\recurseonbr}%
+ {\@ifnextchar]{\recurseonbr}{}}}
+\newcommand{\recurseonbr}{\my@ifnextchar[{\stripoffbr}%
+ {\my@ifnextchar]{\stripoffbr}{\labelBr}}}
+\def\stripoffbr#1#2 {\textrm{#1}\recurseonbr#2 }%\rm changed to \textrm
+%
+%%%%%%%%%%%%%%%%%%%% GLOSSES %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifgloss
+%%% modification of cgloss4e %%%%
+\def\getwords(#1,#2)#3 #4\\% #1=linebox, #2=\each, #3=1st word, #4=remainder
+ {\setbox#1=\vbox{\hbox{#2\strut\ifindex\expandafter\checkforbr\fi#3 }%
+ \unvbox#1}%
+ \def\more{#4}%
+ \ifx\more\empty\let\more=\donewords
+ \else\let\more=\getwords
+ \fi
+ \more(#1,#2)#4\\%
+ }
+\def\gl@stop{{\hskip -\glossglue}\unhbox\gline\end{flushleft}%
+ \global\glossfalse%
+ \ifindex\expandafter\lookforwords\fi {} }
+%%%
+\newcommand{\newgll}{\glosstrue\GTest{\gll}{\gll\printGramm}}
+\def\exg.{\my@ifnextchar[{\newglossex}{\Lsciex.\newgll}}
+\def\newglossex[#1]{\Lsciex.[#1]\newgll}
+\def\ag.{\my@ifnextchar[{\newglossa}{\a.\newgll}}
+\def\newglossa[#1]{\a.[#1]\newgll}
+\def\newglossitem[#1]{\ifalignSubEx%\ifdim\currentlabel<\lessthanthousand%
+ \item[\llap{\hbox to \alignSubExnegindent{#1\hfill}}]%
+ \else
+ \item[#1\hfill]%
+ \fi
+\newgll}
+\def\bg.{\my@ifnextchar[{\newglossitem}{\item\newgll}}
+\def\cg.{\bg.}
+\def\dg.{\bg.}
+% \def\eg.{\bg.}
+% \def\fg.{\bg.}
+%
+%%%%%%%%%%%%%%%%%%%% GLOSSES WITH INDEXED BRACKETS %%%%%%%%%%%%
+\def\exig.{\my@ifnextchar[{\newglossexi}{\Lsciexi.\newgll}}
+\def\newglossexi[#1]{\Lsciexi.[#1]\newgll}
+\let\exgi=\exig
+\def\aig.{\my@ifnextchar[{\newglossai}{\ai.\newgll}}
+\def\newglossai[#1]{\ai.[#1]\newgll}
+\let\agi=\aig
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CROSS REFERENCES %%%%%%%%%%%%%%
+\newcounter{tmpaEx}
+\newif\ifNoFnRef
+\newcommand{\Next}{\if@noftnote\NoFnReftrue\else\NoFnReffalse\fi
+ \copyExNo\stepcounter{tmpaEx}\printExNo}%refstepcounter replaced
+\newcommand{\NNext}{\if@noftnote\NoFnReftrue\else\NoFnReffalse\fi
+ \copyExNo\addtocounter{tmpaEx}{2}\printExNo}
+\newcommand{\TextNext}{\NoFnReftrue\copyExNo\stepcounter{tmpaEx}\printExNo}%refstepcounter replaced
+\newcommand{\Last}{\if@noftnote\NoFnReftrue\else
+ \ifnum\Exarabic{FnExNo}=0 \NoFnReftrue\else\NoFnReffalse\fi
+ \fi
+ \copyExNo\printExNo}
+\newcommand{\LLast}{\if@noftnote\NoFnReftrue\copyExNo%
+ \addtocounter{tmpaEx}{-1}%
+ \else
+ \ifnum\Exarabic{FnExNo}=0 \NoFnReftrue\copyExNo%
+ \addtocounter{tmpaEx}{-1}%
+ \else
+ \ifnum\Exarabic{FnExNo}=1 \NoFnReftrue\copyExNo%
+ \else
+ \NoFnReffalse\copyExNo\addtocounter{tmpaEx}{-1}%
+ \fi\fi\fi
+ \printExNo}
+\newcommand{\copyExNo}{\strut\ifNoFnRef\setcounter{tmpaEx}{\value{ExNo}}%
+ \def\thetmpaEx{\Exarabic{tmpaEx}}%
+ \else
+ \setcounter{tmpaEx}{\value{FnExNo}}\def\thetmpaEx{\Exroman{tmpaEx}}%
+ \fi}
+\def\complexExNo[#1]{\hbox{\if@noftnote\theExLBr\else\theFnExLBr\fi%
+ \thetmpaEx\firstrefdash#1\if@noftnote\theExRBr
+ \else\theFnExRBr\fi}}%hard wired bracket changed to \theExBr in version 4.0
+\newcommand{\printExNo}{\@ifnextchar[{\complexExNo}{%
+ \if@noftnote\theExLBr\else\theFnExLBr\fi\thetmpaEx%
+ \if@noftnote\theExRBr\else\theFnExRBr\fi\xspace}}%hard
+ %wired bracket changed to \theExBr in version 4.0
+%%%%%%%%%%%%%%%%%%%%%%%%%%% compatibility with beamer class %%%%%%%%%%%%%%%%%%%%%%%%%%
+% This code has now been commented out in v 4.2 since it now causes problems with beamer
+% The original problem it solved was probably a beamer issue, not a linguex issue.
+% Users with old versions of beamer may need this code so let's leave it in the source for the moment
+%
+%
+%\@ifundefined{usetheme}{}{\AtBeginDocument{\def\label#1{\strut%strut added to definition
+%\@bsphack
+% \protected@write\@auxout{}%
+% {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%
+%\@esphack}}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%% END %%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput
diff --git a/macros/xetex/latex/langsci/langsci-optional.sty b/macros/xetex/latex/langsci/langsci-optional.sty
new file mode 100644
index 0000000000..a835d260af
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-optional.sty
@@ -0,0 +1,441 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: langsci-optional.sty
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: Date: 2019-03-31 13:12 UTC
+%% Purpose: This file contains useful, but not essential,
+%% macros for books using langscibook.cls
+%% Language: LaTeX
+%% Licence:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+% Heiko Oberdiek
+% http://tex.stackexchange.com/questions/136644/vertical-space-in-interaction-with-figure-center-environment
+\newcommand{\oneline}[1]{%
+ \begingroup
+ \sbox0{\ignorespaces#1\unskip}%
+ \leavevmode
+ \ifdim\wd0>\linewidth
+ \hbox to\linewidth{%
+ \hss\resizebox{\linewidth}{!}{\copy0 }\hss
+ }%
+ \else
+ \copy0 %
+ \fi
+ \endgroup
+}
+
+\newcommand{\centerfit}[1]{%
+ \begingroup
+ \sbox0{\ignorespaces#1\unskip}%
+ \leavevmode
+ \ifdim\wd0>\linewidth
+ \hbox to\linewidth{%
+ \hss\resizebox{\linewidth}{!}{\copy0 }\hss
+ }%
+ \else
+ \centerline{\copy0 }%
+ \fi
+ \endgroup
+}
+
+% Helps to fit verbatim onto one line:
+% http://tex.stackexchange.com/questions/140593/shrinking-verbatim-text/
+\usepackage{fancyvrb}
+\newenvironment{fitverb}
+ {\SaveVerbatim{rlwv}}
+ {\endSaveVerbatim
+ \sbox0{\BUseVerbatim{rlwv}}
+ \begingroup\center % don't add indentation
+ \ifdim\wd0>\linewidth
+ \resizebox{\linewidth}{!}{\copy0}%
+ \else
+ \copy0
+ \fi
+ \endcenter\endgroup}
+
+\VerbatimFootnotes
+
+
+% http://tex.stackexchange.com/questions/73464/inserting-rtl-text-in-verbatim-environment?rq=1
+% verbatim with RTL text
+
+%\DefineVerbatimEnvironment{rtlverbatim}{Verbatim}{commandchars=+\[\]}
+
+
+\newcommand{\ispackage}[1]{\if@noftnote%
+\is{package!{\scshape #1}}%
+\else%
+\is{package!{\scshape #1}|fn{*}}%
+\fi%
+}
+
+% breaks the index
+%\usepackage{doc}
+
+
+\newcommand{\ispackageb}[1]{
+\is{package!\texttt{#1}|(}
+}
+\newcommand{\ispackagee}[1]{
+\is{package!\texttt{#1}|)}
+}
+
+\newcommand{\isoption}[1]{\if@noftnote%
+\is{option!\texttt{#1}}%
+\else%
+\is{option!\texttt{#1}|fn{*}}%
+\fi%
+}
+
+\newcommand{\iscommand}[1]{\if@noftnote%
+\index{#1@{\ttfamily $\backslash$#1}}%
+\else%
+\is{{#1@\ttfamily $\backslash$#1}|fn{*}}%
+\fi%
+}
+
+
+\newcommand\displaycmd[2]{%
+ \DescribeMacro{#2}\centerline{\cmd{#1}}}
+
+% \mex considered evil, as we need explicit reference to examples in XML
+% % The following allows for a quick reference to following or preceeding examples (\mex{1}) or
+% % (\mex{0}) but also (\mex{-1})
+% % taken from covington.sty (check)
+% \newcounter{lsptempcnt}
+%
+% \newcommand{\mex}[1]{\setcounter{lsptempcnt}{\value{equation}}%
+% \addtocounter{lsptempcnt}{#1}%
+% \arabic{lsptempcnt}}%
+
+\newcommand{\fitpagewidth}[1]{
+ \resizebox{\textwidth}{!}{#1}
+}
+
+
+
+%add intonation bars over morphemes or words
+\newcommand{\intline}[2]{\settowidth{\LSPTmp}{#2}\raisebox{#1pt}{\parbox{.1mm}{\rule{\LSPTmp}{.5pt}}}#2}
+
+%add rising or falling intonation
+\newcommand{\dline}[3]{%
+ \parbox{.1mm}{\begin{picture}(0,0)%
+ \put(0,#1){\line(#2,-1){#3}}%
+ \end{picture}%
+ }%
+}
+
+%% rotated table headers
+% create lengths
+\newlength{\rotheight}
+\newlength{\rotwidth}
+
+\newcommand{\rotatehead}[2][1cm]{
+%width is the width of the parbox
+%height is the buffer space used to vertically stretch the headere
+\setlength{\rotwidth}{#1}
+\setlength{\rotheight}{.85\rotwidth}
+ \begin{rotate}{33}~ %nbsp shifts the content away from the line underneath
+ \parbox{\rotwidth}{\raggedright #2}
+ \end{rotate}%
+ \rule{0pt}{\rotheight} %add zero width rule to get the right table height
+}
+
+% example metadata
+
+\newcommand{\langinfo}[3]{{\upshape #1\il{#1}~(%
+\ifx\\#2\\%
+\else%
+#2;
+\fi%
+#3)}\nopagebreak[4]\ignorespaces}
+
+\newcommand{\langinfoverb}[3]{{\upshape #1~(% langinfo without index marker
+\ifx\\#2\\%
+\else%
+#2;
+\fi%
+#3)}\nopagebreak[4]\ignorespaces}
+
+
+\newcommand{\fittable}[1]{\resizebox{\textwidth}{!}{#1}}
+
+
+% integrate see also in multiple indexes
+\def\igobble#1 {}
+\newcommand{\langsciseealso}{\par\addvspace{.1\baselineskip}\hspace*{1.4cm}\hangindent=1.4cm\seealso}
+\newcommand{\ilsa}[2]{\il{#1@\igobble | langsciseealso{#2}}}
+\newcommand{\issa}[2]{\is{#1@\igobble | langsciseealso{#2}}}
+\newcommand{\iasa}[2]{\ia{#1@\igobble | langsciseealso{#2}}}
+
+\usepackage{tabularx}
+\usepackage{array}
+\newenvironment{widetabular}[1][1]
+ {\tabularx{#1\textwidth}}
+ {\endtabularx}
+
+
+\newcommand{\citetv}[1]{\citeauthor{#1} (\citeyear*{#1} [this volume])}
+\newcommand{\citepv}[1]{(\citealt{#1} [this volume])}
+
+
+% Vowel chart tikz commands
+\newcommand{\aeiou}{%
+ \node at (1.5,0) (a) {a};
+ \node at (0,3) (i) {i};
+ \node at (3,3) (u) {u};
+ \node at (0.5,1.5) (e) {e};
+ \node at (2.5,1.5) (o) {o};
+}
+\newcommand{\aeiouEO}{%
+ \node at (1.5,0) (a) {a};
+ \node at (0,3) (i) {i};
+ \node at (3,3) (u) {u};
+ \node at (0.25,2) (e) {e};
+ \node at (2.75,2) (o) {o};
+ \node at (0.75,1) (E) {ε};
+ \node at (2.25,1) (O) {É”};
+}
+
+%no hyphenation left alingned
+\newcolumntype{Q}{>{\raggedright\arraybackslash}X}
+%no hyphenation right aligned
+\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}
+%no hyphenation centered
+\newcolumntype{C}{>{\centering\arraybackslash}X}
+%no hyphenation fixed width
+\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
+%no hyphenation centered fixed width
+\newcolumntype{Z}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
+%no hyphenation right aligned fixed width
+\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
+
+\newcolumntype{d}[1]{D{.}{.}{#1}}
+\newcommand{\xxref}[2]{(\ref{#1}--\ref{#2})}
+
+
+% Underlining in gb4e-example Environments. Usual underlining commands that span multiple words do not work, because gb4e would parse it as one word.
+% Example: \underline{My example phrase} should become \ulp{My}{~~~~~} \ulp{example}{~~~~~} \ule{phrase}
+% Note: The 2nd Argument of the \ulp command is filled in by experience - if you are not familiar with the command, you should experiment a bit. Usually, five tildes are enough, but be sure to check the outcome.
+% \ule is meant to be the last word in a phrase that is underlined. Therefore, \ule does not have an extra length.
+\usepackage[normalem]{ulem}
+\usepackage{calc}
+\newlength{\fulllength}
+\newcommand{\ulp}[2]{%#1: stuff to underline, #2: extra length to skip the whitespace between to components
+ \settowidth{\LSPTmp}{#1}%
+ % several boxes are need to assure that words with ascending and descending letters are underlined at the same
+ % level, leading to the impression of a continuous stroke
+ \parbox[t]{\LSPTmp}{ %restrict first box to the length of first argument
+ \settowidth{\fulllength}{\parbox{\LSPTmp}{~}\parbox{#2mm}{~}} %inner box is larger than outerbox, so underlining will extend beyond length of outer box
+ % align parbox to bottom
+ % | mbox to prevent hyphenation
+ \uline{\parbox[b]{\fulllength}{\mbox{#1}}}
+ }
+}
+
+\newcommand{\ule}[1]{%#1: stuff to underline, no extra length
+ \ulp{#1}{0}
+ }
+
+
+
+
+\newcommand{\longrule}{\rule{1em}{.3pt}}
+\usepackage{colortbl}
+\newcommand{\shadecell}{\cellcolor{black!20!white}}
+
+% vertical alignment of numbered example
+\newcommand{\eabox}[2][-.7\baselineskip]{
+ \ea
+ \parbox[t]{.8\textwidth}{
+ \vspace{#1}
+ #2
+ }
+ \z
+}
+\newcommand{\exbox}[2][-.7\baselineskip]{
+ \ex
+ \parbox[t]{.8\textwidth}{
+ \vspace{#1}
+ #2
+ }
+}
+
+%fix \verb error in biblatex
+\makeatletter
+\def\blx@maxline{77}
+\makeatother
+
+
+\newcommand{\twodigitexamples}{\exewidth{(23)}}
+\newcommand{\threedigitexamples}{\exewidth{(234)}}
+\newcommand{\fourdigitexamples}{\exewidth{(2345)}}
+
+\newcommand{\rephrase}[2]{{\color{yellow!30!black}#2}\todo{replaced `#1'}}
+
+\newcommand{\missref}[2][]{\todo[#1]{missing reference #2}}
+
+\newenvironment{indentquote}[1]%
+ {\list{}{\leftmargin=#1\rightmargin=0pt}\item[]}%
+ {\endlist}
+
+
+\newcommand{\phonrule}[3]{#1 $\to$ #2 / #3}
+\newcommand{\featurebox}[1]{$\left[\begin{tabular}{>{\scshape}c}#1\end{tabular}\right]$}
+
+
+\definecolor{RED}{cmyk}{0.05,1,0.8,0}
+
+%connect two elements with lines
+\newcommand{\connect}[2]{%
+ \tikz[overlay,remember picture]{%
+ \draw[-,thick] (#1) -- (#2) node {}; %
+ }
+}
+
+\newcommand{\examplesroman}{
+ \let\eachwordone=\upshape
+ \exfont{\upshape}
+}
+\newcommand{\examplesitalics}{
+ \let\eachwordone=\itshape
+ \exfont{\itshape}
+}
+
+\newenvironment{modquote}[1][6mm]% slightly less indented quote for hyphenation issues
+ {\list{}{\leftmargin=#1\rightmargin=0mm}\item[]}%
+ {\endlist}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%% Experimental feature for pointing out moving things. %%%%
+%%%% Buggy? Write to: kopeckyf@hu-berlin.de %%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usetikzlibrary{arrows,arrows.meta}
+\newcounter{lsConnectTempGroup}
+\NewDocumentCommand\ConnectTail{m O{\thelsConnectTempGroup}}{%read: mandatory arg #1, optional argument #2 with the current group counter as its default value.
+ \edef\lsConnectTempPosition{#2}%\edef expands the argument, which means reading the current value of the counter.
+ {\tikz[remember picture,
+ anchor=base, baseline,
+ inner xsep=0pt,
+ inner ysep=-.5ex]\node (ConnectTempTail\lsConnectTempPosition) {\strut{}#1};}%\strut for baseline
+}
+\NewDocumentCommand\ConnectHead{s O{1ex} m O{\thelsConnectTempGroup}}{%read: star #1, optional argument (distance of arrow from text= std. one x-height), mand. arg. (node text), optional argument #2, the group specifier
+ \edef\lsConnectTempPosition{#4}%
+ \stepcounter{lsConnectTempGroup}%We have a match, let's update the group counter
+ {\tikz[remember picture,
+ anchor=base, baseline,
+ inner xsep=0pt,
+ inner ysep=-.5ex] \node (ConnectTempHead\lsConnectTempPosition) {\strut{}#3};%
+ \tikz[remember picture] \draw[% we have a tail and a head, let's bring them together
+ \IfBooleanTF#1{{Triangle[]}-}{-{Triangle[]}},% Check if the starred version is used. The starred version is right->left, the normal version left->right
+ overlay] (ConnectTempTail\lsConnectTempPosition.south) -- ++(0,-#2) -| (ConnectTempHead\lsConnectTempPosition.south);
+ }%
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%% Extras for use in (some) edited volumes %%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% for chapters without abstract
+\newcommand{\noabstract}{\vspace*{-2\baselineskip}}
+
+% for papers that have appendices, a replacement for \appendix.
+% Usage: \begin{paperappendix} \section{Title} ... \end{paperappendix
+% Will result in "Appendix A: Title"
+%
+\newcounter{paperappendixsection}
+\newenvironment{paperappendix}{%
+ \let\oldthesection\thesection%
+ \let\oldsectionformat\sectionformat%
+ \setcounter{paperappendixsection}{0}%
+ \def\thesection{\Alph{paperappendixsection}}%
+ \def\sectionformat{\stepcounter{paperappendixsection}\appendixname\ \thesection:\enskip}%
+ }{%
+ \let\thesection\oldthesection%
+ \let\sectionformat\oldsectionformat}
+
+%%%%%%%%%%%%%%%%%%%%
+%%%% %%%%%
+%%%% PLOTS %%%%%
+%%%% %%%%%
+%%%%%%%%%%%%%%%%%%%%
+
+% \newcommand{\barplot}[4]{%
+% \begin{tikzpicture}
+% \begin{axis}[
+% xlabel={#1},
+% ylabel={#2},
+% axis lines*=left,
+% width = \textwidth,
+% height = .3\textheight,
+% nodes near coords,
+% xtick=data,
+% x tick label style={},
+% ymin=0,
+% symbolic x coords={#3},
+% ]
+% \addplot+[ybar,lsRichGreen!80!black,fill=lsRichGreen] plot coordinates {
+% #4
+% };
+% \end{axis}
+% \end{tikzpicture}
+% }
+% \usepackage{pgfmath,pgfplotstable}
+% \newcommand{\langsciplot}[2]{%% experimental
+% \pgfplotstablegetcolsof{#1.csv}
+% \pgfmathsetmacro{\langscicsvlength}{\pgfplotsretval-1}
+% \begin{tikzpicture}[trim axis right,trim axis left]
+% \begin{axis}[
+% #2,
+% xtick=data,
+% axis lines*=left,
+% nodes near coords,
+% ymin=0,
+% width=\textwidth]
+% \foreach \i in {0,...,\langscicsvlength} {
+% \addplot[
+% /pgf/number format/read comma as period
+% ] table [x index={0},y index={\i}] {#1.csv};
+% }
+% \end{axis}
+% \end{tikzpicture}
+% }
+
+\newcommand{\LSfrac}[1]{{\addfontfeature{Fractions=On}#1}}% Use the fraction glyphs shipped with Libertine. The argument is n/m, where n and m are integers
+
+
+% Provide a raised tie bar for diphthongs and affricates with ascenders
+\newcommand{\hitie}[2]{%
+\mbox{#1}%
+\raisebox{.5mm}{%
+Í¡%
+}%
+\mbox{#2}%
+}
+
+
+\newcommand{\hitier}[3][.7]{%
+\mbox{#2}%
+\hspace*{#1mm}%
+\raisebox{.5mm}{%
+Í¡%
+}%
+\hspace*{-#1mm}%
+\mbox{#3}%
+}
+
+
+\newcommand{\hitiel}[3][.7]{%
+\mbox{#2}%
+\hspace*{-#1mm}%
+\raisebox{.5mm}{%
+Í¡%
+}%
+\hspace*{#1mm}%
+\mbox{#3}%
+}
+
+
diff --git a/macros/xetex/latex/langsci/langsci-series.def b/macros/xetex/latex/langsci/langsci-series.def
new file mode 100644
index 0000000000..fd62490e84
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-series.def
@@ -0,0 +1,167 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Series information:
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\newcommand{\algad}{algad}
+\newcommand{\calseries}{calseries}
+\newcommand{\cam}{cam}
+\newcommand{\cib}{cib}
+\newcommand{\cfls}{cfls} %Conceptual Foundation of the Language Sciences
+\newcommand{\classics}{classics}
+\newcommand{\cmle}{cmle} %Computational Models of Language Evolution
+\newcommand{\eotms}{eotms}
+\newcommand{\eotmsig}{eotmsig}
+\newcommand{\eurosla}{eurosla}
+\newcommand{\hpls}{hpls}
+\newcommand{\loc}{loc}
+\newcommand{\lv}{lv} %Language Variation
+\newcommand{\mi}{mi}
+\newcommand{\nc}{nc} %Niger Congo
+\newcommand{\ogs}{ogs} %Open Generative Syntax
+\newcommand{\osl}{osl} %Open Slavic Linguistics
+\newcommand{\pmwe}{pmwe} %Phraseology and Multi-Word Expressions
+\newcommand{\scl}{scl}
+\newcommand{\sidl}{sidl}
+\newcommand{\silp}{silp} %Studies in Laboratory Phonology
+\newcommand{\tbls}{tbls} %Textbooks in Language Sciences
+\newcommand{\tgdi}{tgdi} %Topics at the Grammar-Discourse Interface
+\newcommand{\tmnlp}{tmnlp}
+
+\newcommand{\dummyseries}{dummyseries}
+\newcommand{\guidelines}{guidelines}
+\newcommand{\lsSeriesFontColor}{white}
+
+\AtBeginDocument{
+\ifx\lsSeries\algad
+ \newcommand{\lsSeriesTitle}{African Language Grammars \newlineCover and Dictionaries~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsLightOrange}
+\fi
+\ifx\lsSeries\calseries %\cal is already taken as a command
+ \newcommand{\lsSeriesTitle}{Contemporary African Linguistics~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsMidWine}
+ \renewcommand{\lsISSN}{2511-7726}
+\fi
+\ifx\lsSeries\cam
+ \newcommand{\lsSeriesTitle}{Contact and Multilingualism}
+ \newcommand{\lsSeriesColor}{lsRed}
+ \renewcommand{\lsISSN}{}
+\fi
+
+\ifx\lsSeries\cib
+ \newcommand{\lsSeriesTitle}{Current Issues in Bilingualism~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsLightGreen}
+% \renewcommand{\lsISSN}{}
+\fi
+\ifx\lsSeries\cfls
+ \newcommand{\lsSeriesTitle}{Conceptual Foundations of \newlineCover Language Science~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsNightGreen}
+ \renewcommand{\lsISSN}{2363-877X}
+\fi
+\ifx\lsSeries\classics
+ \newcommand{\lsSeriesTitle}{Classics in Linguistics~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{black}
+ \renewcommand{\lsISSN}{2366-374X}
+\fi
+\ifx\lsSeries\cmle
+ \newcommand{\lsSeriesTitle}{Computational Models of Language Evolution~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsNightBlue}
+ \renewcommand{\lsISSN}{2364-7809}
+\fi
+\ifx\lsSeries\eotms
+ \newcommand{\lsSeriesTitle}{Empirically Oriented Theoretical \newlineCover Morphology and Syntax~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsMidBlue}
+ \renewcommand{\lsISSN}{2366-3529}
+\fi
+\ifx\lsSeries\eotmsig
+ \newcommand{\lsSeriesTitle}{Implemented Grammars~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsMidBlue}
+\fi
+\ifx\lsSeries\eurosla
+ \newcommand{\lsSeriesTitle}{Eurosla Studies~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsMidOrange}
+ \renewcommand{\lsISSN}{2626-2665}
+\fi
+\ifx\lsSeries\hpls
+ \newcommand{\lsSeriesTitle}{History and Philosophy of the Language Sciences~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsSoftGreen}
+\fi
+\ifx\lsSeries\loc
+ \newcommand{\lsSeriesTitle}{Languages of the Caucasus~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsLightWine}
+\fi
+\ifx\lsSeries\lv
+ \newcommand{\lsSeriesTitle}{Language Variation~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsDarkWine}
+ \renewcommand{\lsISSN}{2366-7818}
+\fi
+\ifx\lsSeries\mi
+ \newcommand{\lsSeriesTitle}{Morphological Investigations~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsDarkGreenTwo}
+ \renewcommand{\lsISSN}{2567-742X}
+\fi
+\ifx\lsSeries\nc
+ \newcommand{\lsSeriesTitle}{Niger-Congo Comparative Studies~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsRed}
+ \renewcommand{\lsISSN}{2627-0048} %online
+% \renewcommand{\lsISSN}{2626-3513} %print
+\fi
+\ifx\lsSeries\ogs
+ \newcommand{\lsSeriesTitle}{Open Generative Syntax~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsDarkGreenOne}
+ \renewcommand{\lsISSN}{2568-7336}
+\fi
+\ifx\lsSeries\osl
+ \newcommand{\lsSeriesTitle}{Open Slavic Linguistics~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsMidGreen}
+ \renewcommand{\lsISSN}{2627-8332} % Online
+ %\renewcommand{\lsISSN}{2627-8324}% (Print)
+\fi
+\ifx\lsSeries\pmwe
+ \newcommand{\lsSeriesTitle}{Phraseology and Multiword Expressions~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsLightBlue}
+ \renewcommand{\lsISSN}{2625-3127}
+\fi
+\ifx\lsSeries\scl
+ \newcommand{\lsSeriesTitle}{Studies in Caribbean Languages~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsDarkOrange}
+ \renewcommand{\lsISSN}{2627-1834} %online
+ \renewcommand{\lsISSN}{2627-1893} %Print
+\fi
+\ifx\lsSeries\sidl
+ \newcommand{\lsSeriesTitle}{Studies in Diversity Linguistics~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsRichGreen}
+ \renewcommand{\lsISSN}{2363-5568}
+\fi
+\ifx\lsSeries\silp
+ \newcommand{\lsSeriesTitle}{Studies in Laboratory Phonology~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsLightWine}
+ \renewcommand{\lsISSN}{2363-5576}
+\fi
+\ifx\lsSeries\tbls
+ \newcommand{\lsSeriesTitle}{Textbooks in Language Sciences~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsYellow}
+ \renewcommand{\lsISSN}{2364-6209}
+\fi
+\ifx\lsSeries\tgdi
+ \newcommand{\lsSeriesTitle}{Topics at the Grammar-Discourse Interface~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsMidDarkBlue}
+ \renewcommand{\lsISSN}{2567-3335}
+\fi
+\ifx\lsSeries\tmnlp
+ \newcommand{\lsSeriesTitle}{Translation and Multilingual Natural \newlineCover Language Processing~\lsSeriesNumber}
+ \newcommand{\lsSeriesColor}{lsDarkBlue}
+ \renewcommand{\lsISSN}{2364-8899}
+\fi
+\ifx\lsSeries\dummyseries
+ \newcommand{\lsSeriesTitle}{~}
+ \newcommand{\lsSeriesColor}{lsNightGreen}
+\fi
+\ifx\lsSeries\guidelines
+ \newcommand{\lsSeriesTitle}{Language Science Press Guidelines}
+ \newcommand{\lsSeriesColor}{lsGuidelinesGray}
+ \renewcommand{\lsCoverFontColor}{black}
+\fi
+}
diff --git a/macros/xetex/latex/langsci/langsci-subparts.sty b/macros/xetex/latex/langsci/langsci-subparts.sty
new file mode 100644
index 0000000000..6951a0d1dc
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-subparts.sty
@@ -0,0 +1,21 @@
+% add an additional section level between part and chapter.
+\usepackage[newparttoc]{titlesec}
+\usepackage{titletoc}
+
+% \titleformat{\part}[display]{\normalfont\Huge\bfseries}%
+% {\partname~\thepart}{1pc}{\Huge\bfseries}
+
+\titleclass{\subpart}{page}[\part]
+
+\newcounter{subpart}[part]
+% \numberwithin{chapter}{subpart}
+\renewcommand{\thesubpart}{\thepart-\Alph{subpart}}
+\newcommand{\subpartname}{Subpart}
+
+\titleformat{\subpart}[display]{\vspace*{6cm}\centering\normalfont\Large\bfseries}%
+{\subpartname~\thesubpart~}{1pc}{\LARGE\bfseries}
+\titlespacing{\subpart}{0pt}{0pt}{0pt}
+
+\titlecontents{subpart}[0pt]{\addvspace{1pc}\normalfont\bfseries}%
+{\thecontentslabel\enspace ---\enspace}%
+{\normalfont\bfseries}{\hspace{2em plus 1fill}\contentspage}
diff --git a/macros/xetex/latex/langsci/langsci-tbls.sty b/macros/xetex/latex/langsci/langsci-tbls.sty
new file mode 100644
index 0000000000..3254843840
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-tbls.sty
@@ -0,0 +1,207 @@
+%%% MDFRAMED STYLES DEFS %%%
+
+\usepackage[framemethod=tikz]{mdframed}
+\mdfsetup{skipabove=2\baselineskip,skipbelow=2\baselineskip,frametitlefont=\sffamily\bfseries\Large, needspace=4\baselineskip, splittopskip=1.5\baselineskip}
+\mdfsetup{apptotikzsetting={\tikzset{mdfbackground/.append style={draw=none}}}}
+\AtEndPreamble{% Check if the external library from tikz has been loaded in the preamble. If so, skip externalising for all mdframed boxes.
+ \ifcsname tikz@library@external@loaded\endcsname
+ \mdfsetup{settings={\tikzexternaldisable},endcode={\tikzexternalenable}}
+ \fi
+}
+\newcommand{\langscisymbol}{book}
+\newlength{\trennlinie}
+\setlength{\trennlinie}{.8mm}
+\newcommand{\tblsboxcolor}{black}
+\newcommand{\tblslinecolour}{lsYellow}
+
+\mdfdefinestyle{yellowexercise}{%
+ everyline=true,
+ ignorelastdescenders=true,
+ middlelinewidth=1.5pt,linecolor=\tblslinecolour,outerlinewidth=5mm,
+ innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=0,
+ frametitleaboveskip=15mm, frametitlebelowskip=10mm,frametitlerule=false, repeatframetitle=false,
+ firstextra={\node[xshift=5mm,right,draw=\tblslinecolour, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblslinecolour}\includegraphics[width=10mm]{langsci/graphics/tbls-\langscisymbol.pdf}};}, % if environment is on multiple pages, print this on the first page.
+ singleextra={\node[xshift=5mm,right,draw=\tblslinecolour, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblslinecolour}\includegraphics[width=10mm]{langsci/graphics/tbls-\langscisymbol.pdf}};} % if env. does not span multiple pages, print the same.
+}
+
+\mdfdefinestyle{greyexercise}{%
+ everyline=true,
+ ignorelastdescenders=true,
+ middlelinewidth=0pt,linecolor=white,outerlinewidth=5mm,
+ leftline=false,rightline=false,bottomline=false,
+ backgroundcolor=\tblsboxcolor,
+ innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=5mm,
+ frametitleaboveskip=15mm, frametitlebelowskip=5mm,frametitlerule=false, repeatframetitle=false,
+ firstextra={\node[xshift=5mm,right,draw=\tblsboxcolor, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblsboxcolor}\includegraphics[width=10mm]{langsci/graphics/tbls-\langscisymbol.pdf}
+ };},
+ singleextra={\node[xshift=5mm,right,draw=\tblsboxcolor, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblsboxcolor}\includegraphics[width=10mm]{langsci/graphics/tbls-\langscisymbol.pdf}
+};}
+}
+
+
+\mdfdefinestyle{tblsbox}{%
+ leftline=false, rightline=false, frametitleaboveskip=10mm, frametitlebelowskip=5mm,frametitlerule=false, repeatframetitle=false, linewidth=\trennlinie, linecolor=\tblslinecolour, innerbottommargin=5mm, innertopmargin=5mm,innerleftmargin=0mm,innerrightmargin=0
+ }
+
+\mdfdefinestyle{tblsframedbox}{%
+ frametitleaboveskip=5mm, frametitlebelowskip=0mm,frametitlerule=false, repeatframetitle=false, linewidth=\trennlinie, linecolor=\tblslinecolour, innerbottommargin=5mm, innertopmargin=5mm
+}
+
+\newcommand{\tblsfillcolour}{black!12}
+\mdfdefinestyle{tblsfilledbox}{%
+ hidealllines=true, backgroundcolor=\tblsfillcolour, frametitleaboveskip=5mm, frametitlebelowskip=0mm,frametitlerule=false, repeatframetitle=false, innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=5mm
+}
+
+\mdfdefinestyle{tblsfilledcolumnbox}{% % Copy of tblsfilledbox with multicols
+ hidealllines=true, backgroundcolor=\tblsfillcolour, frametitleaboveskip=5mm, frametitlebelowskip=0mm,frametitlerule=false, repeatframetitle=false, innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=5mm,startinnercode={\begin{multicols}{2}},endinnercode={\end{multicols}}
+}
+
+\mdfdefinestyle{tblsframedcolumnbox}{%
+ frametitleaboveskip=10mm, frametitlebelowskip=5mm,frametitlerule=false, repeatframetitle=false, linewidth=\trennlinie, linecolor=\tblsboxcolor, innerbottommargin=5mm, innertopmargin=5mm, startinnercode={\begin{multicols}{2}},endinnercode={\end{multicols}}
+}
+
+%%% MDFRAMED COMMANDS %%%
+
+\newcommand{\tblssy}[4][black!12]{% Use like this \tblsfr[colour]{book|bulb|glass|law}{title}{text}, where [colour] is optional
+ \renewcommand{\langscisymbol}{#2}\renewcommand{\tblsboxcolor}{#1}
+ \begin{mdframed}[style=greyexercise,frametitle={#3}]
+ #4
+ \end{mdframed}
+}
+
+\newcommand{\tblsli}[4][black!20]{% Use like this \tblsli[colour]{line width}{title}{text}
+\renewcommand{\tblsboxcolor}{#1}\setlength{\trennlinie}{#2mm}
+\begin{mdframed}[style=tblsbox,frametitle={#3}]
+#4
+\end{mdframed}
+}
+
+\newcommand{\tblsfi}[3][black!12]{% Use like this \tblsfi[colour]{title}{text}, where [colour] is optional
+\renewcommand{\tblsfillcolour}{#1}
+\begin{mdframed}[style=tblsfilledbox,frametitle={#2}]
+#3
+\end{mdframed}
+}
+
+\newcommand{\tblsfr}[4][\lsSeriesColor]{% Use like this \tblsfr[colour]{book|bulb|glass|law}{title}{text}, where [colour] is optional
+\renewcommand{\tblslinecolour}{#1}\renewcommand{\langscisymbol}{#2}
+\begin{mdframed}[style=tblsbox,frametitle={#3}]
+#4
+\end{mdframed}
+}
+
+\newcommand{\tblsfd}[4]{ % Use like this: \tblsfd{colour}{line width}{title}{content}
+\renewcommand{\tblslinecolour}{#1}\setlength{\trennlinie}{#2mm}
+\begin{mdframed}[style=tblsframedbox,frametitle={#3}]
+#4
+\end{mdframed}
+}
+
+%%% MDFRAMED END %%%
+
+
+\newcommand{\tblsbwbox}[4][]{%
+\\
+ \noindent
+ \colorbox{#2}{
+\parbox{.97\textwidth}{
+\centering
+\parbox{.9\textwidth}{
+
+ %add logo if requested
+ \ifthenelse{\equal{#1}{}}{\bigskip}{
+ \begin{flushleft}
+ \hspace*{3.5mm} \raisebox{0mm}[0mm][0mm]{\color{white}\includegraphics[width=10mm]{langsci/graphics/#1.eps}}
+ \end{flushleft}}
+ %add header
+ \boxheader{#3}
+ \begin{multicols*}{2}
+ #4
+ \end{multicols*}
+ \bigskip
+ }
+}
+}
+\\[1em]
+}
+
+
+
+\newcommand{\tblsbwboxdark}[3][]{%
+ \noindent
+ \tblsbwbox[#1]{gray}{#2}{#3}
+}
+
+\newcommand{\tblsbwboxlight}[3][]{%
+ \noindent
+ \tblsbwbox[#1]{lightgray}{#2}{#3}
+}
+
+\newcommand{\tblscolboxdark}[3][]{%
+ \tblsbwboxdark[#1]{#2}{#3}
+}
+
+\newcommand{\tblscolboxlight}[3][]{%
+ \tblsbwboxlight[#1]{#2}{#3}
+}
+
+
+\newcommand{\tblsthinline}{\rule{\textwidth}{.8mm}}
+\newcommand{\tblsthickline}{{\color{gray}\rule{\textwidth}{1.5mm}}}
+\newcommand{\tblsthickcolorline}{{\color{lsYellow}\rule{\textwidth}{1.5mm}}}
+
+\newcommand{\tblssandwich}[3]{
+% \\
+
+\medskip
+\noindent
+#1
+\\[2em]
+\boxheader{#2}
+\\[1em]
+\noindent%
+#3
+\smallskip
+\noindent
+#1
+\\[1em]
+}
+
+\newcommand{\tblsbwthinsandwich}[2]{
+ \tblssandwich{\tblsthinline}{#1}{#2}
+}
+
+\newcommand{\tblsbwthicksandwich}[2]{
+ \tblssandwich{\tblsthickline}{#1}{#2}
+}
+
+\newcommand{\tblscolthicksandwich}[2]{
+ \tblssandwich{\tblsthickcolorline}{#1}{#2}
+}
+
+\newcommand{\tblscolthinsandwich}[2]{
+ \tblssandwich{\tblsthinline}{#1}{#2}
+}
+
+\newcommand{\tblscolframebox}[3][]{
+ \fboxrule.8mm
+ \noindent
+ \begin{figure}
+ \begin{flushleft}
+ \hspace*{3.5mm}
+ \raisebox{-10mm}[0mm][0mm]{\ifthenelse{\equal{#1}{}}{}{\includegraphics[width=10mm]{langsci/graphics/#1.eps}}} \\
+ \end{flushleft}
+ \color{lsYellow}\framebox[\textwidth]{%
+ \color{black}
+ \parbox{.92\textwidth}{%
+ \vspace*{.5cm}
+ \boxheader{#2}
+ \begin{multicols*}{2}
+ #3
+ \end{multicols*}
+ }
+ }
+ \end{figure}
+}
+
+\newcommand{\boxheader}[1]{\medskip{\Large\bfseries\sffamily #1}}
diff --git a/macros/xetex/latex/langsci/langsci-textipa.sty b/macros/xetex/latex/langsci/langsci-textipa.sty
new file mode 100644
index 0000000000..adcedb26b2
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-textipa.sty
@@ -0,0 +1,4 @@
+%Unicode versions of the TIPA \text... commands
+
+\newcommand{\textltailn}{ɲ}
+\newcommand{\textbardotlessj}{ÉŸ} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/langsci-tikz.sty b/macros/xetex/latex/langsci/langsci-tikz.sty
new file mode 100644
index 0000000000..96bcd05211
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-tikz.sty
@@ -0,0 +1,25 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%% Experimental feature for pointing out moving things. %%%%
+%%%% Buggy? Write to: kopeckyf@hu-berlin.de %%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usetikzlibrary{arrows,arrows.meta}
+\newcounter{lsConnectTempGroup}
+\NewDocumentCommand\ConnectTail{m O{\thelsConnectTempGroup}}{%read: mandatory arg #1, optional argument #2 with the current group counter as its default value.
+ \edef\lsConnectTempPosition{#2}%\edef expands the argument, which means reading the current value of the counter.
+ {\tikz[remember picture,
+ anchor=base, baseline,
+ inner xsep=0pt,
+ inner ysep=-.5ex]\node (ConnectTempTail\lsConnectTempPosition) {\strut{}#1};}%\strut for baseline
+}
+\NewDocumentCommand\ConnectHead{s O{1ex} m O{\thelsConnectTempGroup}}{%read: star #1, optional argument (distance of arrow from text= std. one x-height), mand. arg. (node text), optional argument #2, the group specifier
+ \edef\lsConnectTempPosition{#4}%
+ \stepcounter{lsConnectTempGroup}%We have a match, let's update the group counter
+ {\tikz[remember picture,
+ anchor=base, baseline,
+ inner xsep=0pt,
+ inner ysep=-.5ex] \node (ConnectTempHead\lsConnectTempPosition) {\strut{}#3};%
+ \tikz[remember picture] \draw[% we have a tail and a head, let's bring them together
+ \IfBooleanTF#1{{Triangle[]}-}{-{Triangle[]}},% Check if the starred version is used. The starred version is right->left, the normal version left->right
+ overlay] (ConnectTempTail\lsConnectTempPosition.south) -- ++(0,-#2) -| (ConnectTempHead\lsConnectTempPosition.south);
+ }%
+} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/langsci-tobi.sty b/macros/xetex/latex/langsci/langsci-tobi.sty
new file mode 100644
index 0000000000..00bed2b2e8
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-tobi.sty
@@ -0,0 +1,7 @@
+\newcommand{\tobi}[3][0]{\parbox{0cm}{\raisebox{.8em}[0cm]{\hspace{#1mm}#3}}#2}
+
+\renewcommand{\H}[2][0]{\tobi[#1]{#2}{\textsc{h}}} %put H above letter
+\renewcommand{\L}[2][0]{\tobi[#1]{#2}{\textsc{l}}} %put L above letter
+\newcommand{\E}[2][0]{\tobi[#1]{#2}{\textsc{!}}} %put ! above letter (_E_xclamation)
+\renewcommand{\P}[2][0]{\tobi[#1]{#2}{\textsc{\%}}} %put % above letter (_P_ercentage)
+\renewcommand{\S}[2][0]{\tobi[#1]{#2}{\textsc{*}}} %put * above letter (_S_tar)
diff --git a/macros/xetex/latex/langsci/langsci-unified.bbx b/macros/xetex/latex/langsci/langsci-unified.bbx
new file mode 100644
index 0000000000..ba20f39ff4
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-unified.bbx
@@ -0,0 +1,682 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% File: langscibook.cls
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2019-03-06 13:12 UTC
+%% Purpose: An implementation of the Unified Style Sheet for Linguistics bibliographies (https://www.linguisticsociety.org/resource/unified-style-sheet)
+%% This work is based on the styles provided by Semantics \& Pragmatics
+%% Language: LaTeX
+%% Copyright 2017- Language Science Press
+%% Licence: This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%% This work has the LPPL maintenance status `maintained'.
+%%% The Current Maintainer of this work is Sebastian Nordhoff.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ProvidesFile{biblatex-sp-unified.bbx}
+
+% NB: The Unified Style Sheet wants abbreviated "ed(s)", "edn". But using the abbreviate option also abbreviates the names of months. But then dateabbrev=false restores the long names of months
+% biblatex has a "useprefix" option, which makes "von" count for alphabetization; the Unified Stylesheet does not want that, so it is important that this option be disabled (even if an author tries to set it to true)
+
+% For backward compatibility: choose labeldate or labeldateparts depending on the biblatex version
+\@ifpackagelater{biblatex}{2016/09/09}
+{%
+ \ExecuteBibliographyOptions{labeldateparts} % as of biblatex 3.5 (2016/09/10)
+}
+{%
+ \ExecuteBibliographyOptions{labeldate}
+ \def\printlabeldateextra{\printdateextralabel}
+}%
+
+\ExecuteBibliographyOptions{sorting=nyt,abbreviate,dateabbrev=false,useprefix=false}
+
+% biblatex by default calls biblatex.def, we add to this authoryear.bbx, which in turn loads standard.bbx. So, sp-biblatex.bbx is built on top of those styles; once authoryear.bbx is loaded, we tell it not to put in dashes for repeated authors (in accordance with the Unified Stylesheet)
+
+\RequireBibliographyStyle{authoryear}
+\ExecuteBibliographyOptions{dashed=false,isbn=false,eprint=false}
+
+% If an @article entry contains Issuetitle and Editor information, we might
+% not want to print it. The Unified Style Sheet does not offer explicit
+% guidelines on this, but they don't have any examples where either of these
+% pieces of information are actually printed. Therefore, we can offer an option
+% for the user to decide whether to print it. The default will be not to print
+% it since the Unified Style Sheet does not have examples where this information
+% is printed. The user can print it by setting `issueandeditor=true` as a package
+% option when biblatex is called.
+\newtoggle{issueandeditor}
+\DeclareBibliographyOption{issueandeditor}[false]{%
+ \settoggle{issueandeditor}{#1}}
+
+% Formatting directives for name lists
+% ------------------------------------------------------------------
+%
+% In biblatex.def, there are name formats defined: first-last, last-first, last-first/first-last. They could be simplified (we don't need provisions for using initials only, since the Unified Style doesn't do that), but since biblatex.def is loaded automatically, there's no point. The name formats call bibmacros that figure out how to order the internal of name components. These are re-defined here to make sure that "von" is treated as part of the last name (it still doesn't count for sorting -- which is controlled by the \useprefix package option)
+% name:last is used to produce citation labels
+% name:last-first is used to produce the first author's name listing in the alphabetical bibliography
+
+% Also moved the Jr part to after the first name and inserted another comma, because the Unified Stylesheet disagrees with standard.bbx: it wants "Jr." not to be treated as part of the last name.
+
+% The macros here get 4 arguments passed to them. They are: #1 last name, #2 first name, #3 von, #4 Jr.
+
+% In biblatex v3.3 and onwards, the name formatting has changed in a big way. See for example: http://tex.stackexchange.com/questions/299036/biblatex-3-3-name-formatting, https://github.com/plk/biblatex/issues/372, and http://www.texdev.net/2016/03/13/biblatex-a-new-syntax-for-declarenameformat/. The name formats in biblatex.def are not called first-last etc. anymore but given-family etc. And while there are safeguard legacy aliases (\DeclareNameAlias{first-last}{given-family}, for example), the new formats then use macros like \usebibmacro{name:family-given}, which of course our old redefinitions didn't adjust. So, for newer biblatex, we need to do new versions of \renewbibmacro{name:...}.
+
+%% Redefinitions of name:last and name:last-first for old biblatex
+
+\renewbibmacro*{name:last}[4]{%
+ \usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifblank{#3}
+ {}
+ {\ifcapital
+ {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
+ {\mkbibnameprefix{#3}\isdot}%
+ \ifpunctmark{'}{}{\bibnamedelimc}}%
+ \mkbibnamelast{#1}}%
+
+\renewbibmacro*{name:last-first}[4]{%
+ \usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifblank{#3}{}{%
+ \mkbibnameprefix{#3}\isdot%
+ \ifpunctmark{'}{}{\bibnamedelimc}}%
+ \mkbibnamelast{#1}\isdot
+ \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}%
+ \ifblank{#4}{}{\addcomma\bibnamedelimd\mkbibnameaffix{#4}\isdot}}
+
+%% Redefinitions of name:family and name:family-given for new biblatex
+
+\renewbibmacro*{name:family}[4]{%
+ \usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifdefvoid{#3}
+ {}
+ {\ifcapital
+ {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
+ {\mkbibnameprefix{#3}\isdot}%
+ \ifprefchar{}{\bibnamedelimc}}%
+ \mkbibnamefamily{#1}\isdot}%
+
+\renewbibmacro*{name:family-given}[4]{%
+ \usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifdefvoid{#3}{}{%
+ \mkbibnameprefix{#3}\isdot
+ \ifprefchar{}{\bibnamedelimc}}%
+ \mkbibnamefamily{#1}\isdot
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
+ \ifdefvoid{#4}{}{\addcomma\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Various bibmacros used in producing the bibliography
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\renewbibmacro*{date+extrayear}{%
+ \iffieldundef{labelyear}
+ {}
+ {\printtext{\printlabeldateextra}}}% Took out the parentheses around the year
+
+\renewbibmacro*{author}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{author}}
+ }
+ {\usebibmacro{bbx:dashcheck}
+ {\bibnamedash}
+ {\usebibmacro{bbx:savehash}%
+ \printnames{author}%
+ \iffieldundef{authortype}
+ {\newunit}% period instead of space
+ {\setunit{\addcomma\space}}}%
+ \iffieldundef{authortype}
+ {}
+ {\usebibmacro{authorstrg}%
+ \newunit}}% period instead of space
+ {\global\undef\bbx@lasthash
+ \usebibmacro{labeltitle}%
+ \newunit}% period instead of space
+ \usebibmacro{date+extrayear}}
+
+\renewbibmacro*{editor}{%
+ \usebibmacro{bbx:editor}{editorstrg}}
+\renewbibmacro*{editor+others}{%
+ \usebibmacro{bbx:editor}{editor+othersstrg}}
+\renewbibmacro*{bbx:editor}[1]{%
+ \ifboolexpr{
+ test \ifuseeditor
+ and
+ not test {\ifnameundef{editor}}
+ }
+ {\usebibmacro{bbx:dashcheck}
+ {\bibnamedash}
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \usebibmacro{bbx:savehash}}%
+ \printtext[parens]{\usebibmacro{#1}}%
+ \clearname{editor}%
+ \newunit}% period instead of space
+ {\global\undef\bbx@lasthash
+ \usebibmacro{labeltitle}%
+ \newunit}% period instead of space
+ \usebibmacro{date+extrayear}}
+
+\renewbibmacro*{translator}{%
+ \usebibmacro{bbx:translator}{translatorstrg}}
+\renewbibmacro*{translator+others}{%
+ \usebibmacro{bbx:translator}{translator+othersstrg}}
+\renewbibmacro*{bbx:translator}[1]{%
+ \ifboolexpr{
+ test \ifusetranslator
+ and
+ not test {\ifnameundef{translator}}
+ }
+ {\usebibmacro{bbx:dashcheck}
+ {\bibnamedash}
+ {\printnames{translator}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{bbx:savehash}}%
+ \usebibmacro{translator+othersstrg}%
+ \clearname{translator}%
+ \newunit}% period instead of space
+ {\global\undef\bbx@lasthash
+ \usebibmacro{labeltitle}%
+ \newunit}% period instead of space
+ \usebibmacro{date+extrayear}}
+
+\renewbibmacro*{journal}{%
+ \iffieldundef{journaltitle}
+ {}
+ {\printtext{%
+ \printfield{journaltitle}%
+ \setunit{\subtitlepunct}%
+ \printfield{journalsubtitle}}}}
+
+\newbibmacro*{journal+issuetitle+editor}{%
+ \usebibmacro{journal}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}
+ {}
+ {\newunit
+ \printfield{series}%
+ \setunit{\addspace}}%
+ \usebibmacro{volume+number+eid}%
+ \iftoggle{issueandeditor}
+ {\setunit{\addspace}%
+ \usebibmacro{issue+date}%
+ \setunit{\addcolon\space}%
+ \usebibmacro{issue}
+ % The following three lines were originally not included inside of
+ % the journal+issuetitle bibmacro. They have been moved inside of
+ % this macro in order to allow them to be controlled by the toggle
+ % `issuetitle` that is defined at the top of this style file.
+ \newunit
+ \usebibmacro{byeditor+others}%
+ \newunit}
+ {}%
+ \newunit}
+
+% The next three bib macros are for printing the maintitle and booktitle fields
+% of an @inproceedings entry with an ISSN as an article in accordance with the
+% unified style sheet guidelines.
+% 1. maintitle
+\newbibmacro*{unified:proc-as-article:maintitle}{%
+ \ifboolexpr{
+ test {\iffieldundef{maintitle}}
+ and
+ test {\iffieldundef{mainsubtitle}}
+ }
+ {}
+ {\printtext{%
+ \printfield[maintitle]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[maintitle]{mainsubtitle}}%
+ \newunit}%
+ \printfield{maintitleaddon}}
+
+% 2. booktitle
+\newbibmacro*{unified:proc-as-article:booktitle}{%
+ \ifboolexpr{
+ test {\iffieldundef{booktitle}}
+ and
+ test {\iffieldundef{booksubtitle}}
+ }
+ {}
+ {\printtext{%
+ \printfield[booktitle]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[booktitle]{booksubtitle}}%
+ \newunit}%
+ \printfield{booktitleaddon}}
+
+% 3. maintitle+booktitle
+\newbibmacro*{unified:proc-as-article:maintitle+booktitle}{%
+ \iffieldundef{maintitle}
+ {}
+ {\usebibmacro{unified:proc-as-article:maintitle}%
+ \newunit\newblock}
+ \usebibmacro{unified:proc-as-article:booktitle}%
+ \setunit{\addspace}}
+
+\renewbibmacro*{volume+number+eid}{%
+ \printfield{volume}%
+% \setunit*{\adddot}%
+ \printfield[parens]{number}% parentheses instead of dot before issue number
+ \setunit{\addcomma\space}%
+ \printfield{eid}}
+
+% This is for printing the volume field of a proceedings with an ISSN as an article
+% in accordance with the unified style sheet guidelines. It depends on the declared
+% field format below.
+\newbibmacro*{unified:proc-as-article:volume+number+eid}{%
+ \printfield[volume:unified:proc-as-article]{volume}%
+ \printfield[parens]{number}%
+ \setunit{\addcomma\space}%
+ \printfield{eid}}
+
+% Because of the weird format "3 May, 2007" specified in the Unified Stylesheet for URL access dates, we need a special way to format the urldate
+
+\newcommand{\mkbibdateunified}[3]{% Year-Month-Day as input --> xx Month, Year
+ \iffieldundef{#3}
+ {}
+ {\stripzeros{\thefield{#3}}%
+ \nobreakspace}%
+ \iffieldundef{#2}
+ {\iffieldundef{#1}%
+ {}%
+ {\stripzeros{\thefield{#1}}}}%
+ {\mkbibmonth{\thefield{#2}}%
+ \iffieldundef{#1}%
+ {}%
+ {\iffieldundef{#3}%
+ {}%
+ {,}%
+ \space\stripzeros{\thefield{#1}}}%
+ }%
+ }%
+
+\renewbibmacro*{url+urldate}{%
+ \printfield{url}%
+ \iffieldundef{urlyear}%
+ {}%
+ {\setunit*{\addspace}%
+ \printtext[parens]{\mkbibdateunified{urlyear}{urlmonth}{urlday}}}%
+ }
+
+\renewbibmacro*{series+number}{%
+ \iffieldundef{series}
+ {}
+ {\printtext[parens]{%
+ \printfield{series}%
+ \setunit*{\addspace}%
+ \printfield{number}}%
+ }}
+
+\renewbibmacro*{byeditor+others}{%
+ \ifnameundef{editor}
+ {}
+ {\printnames[byeditor]{editor}%
+ \setunit{\addspace}%
+ \printtext[parens]{\usebibmacro{editor+othersstrg}}% putting (ed.) or (eds.) after editors of books
+ \clearname{editor}%
+ \newunit}%
+ \usebibmacro{byeditorx}%
+ \usebibmacro{bytranslator+others}}
+
+\renewbibmacro*{chapter+pages}{%
+ \iffieldundef{chapter}%
+ {}%
+ {\printfield{chapter}%
+ \setunit{\addcomma\space}}%
+ \printfield{pages}%
+ \newunit}
+
+\renewbibmacro*{note+pages}{%
+ \iffieldundef{note}%
+ {}%
+ {\printfield{note}%
+ \setunit{\addcomma\space}}%
+ \printfield{pages}%
+ \newunit}
+
+\newbibmacro*{institution+location+type+date}{%
+ \printlist{location}%
+ \iflistundef{institution}
+ {}
+ {\setunit*{\addcolon\space}}%
+ \printlist{institution}%
+ \setunit{\addspace}%
+ \printfield{type}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+ \newunit}
+
+% The following is a hack to satisfy the Unified Stylesheet's decision to give the edition right after the OED as used as a sortlabel.
+
+\renewbibmacro*{labeltitle}{%
+ \iffieldundef{label}
+ {\iffieldundef{shorttitle}
+ {\printfield{title}%
+ \setunit{\addcomma\space}% Here it comes, preparing for the edition
+ \printfield{edition}% Here's the edition
+ \clearfield{title}%
+ \clearfield{edition}}% Clearing the edition field, so it's not printed again below
+ {\printfield[title]{shorttitle}}}
+ {\printfield{label}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Punctuation & formatting
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This gets rid of the Oxford comma in name lists and uses the ampersand rather than "and":
+
+\renewcommand*{\finalnamedelim}{\addspace\&\addspace}
+\renewcommand*{\finallistdelim}{\addspace\&\addspace}
+
+% no colon after "In" in incollection entries (overriding biblatex.def):
+
+\renewcommand{\intitlepunct}{\addspace}
+
+\renewcommand{\subtitlepunct}{\addcolon\space}
+\renewcommand*{\bibpagespunct}{\newunitpunct} % No comma before pages, just the usual new unit period
+
+\DefineBibliographyStrings{english}{%
+ edition = {edn\adddot},
+ phdthesis = {dissertation},
+}
+
+% basically everything is in sentence case, other than journals and book series (recurring titles)
+\DeclareFieldFormat[article,book,collection,incollection,inproceedings,thesis,unpublished]{titlecase}{\MakeSentenceCase*{#1}}%
+
+% No quotes around titles
+\DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished]{title}{#1}
+
+% Just like book titles, thesis titles are in italics
+\DeclareFieldFormat[thesis]{title}{\mkbibemph{#1}}
+
+\DeclareFieldFormat{pages}{#1} % no pp. prefix, took \mkpageprefix out [kvf]
+\DeclareFieldFormat{doi}{%
+ \ifhyperref
+ {\href{https://doi.org/#1}{\nolinkurl{https://doi.org/#1}}}
+ {\nolinkurl{https://doi.org/#1}}}
+\DeclareFieldFormat{url}{\url{#1}}
+
+% This is for printing the volume field of a proceedings with an ISSN as an article
+% in accordance with the unified style sheet guidelines
+\DeclareFieldFormat{volume:unified:proc-as-article}{#1}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% The bibliography drivers, specifying the formats of each type of entry in the bibliography
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% First, the entry types used in the Unified Test Bibliography. Could rely on standard.bbx for all others as a fallback.
+
+% For the article type, the only departure from standard.bbx is that
+% we don't use a literal "In: " before the journal title; other formatting
+% departures are done in the format specs and bibmacros
+
+\DeclareBibliographyDriver{article}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+% \usebibmacro{in:}% We don't use "In: " before journal titles
+ \usebibmacro{journal+issuetitle+editor}%
+ \newblock% \newblock ensures period before pages
+ \usebibmacro{note+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{issn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{book}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit
+ \iffieldundef{maintitle}
+ {\printfield{volume}%
+ \printfield{part}}
+ {}%
+ \newunit
+ \printfield{volumes}%
+ \setunit{\addspace}% crucial difference from standard.bbx: space and then (Series + number)
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+% Aliased to ensure no period between the title and the series.
+\DeclareBibliographyAlias{collection}{book}
+
+\DeclareBibliographyAlias{incollection}{inproceedings}
+
+
+% \DeclareBibliographyAlias{techreport}{standard}
+
+% Given the guidelines in the unified style sheet, we should print conference
+% proceedings and working papers as @article's just in case the publication has
+% an ISSN. So, rather than have users handle this in the database by changing the
+% entry type, we can implement this by checking if the inproceedings entry has an
+% ISSN. If the field is undefined, the driver will do what driver did for
+% @inproceedings entries as of 512f11657199a6044f7663da454f3eac338bdbd5
+% except that \printlist{organization} and \newunit have been removed.
+% On the other hand, if the ISSN field is not undefined, then we will do largely
+% the exact same thing that we do in the @article driver, except that we use the
+% two macros \usebibmacro{unified:proc-as-article:maintitle+booktitle} and
+% \usebibmacro{unified:proc-as-article:volume+number+eid} instead of
+% \usebibmacro{journal+issuetitle} and except that \usebibmacro{byeditor+others}
+% has been removed so as to ensure that the editors are not listed even if they
+% are present in the database.
+\DeclareBibliographyDriver{inproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \iffieldundef{issn}
+ {\usebibmacro{author/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \ifnameundef{editor}
+ {\setunit{\addspace}}
+ {\usebibmacro{byeditor+others}\setunit{\addcomma\space}}
+ \usebibmacro{maintitle+booktitle}%
+ \setunit{\addcomma\space}
+ \printfield{edition}%
+ \setunit{\addcomma\space}
+ \iffieldundef{maintitle}
+ {\printfield{volume}%
+ \printfield{part}}
+ {}%
+ \setunit{\addcomma\space}
+ \printfield{volumes}%
+ \setunit{\addspace}%
+ \usebibmacro{series+number}%
+ \setunit{\addcomma\space}
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}}
+ {\usebibmacro{author/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \usebibmacro{unified:proc-as-article:maintitle+booktitle}%
+ \usebibmacro{unified:proc-as-article:volume+number+eid}
+ \newunit\newblock% \newblock ensures period before pages
+ \usebibmacro{note+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{issn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}}
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{thesis}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+location+type+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{unpublished}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{location+date}%
+ \newunit\newblock
+ \iftoggle{bbx:url}
+ {\usebibmacro{url+urldate}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+%% changes of bibliography style (bbx)
+\DeclareFieldFormat{postnote}{#1}% display pages without page prefix (p., pp.)
+\DeclareBibliographyAlias{inbook}{incollection}% see https://github.com/semprag/biblatex-sp-unified/issues/35
+\DeclareFieldFormat[techreport,report,misc]{titlecase}{\MakeSentenceCase*{#1}}% techreport/report and misc are not genuinely supported by biblatex-sp-unified
+%% The note field should appear at end of an entry just before the DOI, other than with the used bibliography style. It is therefore first removed, then again restored and included together with the DOI.
+\AtEveryBibitem{%
+ \savefield*{note}{\lsnote}%
+ \clearfield{note}%
+} \ No newline at end of file
diff --git a/macros/xetex/latex/langsci/langsci-unified.cbx b/macros/xetex/latex/langsci/langsci-unified.cbx
new file mode 100644
index 0000000000..bc3334ab9b
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci-unified.cbx
@@ -0,0 +1,383 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% File: langscibook.cls
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2019-03-06 13:12 UTC
+%% Purpose: An implementation of the Unified Style Sheet for Linguistics bibliographies (https://www.linguisticsociety.org/resource/unified-style-sheet).
+%% This work is based on the styles provided by Semantics \& Pragmatics
+%% Language: LaTeX
+%% Copyright 2017- Language Science Press
+%% Licence: This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%% This work has the LPPL maintenance status `maintained'.
+%%% The Current Maintainer of this work is Sebastian Nordhoff.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ProvidesFile{sp-authoryear-comp.cbx}
+
+% For backward compatibility: choose labeldate or labeldateparts depending on the biblatex version
+\@ifpackagelater{biblatex}{2016/09/09}
+{%
+ \ExecuteBibliographyOptions{labeldateparts} % as of biblatex 3.5 (2016/09/10)
+}
+{%
+ \ExecuteBibliographyOptions{labeldate}
+}%
+
+\ExecuteBibliographyOptions{uniquename=minfull,uniquelist=minyear,autocite=inline}
+
+% disabled sortcites option, since it was sorting by name, instead of
+% year, and we often want to keep citations in the order chosen by the
+% author
+\newbool{cbx:parens}
+
+\newbibmacro*{cite:init}{%
+ \ifnumless{\value{multicitecount}}{2}
+ {\global\boolfalse{cbx:parens}%
+ \global\undef\cbx@lasthash
+ \global\undef\cbx@lastyear}
+ {\iffieldundef{prenote}
+ {}
+ {\global\undef\cbx@lasthash
+ \global\undef\cbx@lastyear}}}
+
+\newbibmacro*{cite:reinit}{%
+ \global\undef\cbx@lasthash
+ \global\undef\cbx@lastyear}
+
+\newbibmacro*{labelyearrepeat}{%
+ \ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND
+ \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)}
+ {\setunit{\addcomma}%
+ \usebibmacro{cite:extrayear}}
+ {\setunit{\compcitedelim}%
+ \usebibmacro{cite:labelyear+extrayear}%
+ \savefield{labelyear}{\cbx@lastyear}}}
+
+\newbibmacro*{cite}{% Based on cite bib macro from authoryear-comp.cbx
+ \iffieldundef{shorthand}
+ {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
+ {\printtext[bibhyperref]{% Include labelname in hyperlink
+ \DeclareFieldAlias{bibhyperref}{default}% Prevent nested hyperlinks
+ \usebibmacro{cite:label}%
+ \setunit{\addspace}%
+ \usebibmacro{cite:labelyear+extrayear}}%
+ \usebibmacro{cite:reinit}}
+ {\iffieldequals{namehash}{\cbx@lasthash}
+ {\usebibmacro{labelyearrepeat}}
+ {\printtext[bibhyperref]{% Include labelname in hyperlink
+ \DeclareFieldAlias{bibhyperref}{default}% Prevent nested hyperlinks
+ \printnames{labelname}%
+ \setunit{\nameyeardelim}%
+ \usebibmacro{cite:labelyear+extrayear}}%
+ \savefield{namehash}{\cbx@lasthash}%
+ \savefield{labelyear}{\cbx@lastyear}}}}
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:reinit}}%
+ \setunit{\multicitedelim}}
+
+\newbibmacro*{citeyear}{%
+ \iffieldundef{shorthand}
+ {\iffieldundef{labelyear}
+ {\usebibmacro{cite:label}%
+ \usebibmacro{cite:reinit}}
+ {\iffieldequals{namehash}{\cbx@lasthash}
+ {\usebibmacro{labelyearrepeat}}
+ {\usebibmacro{cite:labelyear+extrayear}%
+ \savefield{namehash}{\cbx@lasthash}%
+ \savefield{labelyear}{\cbx@lastyear}}}}
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:reinit}}%
+ \setunit{\multicitedelim}}
+
+\newbibmacro*{textcite}{% Based on textcite bib macro from authoryear-comp.cbx
+ \iffieldequals{namehash}{\cbx@lasthash}
+ {\iffieldundef{shorthand}
+ {\usebibmacro{labelyearrepeat}}
+ {\setunit{\compcitedelim}%
+ \usebibmacro{cite:shorthand}%
+ \global\undef\cbx@lastyear}}
+ {\ifnameundef{labelname}
+ {\printtext[bibhyperref]{% Include labelname in hyperlink
+ \DeclareFieldAlias{bibhyperref}{default}% Prevent nested hyperlinks
+ \iffieldundef{shorthand}
+ {\usebibmacro{cite:label}%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \addspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}
+ {\usebibmacro{prenote}}
+ {}%
+ \usebibmacro{cite:labelyear+extrayear}}
+ {\usebibmacro{cite:shorthand}}%
+ \ifthenelse{\iffieldundef{postnote}\AND
+ \(\value{multicitetotal}=0\AND\value{citetotal}=1\)}
+ {\bibcloseparen% Include closing parenthesis in hyperlink
+ \global\boolfalse{cbx:parens}}
+ {}}}
+ {\printtext[bibhyperref]{% Include labelname in hyperlink
+ \DeclareFieldAlias{bibhyperref}{default}% Prevent nested hyperlinks
+ \printnames{labelname}%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \addspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}
+ {\usebibmacro{prenote}}
+ {}%
+ \iffieldundef{shorthand}
+ {\iffieldundef{labelyear}
+ {\usebibmacro{cite:label}}
+ {\usebibmacro{cite:labelyear+extrayear}}%
+ \savefield{labelyear}{\cbx@lastyear}}
+ {\usebibmacro{cite:shorthand}%
+ \global\undef\cbx@lastyear}%
+ \ifthenelse{\iffieldundef{postnote}\AND
+ \(\value{multicitetotal}=0\AND\value{citetotal}=1\)}
+ {\bibcloseparen% Include closing parenthesis in hyperlink
+ \global\boolfalse{cbx:parens}}
+ {}}%
+ \savefield{namehash}{\cbx@lasthash}}}%
+ \setunit{%
+ \ifbool{cbx:parens}
+ {\bibcloseparen\global\boolfalse{cbx:parens}}
+ {}%
+ \multicitedelim}}
+
+\newbibmacro*{posscite}{% Based on textcite bib macro above
+ \iffieldequals{namehash}{\cbx@lasthash}
+ {\iffieldundef{shorthand}
+ {\usebibmacro{labelyearrepeat}}
+ {\setunit{\compcitedelim}%
+ \usebibmacro{cite:shorthand}%
+ \global\undef\cbx@lastyear}}
+ {\ifnameundef{labelname}
+ {\printtext[bibhyperref]{% Include labelname in hyperlink
+ \DeclareFieldAlias{bibhyperref}{default}% Prevent nested hyperlinks
+ \iffieldundef{shorthand}
+ {\usebibmacro{cite:label}%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \addspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}
+ {\usebibmacro{prenote}}
+ {}%
+ \usebibmacro{cite:labelyear+extrayear}}
+ {\usebibmacro{cite:shorthand}}%
+ \ifthenelse{\iffieldundef{postnote}\AND
+ \(\value{multicitetotal}=0\AND\value{citetotal}=1\)}
+ {\bibcloseparen% Include closing parenthesis in hyperlink
+ \global\boolfalse{cbx:parens}}
+ {}}}
+ {\printtext[bibhyperref]{% Include labelname in hyperlink
+ \DeclareFieldAlias{bibhyperref}{default}% Prevent nested hyperlinks
+ \printnames{labelname}'s%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \addspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}
+ {\usebibmacro{prenote}}
+ {}%
+ \iffieldundef{shorthand}
+ {\iffieldundef{labelyear}
+ {\usebibmacro{cite:label}}
+ {\usebibmacro{cite:labelyear+extrayear}}%
+ \savefield{labelyear}{\cbx@lastyear}}
+ {\usebibmacro{cite:shorthand}%
+ \global\undef\cbx@lastyear}%
+ \ifthenelse{\iffieldundef{postnote}\AND
+ \(\value{multicitetotal}=0\AND\value{citetotal}=1\)}
+ {\bibcloseparen% Include closing parenthesis in hyperlink
+ \global\boolfalse{cbx:parens}}
+ {}}%
+ \savefield{namehash}{\cbx@lasthash}}}%
+ \setunit{%
+ \ifbool{cbx:parens}
+ {\bibcloseparen\global\boolfalse{cbx:parens}}
+ {}%
+ \multicitedelim}}
+
+\newbibmacro*{cite:shorthand}{%
+ \printtext[bibhyperref]{\printfield{shorthand}}}
+
+\newbibmacro*{cite:label}{%
+ \iffieldundef{label}
+ {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
+ {\printtext[bibhyperref]{\printfield{label}}}}
+
+\newbibmacro*{cite:labelyear+extrayear}{%
+ \iffieldundef{labelyear}
+ {}
+ {\printtext[bibhyperref]{\printlabeldateextra}}}
+
+\newbibmacro*{cite:extrayear}{%
+ \iffieldundef{extrayear}
+ {}
+ {\printtext[bibhyperref]{\printfield{extrayear}}}}
+
+\newbibmacro*{textcite:postnote}{%
+ \usebibmacro{postnote}%
+ \ifthenelse{\value{multicitecount}=\value{multicitetotal}}
+ {\setunit{}%
+ \printtext{%
+ \ifbool{cbx:parens}
+ {\bibcloseparen\global\boolfalse{cbx:parens}}
+ {}}}
+ {\setunit{%
+ \ifbool{cbx:parens}
+ {\bibcloseparen\global\boolfalse{cbx:parens}}
+ {}%
+ \multicitedelim}}}
+
+\DeclareCiteCommand{\cite}
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\cite}
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{citeyear}}
+ {}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\parencite}[\mkbibparens]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\parencite}[\mkbibparens]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{citeyear}}
+ {}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\footcite}[\mkbibfootnote]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\textcite}
+ {\usebibmacro{cite:init}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{textcite}}
+ {}
+ {\usebibmacro{textcite:postnote}}
+
+\DeclareMultiCiteCommand{\cites}{\cite}{\setunit{\multicitedelim}}
+\DeclareMultiCiteCommand{\parencites}[\mkbibparens]{\parencite}{\setunit{\multicitedelim}}
+\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite}{\setunit{\multicitedelim}}
+\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext]{\footcitetext}{\setunit{\multicitedelim}}
+\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibparens\mkbibfootnote]{\smartcite}
+ {\setunit{\multicitedelim}}
+\DeclareMultiCiteCommand{\textcites}{\textcite}{}
+
+\renewcommand*{\nameyeardelim}{\addspace}
+
+\let\citealt\cite
+\let\citet\textcite
+\let\Citet\Textcite
+\newcommand{\pgcitep}[2]{(\cite{#1}:~#2)}
+\newcommand{\pgcitealt}[2]{\cite{#1}:~#2}
+\newcommand{\pgcitet}[2]{\citeauthor{#1} (\citeyear{#1}:~#2)}
+\newcommand{\pgposscitet}[2]{\citeauthor{#1}'s (\citeyear{#1}:~#2)}
+\newcommand{\seccitealt}[2]{\cite{#1}:~$\S$#2}
+\newcommand{\seccitep}[2]{(\cite{#1}:~$\S$#2)}
+\newcommand{\seccitet}[2]{\citeauthor{#1} (\citeyear{#1}:~$\S$#2)}
+\newcommand{\secposscitet}[2]{\citeauthor{#1}'s (\citeyear{#1}:~$\S$#2)}
+\let\citep\parencite
+
+\renewcommand*{\postnotedelim}{\addcolon\space}
+\DeclareFieldFormat{postnote}{#1}
+\DeclareFieldFormat{multipostnote}{#1}
+
+\DeclareCiteCommand{\citeauthor}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\ifciteindex
+ {\indexnames{labelname}}
+ {}%
+ \printtext[bibhyperref]{\printnames{labelname}}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\citeyear}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\printtext[bibhyperref]{\iffieldundef{year}{\printfield{labelyear}}{\printfield{year}}\printfield{extrayear}}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\citeyearpar}[\mkbibparens]
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\printtext[bibhyperref]{\iffieldundef{year}{\printfield{labelyear}}{\printfield{year}}\printfield{extrayear}}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\posscitet}
+ {\usebibmacro{cite:init}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{posscite}}
+ {}
+ {\usebibmacro{textcite:postnote}}
+
+\DeclareCiteCommand{\posscitealt}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}}
+ {\printtext[bibhyperref]{\printnames{labelname}'s \iffieldundef{year}{\printfield{labelyear}}{\printfield{year}}\printfield{extrayear}}}
+ {}
+ {}
+
+\DeclareCiteCommand{\possciteauthor}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}}
+ {\printtext[bibhyperref]{\printnames{labelname}'s}}
+ {}
+ {}
+
+\renewcommand*{\multicitedelim}{\addcomma\space}
+
+%% changes of citestyle (cbx) (FIXME: documentation missing)
+\renewcommand{\postnotedelim}{: }%
+\renewcommand{\multicitedelim}{\addsemicolon\space}%
+\renewcommand{\compcitedelim}{\multicitedelim}
+% \renewcommand{\nameyeardelim}{ }%
+
+\endinput
+
+
+
diff --git a/macros/xetex/latex/langsci/langsci_logo_nocolor.pdf b/macros/xetex/latex/langsci/langsci_logo_nocolor.pdf
new file mode 100644
index 0000000000..2edf2afc2c
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci_logo_nocolor.pdf
Binary files differ
diff --git a/macros/xetex/latex/langsci/langsci_spinelogo_nocolor.pdf b/macros/xetex/latex/langsci/langsci_spinelogo_nocolor.pdf
new file mode 100644
index 0000000000..7184c0711f
--- /dev/null
+++ b/macros/xetex/latex/langsci/langsci_spinelogo_nocolor.pdf
Binary files differ
diff --git a/macros/xetex/latex/langsci/langscibook.cls b/macros/xetex/latex/langsci/langscibook.cls
new file mode 100644
index 0000000000..4bfbdd94e3
--- /dev/null
+++ b/macros/xetex/latex/langsci/langscibook.cls
@@ -0,0 +1,2147 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% File: langscibook.cls
+%% Author: Language Science Press (http://langsci-press.org)
+%% Date: 2019-03-31 13:12 UTC
+%% Purpose: This file defines the basic document class
+%% for books published with Language Science Press.
+%% Language: LaTeX
+%% Copyright 2012- Language Science Press
+%% Licence: This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%% This work has the LPPL maintenance status `maintained'.
+%%% The Current Maintainer of this work is Sebastian Nordhoff.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Structure of this file:
+% \- Early load packages
+% \- Paths
+% \- Default values of variables
+% \- Definition of conditionals
+% \- Option handling
+% \- MAIN CLASS
+% \- General packages
+% \- print on demand macros
+% \- Output types (book, draft, cover)
+% \- Page geometry
+% \- Fonts
+% \- Colors
+% \- Book cover
+% \- Series history
+% \- Imprint
+% \- Dedication
+% \- Header and footer
+% \- Sectioning
+% \- Epigrams
+% \- Footnotes
+% \- Quotes
+% \- Languages
+% \- Citations
+% \- Floats
+% \- Appendices
+% \- Indexes
+% \- Hyperref
+% \- Edited volumes (Collection)
+% \- Colors
+% \_ Miscellaneous
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{langscibook}[2018/01/15 Language Science Press]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Early load packages
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\RequirePackage[]{silence}
+\WarningsOff[hyperref]
+\WarningsOff[tocstyle]
+\typeout{Warnings are disabled in langscibook.cls for hyperref and tocstyle}
+\usepackage{etoolbox}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Paths
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\fontpath}{}
+\newcommand{\logopath}{}
+\newcommand{\seriesinfopath}{}
+\newcommand{\localepath}{}
+\newcommand{\bibstylepath}{}
+% \newcommand{\bbxpath}{}
+% \newcommand{\cbxpath}{}
+\newcommand{\stylepath}{}
+% Paths can be overwritten with option "nonflat"
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Default values
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{xspace}
+\newcommand{\lsp}{Language Science Press\xspace}
+\newcommand{\lsSeriesNumber}{??}
+\newcommand{\lsISSN}{??}
+\newcommand{\lsISBNdigital}{000-0-000000-00-0}
+\newcommand{\lsISBNhardcover}{000-0-000000-00-0}
+\newcommand{\lsISBNsoftcover}{000-0-000000-00-0}
+\newcommand{\lsISBNsoftcoverus}{000-0-000000-00-0}
+\newcommand{\lsBookDOI}{??}
+\newcommand{\lsChapterDOI}{??}
+\newcommand{\lsID}{000}
+\newcommand{\lsURL}{http://langsci-press.org/catalog/book/\lsID}
+\newcommand{\lsSeries}{eotms}
+% \newcommand{\lsSpineBreadth}{20mm}
+\newcommand{\lsOutput}{book}
+\newcommand{\lsBookLanguage}{english}
+\newcommand{\lsFontsize}{11pt}
+\newcommand{\lsChapterFooterSize}{\small} %footers in editedvolumes
+\newcommand{\lsCopyright}{CC-BY}
+\newcommand{\lsSpinewidth}{20mm}
+\newcommand{\lsBiblatexBackend}{biber}
+\newcommand{\logotext}{{\color{red}no logo}}
+\newcommand{\lsYear}{\the\year}
+
+\newcommand{\lsBackBody}{Set blurb on back with {\textbackslash}BackBody\{my blurb\}}
+\newcommand{\lsBackTitle}{\@title}
+\newcommand{\BackTitle}[1]{\renewcommand{\lsBackTitle}{#1}}
+\newcommand{\BackBody}[1]{\renewcommand{\lsBackBody}{#1}}
+
+\newcommand{\newlineCover}{\\} % \newline only on cover
+\newcommand{\newlineSpine}{\\} % \newline only on spine
+\newcommand{\newlineTOC}{\\} % \newline only in TOC entry
+
+\newcommand{\lsSpineTitle}{\@title}
+\newcommand{\lsSpineAuthor}{\@author}
+\newcommand{\SpineTitle}[1]{\renewcommand{\lsSpineTitle}{#1}}
+\newcommand{\SpineAuthor}[1]{\renewcommand{\lsSpineAuthor}{#1}}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Conditionals
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newif\iflsDraft \lsDraftfalse
+\newif\iflsOpenReview \lsOpenReviewfalse
+\newif\iflsUndecapitalize \lsUndecapitalizefalse
+\newif\iflsShowIndex \lsShowIndexfalse
+\newif\iflsBiblatex \lsBiblatextrue
+\newif\iflsCollection \lsCollectionfalse
+\newif\iflsCollectionChapter \lsCollectionChapterfalse
+\newif\iflsCollectionTOCLong \lsCollectionTOCLongfalse
+\newif\iflsNewtxmath \lsNewtxmathfalse
+\newif\iflsCover \lsCoverfalse %output format is cover
+% \newif\iflsUscover \lsUscoverfalse
+\newif\iflsModfonts \lsModfontsfalse
+\newif\iflsNoBabel \lsNoBabelfalse
+\newif\iflsBabelShorthands \lsBabelShorthandsfalse
+\newif\iflsMultiauthors \lsMultiauthorsfalse
+\newif\iflsArseneau \lsArseneaufalse
+\newif\iflsOldStyleNumbers \lsOldStyleNumbersfalse
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Option handling
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\RequirePackage{kvoptions} % for key-value options
+\SetupKeyvalOptions{
+ family=langscibook,
+ prefix=langscibook@ }
+\DeclareStringOption{output}[book]
+ \define@key{langscibook}{output}{%
+ \renewcommand{\lsOutput}{#1}}
+\DeclareStringOption{booklanguage}[english]
+ \define@key{langscibook}{booklanguage}{%
+ \renewcommand{\lsBookLanguage}{#1}}
+\DeclareStringOption{copyright}[CC-BY]
+ \define@key{langscibook}{copyright}{%
+ \renewcommand{\lsCopyright}{#1}}
+\DeclareStringOption{biblatexbackend}[biber]
+ \define@key{langscibook}{biblatexbackend}{%
+ \renewcommand{\lsBiblatexBackend}{#1}}
+\DeclareStringOption{spinewidth}[20mm]
+ \define@key{langscibook}{spinewidth}{%
+ \renewcommand{\lsSpinewidth}{#1}}
+\DeclareVoidOption{smallfont}{
+ \renewcommand{\lsFontsize}{10pt}}
+\DeclareVoidOption{undecapitalize}{
+ \lsUndecapitalizetrue }
+\DeclareVoidOption{draftmode}{ % 'draftmode' instead of 'draft' due to undesirable side efects
+ \lsDrafttrue
+ \overfullrule=5pt } % to indicate overfull hboxes
+\DeclareVoidOption{openreview}{
+ \lsOpenReviewtrue%
+ \AtBeginDocument{\renewcommand{\lsISBNdigital}{000-0-000000-00-0}}}
+\DeclareVoidOption{nonflat}{
+ \renewcommand{\fontpath}{./langsci/fonts/}
+ \renewcommand{\logopath}{./langsci/graphics/}
+ \renewcommand{\seriesinfopath}{./langsci/seriesinfo/}
+ \renewcommand{\localepath}{./langsci/locale/}
+ \renewcommand{\bibstylepath}{./langsci/}
+% \renewcommand{\bbxpath}{\bibstylepath langsci-unified/bbx/}
+% \renewcommand{\cbxpath}{\bibstylepath langsci-unified/cbx/}
+ \renewcommand{\stylepath}{./langsci/styles/}
+}
+\DeclareVoidOption{nobabel}{
+ \lsNoBabeltrue}
+\DeclareVoidOption{babelshorthands}{
+ \lsBabelShorthandstrue}
+\DeclareVoidOption{modfonts}{
+ \lsModfontstrue}
+\DeclareVoidOption{multiauthors}{
+ \lsMultiauthorstrue}
+\DeclareVoidOption{showindex}{
+ \lsShowIndextrue}
+\DeclareVoidOption{biblatex}{
+ \lsBiblatextrue}
+\DeclareVoidOption{bibtex}{
+ \ClassWarningNoLine{langscibook}{BibTeX frontend deprecated. Please use BibLaTeX in the final version}
+ \lsBiblatexfalse}
+\DeclareVoidOption{nonewtxmath}{
+ \lsNewtxmathfalse}
+\DeclareVoidOption{newtxmath}{
+ \lsNewtxmathtrue}
+\DeclareVoidOption{collection}{
+ \lsCollectiontrue}
+\DeclareVoidOption{collectionchapter}{
+ \lsCollectiontrue%
+ \lsCollectionChaptertrue}
+\DeclareVoidOption{collectiontoclong}{
+ \lsCollectiontrue%
+ \lsCollectionTOCLongtrue}
+\DeclareVoidOption{arseneau}{\lsArseneautrue}
+\DeclareVoidOption{oldstylenumbers}{\lsOldStyleNumberstrue}
+\DeclareVoidOption{chinesefont}{
+ \newfontfamily\cn[Mapping=tex-text,Ligatures=Common,Scale=MatchUppercase]{AR PL UMing CN}
+% \newcommand{\zh}[1]{{\cn #1}}
+ \XeTeXlinebreaklocale 'zh'
+ \XeTeXlinebreakskip = 0pt plus 1pt
+ \AdditionalFontImprint{UMing}
+}
+\DeclareVoidOption{japanesefont}{
+ \newfontfamily\jpn[Mapping=tex-text,Ligatures=Common,Scale=MatchUppercase]{TakaoPGothic} %Japanese
+% \newcommand{\jp}[1]{{{\jpn #1}}}
+ \XeTeXlinebreaklocale 'ja'
+ \AdditionalFontImprint{TakaoPGothic}
+}
+% \DeclareVoidOption{koreanfont}{
+% \newfontfamily\hangul[Mapping=tex-text,Ligatures=Common,Scale=MatchUppercase]{./SourceHanSerifK.otf}
+% \newcommand{\kr}[1]{{\sffamily #1}}
+% \AdditionalFontImprint{Korean}}
+\DeclareVoidOption{arabicfont}{
+ \newfontfamily\arabicfont[Script=Arabic,ItalicFont=*,Scale=1.4]{arabtype.ttf}
+% \newcommand{\textarabic}[1]{{\arabicfont #1}}
+ \AdditionalFontImprint{Arabtype}
+}
+\DeclareVoidOption{hebrewfont}{
+ \newfontfamily\hebrewfont[Script=Hebrew,ItalicFont=*, Scale=0.9]{SBLHebrew.ttf}
+% \newcommand{\texthebrew}[1]{{\hebrewfont #1}}
+ \AdditionalFontImprint{SBLHebrew}
+}
+\DeclareVoidOption{syriacfont}{
+ \newfontfamily\syriacfont[Script=Syriac]{EstrangeloEdessa.ttf}
+% \newcommand{\textsyriac}[1]{{\syriacfont #1}}
+ \AdditionalFontImprint{Estrangelo Edessa}
+}
+
+\ProcessKeyvalOptions{langscibook}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Class
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\LoadClass[
+ fontsize=\lsFontsize, % default is 11pt
+ footnotes=multiple,
+ numbers=noenddot, % no point after last number of chapters/sections
+ toc=bibliography,
+ index=totoc,
+ %chapterprefix=true,
+ %draft=yes,
+ %appendixprefix
+ ]{scrbook}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Packages
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{morewrites} %more helper files to write to
+\usepackage{etex}
+\reserveinserts{18}
+\usepackage{xstring}
+\usepackage{graphicx}
+\usepackage{hyphenat}
+
+\usepackage{tikz} % Needed for covers and advert page
+ \usetikzlibrary{positioning}
+ \usetikzlibrary{calc}
+
+\usepackage{pbox} % boxes with maximum width
+\usepackage[hyphens]{url}
+\urlstyle{same}
+
+
+%% standard commands
+\usepackage{\stylepath langsci-basic} % FIXME: contains important commands for the index (\isi etc.) which should be defined in the class
+\usepackage{todonotes}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Print on demand macros
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Basic cover commands, including PGF layers
+\newcommand{\podsetup}{
+ \lsCovertrue
+ \renewcommand{\maketitle}{} %no need for this
+ \pagestyle{empty}
+ \pgfdeclarelayer{lspcls_bg} % Create a background layer that serves as the canvas for the coloured rectangles.
+ \pgfsetlayers{lspcls_bg,main} % Order the background layer behind the main layer of TikZ.
+ \renewcommand{\and}{, }%
+ \renewcommand{\lastand}{ \& }%
+ \renewcommand{\affiliation}[1]{}
+}
+
+
+% Content creation for the spine. Including Logo, author, title, and volume number on spine.
+\newcommand{\podspine}{
+ \renewcommand{\newlineCover}{}
+ \renewcommand{\and}{, }
+ \renewcommand{\lastand}{ \& }
+ \node [above = 0mm of CoverSpine.south, anchor=base] (lspcls_spinelogo) {\color{\lsSeriesColor}\includegraphics{\logopath langsci_spinelogo_nocolor.pdf}};
+\node [below = 0mm of CoverSpine.north, anchor=north] (lspcls_splinenumber) {\color{\lsSeriesColor}
+ {\parbox{.47cm}{
+ \centering
+ \sffamily
+ \huge
+ \lsSeriesNumber
+ }
+ }
+};
+
+ \node [font=\fontsize{18pt}{14pt}\selectfont, above left = 15mm and 4mm of lspcls_spinelogo.north, rotate=270] (lspcls_spinetitle) {\color{\lsSeriesColor} \lsSpineAuthorFont{\lsSpineAuthor\xspace\lsEditorSuffix} \hspace{13mm} \lsSpineTitleFont{\lsSpineTitle}};
+ \renewcommand{\newlineCover}{\\}
+}
+
+% Fill the canvas for the cover with coloured areas on back and front cover
+% Argument 1: White margin that encompasses the coloured title and backtitle form. Input: 12.34mm
+% Argument 2: Height of the coloured title and backtitle form and of the spine. Input: 12.45cm
+% Argument 3: Width of the coloured title and backtitle form. Input: 12.45cm
+\newcommand{\podgeometry}[3]{
+ \begin{pgfonlayer}{lspcls_bg} % Draw on the background layer
+ \node [ bg, % Draw the coloured background on the front cover
+ left = #1 of current page.east,
+ fill=\lsSeriesColor,
+ minimum height=#2,
+ minimum width=#3
+ ] (CoverColouredRectangleFront) {}; % Die können wir noch dynamisch bestimmen % 7.5mm -> 10.675mm for bleed
+ \node [ bg, % Draw the coloured background on the back cover
+ right = #1 of current page.west,
+ fill=\lsSeriesColor,
+ minimum height=#2,
+ minimum width=#3
+ ] (CoverColouredRectangleBack) {};
+ \node at (current page.center) [ % Create a reference node for the spine
+ bg,
+ minimum height=#2,
+ minimum width=\spinewidth,dashed
+ ] (CoverSpine) {}; % add [draw] option for preview mode
+ \end{pgfonlayer}
+}
+
+% Generates the content of the back cover
+% Argument 1: Text width, corresponding to Argument 1 of \podfrontcovertoptext
+\newcommand{\podbackcover}[1]{
+ \node [ font=\fontsize{25pt}{10mm}\selectfont,
+ right,
+ below right = 10mm and 7.5mm of CoverColouredRectangleBack.north west,
+ text width=#1
+ ] (lspcls_backtitle) {\color{white}\lsBackTitleFont{\raggedright\lsBackTitle\par}};
+ \node [ below = 10mm of lspcls_backtitle,
+ text width=#1,
+ align=justify
+ ] {\color{white}\lsBackBodyFont{\parindent=15pt\lsBackBody}};
+ \node [ below right = 192.5mm and 97.5mm of CoverColouredRectangleBack.north west,
+ text width=4cm] {%
+ \colorbox{white}{
+ \begin{pspicture}(0,0)(4.1,1in)
+ \psbarcode[transx=.4,transy=.3]{\lsISBNcover}{includetext height=.7}{isbn}%
+ \end{pspicture}
+ }
+ };
+}
+
+% Generates the content on the front cover, including title, author, subtitle. See below for remaining commands
+% Argument 1: Text width on the front cover. Input: 12.34mm
+% Argument 2: Font size on the front cover. Adjust to compensate varying text width. Input: 12.34pt
+\newcommand{\podfrontcovertoptext}[3][white]{
+ \renewcommand{\and}{\\}
+ \renewcommand{\lastand}{\\}
+ \renewcommand{\newlineCover}{\\}
+
+ \node [ execute at begin node={},
+ font=\fontsize{#3}{17.25mm}\selectfont,
+ below right = 10mm and 7.5mm of CoverColouredRectangleFront.north west,
+ text width=#2,
+ align=left
+ ] (lspcls_covertitle) {\color{#1}\lsCoverTitleFont{\raggedright\@title\par}};
+
+ \ifx\@subtitle\empty % Is there a subtitle? If no, just print the author.
+ \node [ font=\fontsize{25pt}{12.5mm}\selectfont,
+ right,
+ below = 11.2mm of lspcls_covertitle.south,
+ text width=#2
+ ] {\color{#1}\lsCoverAuthorFont\nohyphens{\lsEditorPrefix\@author\par}};
+ \else % If yes, create a node for subtitle and author
+ \node [ font=\fontsize{25pt}{10mm}\selectfont,
+ below = 8mm of lspcls_covertitle.south,
+ text width=#2,
+ align=left
+ ] (lspcls_coversubtitle) {\color{#1}\lsCoverSubTitleFont{\raggedright\@subtitle\par}};
+ \node [
+ font=\fontsize{25pt}{12.5mm}\selectfont,
+ right,
+ below = 11.2mm of lspcls_coversubtitle.south,
+ text width=#2
+ ] {\color{#1}\lsCoverAuthorFont{\nohyphens{\lsEditorPrefix\@author\par}}};
+ \fi
+}
+
+% Generates the bottom half of the front cover content: series, series number, logo.
+\newcommand{\podcoverbottomtext}[1][white]{
+ \node [ above right = 18.5mm and -.1mm of CoverColouredRectangleFront.south west,
+ rectangle,
+ fill=white,
+ minimum size=17pt] (lspcls_square) {}; % This is the white square at the bottom left of the front cover
+ \node [ above left = 10mm and 7.5mm of CoverColouredRectangleFront.south east] {\color{#1}\includegraphics{\logopath langsci_logo_nocolor.pdf}}; % Print the Language Science press Logo
+ \path let \p1 = (lspcls_square.north east), % Calculate the exact coordinates for the Series Title to print.
+ \p2 = (lspcls_covertitle.west)
+ in node at (\x2,\y1) (lspcls_seriesinfo) [
+ font=\fontsize{17pt}{7.5mm}\selectfont,
+ right,
+ text width=95mm,
+ anchor=north west]
+ {\color{#1}\lsCoverSeriesFont{\lsSeriesTitle\par}};
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Output types
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% \newcommand{\lsOutputLong}{long}
+\newcommand{\lsOutputBook}{book} % standard book
+\newcommand{\lsOutputInprep}{inprep} % marks manuscript as in preparation
+\newcommand{\lsOutputPaper}{paper} % paper in edited volume
+\newcommand{\lsOutputGuidelines}{guidelines} % guidelines
+\newcommand{\lsOutputCoverBODsc}{coverbodsc} % cover with BoD measurements
+\newcommand{\lsOutputCoverBODhc}{coverbodhc} % cover with BoD measurements
+\newcommand{\lsOutputCoverCS}{covercreatespace} % cover with CreateSpace measurements
+
+
+%% Output types are defined with \newcommand above so they can be used with geometry.
+
+\AtBeginDocument{
+\ifx\lsOutput\lsOutputPaper % only if output==paper
+ \usepackage{chngcntr}
+ \counterwithout{figure}{chapter}
+ \counterwithout{table}{chapter}
+ \lsPaper
+\else % only if output!=paper
+\renewcommand{\maketitle}{
+\begin{titlepage}
+ \thispagestyle{empty}
+\ifx\lsOutput\lsOutputBook % only if output==book
+ \setcounter{page}{-1}
+ %% First titlepage:
+ {\lsFrontPage}
+ %%%%%%%%%%%%%%%%%%%
+ \pagenumbering{roman}\clearpage\thispagestyle{empty} % We use roman pagenumbering here instead of \frontmatter because scrbook's frontmatter command issues a \clear(double)page, which is unnec. in digital publications.
+ %% Series information:
+ {\lsSeriesHistory}
+ %%%%%%%%%%%%%%%%%%%%%
+ \clearpage%\thispagestyle{empty}
+ %% Schmutztitel:
+ {\renewcommand{\lsCoverBlockColor}{white}
+ \renewcommand{\lsCoverFontColor}{\lsSeriesColor}
+ \lsSchmutztitel}
+ %%%%%%%%%%%%%%%%%%%%
+ \AtEndDocument{
+ \lsPageStyleEmpty
+ \null\newpage\thispagestyle{empty}
+ %% Advertisement:
+ {\lsAdvertisement}
+ \null\newpage\thispagestyle{empty}
+ %% Back page:
+ {\lsBackPage}
+ \null\newpage\thispagestyle{empty}
+ }
+\fi
+
+\ifx\lsOutput\lsOutputInprep % only if output==inprep
+ {\renewcommand{\lsCoverBlockColor}{white}
+ \renewcommand{\lsCoverFontColor}{black}
+ \lsCoverBlock
+ \lsCoverTitleAuthor}
+\fi
+
+\ifx\lsOutput\lsOutputGuidelines % only if output==guidelines
+ {\setcounter{page}{-1}
+ \renewcommand{\lsAdvertisement}{}
+ %% First titlepage:
+ {\lsFrontPage}
+ }
+
+\fi
+
+\ifx\lsOutput\lsOutputCoverBODhc % only if output==cover
+ \podsetup
+ \begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}]
+ \podgeometry{24.2mm}{23.1cm}{15.5cm}
+ \podspine
+ \podfrontcovertoptext{140mm}{51pt} % Due to different cover sizes, the text size was adjusted so that the difference in line breaks would be minimal between hard and softcover books.
+ \podcoverbottomtext
+ \newcommand{\lsISBNcover}{\lsISBNhardcover}
+ \podbackcover{137mm}
+ \end{tikzpicture}
+ %exit the document right here
+ \end{titlepage}
+ \end{document}
+ \fi
+
+
+\ifx\lsOutput\lsOutputCoverBODsc % only if output==cover
+ \podsetup
+ \begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}]
+ \podgeometry{13.75mm}{23.1cm}{15.5cm}
+ \podspine
+ \podfrontcovertoptext{140mm}{51pt} % Due to different cover sizes, the text size was adjusted so that the difference in line breaks would be minimal between hard and softcover books.
+ \podcoverbottomtext
+ \newcommand{\lsISBNcover}{\lsISBNsoftcover}
+ \podbackcover{137mm}
+ \end{tikzpicture}
+ %exit the document right here
+ \end{titlepage}
+ \end{document}
+ \fi
+
+
+% ============================
+\ifx\lsOutput\lsOutputCoverCS % only if output==covercs
+ \podsetup
+ \begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}]
+ \podgeometry{10.675mm}{22.5cm}{15.5cm}
+ \podspine
+ \podfrontcovertoptext{140mm}{52pt} % Due to different cover sizes, the text size was adjusted so that the difference in line breaks would be minimal between hard and softcover books.
+ \podcoverbottomtext
+% \iflsUscover\newcommand{\lsISBNcover}{\lsISBNsoftcoverus}\else\newcommand{\lsISBNcover}{\lsISBNsoftcover}\fi
+ \podbackcover{140mm}
+ \end{tikzpicture}
+ %exit the document right here
+ \end{titlepage}
+ \end{document}
+\fi
+\end{titlepage}
+
+% \null\newpage\thispagestyle{empty}
+\hypersetup{colorlinks=false, citecolor=brown, pdfborder={0 0 0}} % for hyperref
+\color{black}
+\lsInsideFont
+
+%% Imprint:
+\ifx\lsOutput\lsOutputInprep{}
+\else{
+ \ifx\lsOutput\lsOutputGuidelines{}
+ \else{\lsImpressum}
+ \fi}
+\fi
+%%%%%%%%%%%%%
+
+% \null\newpage\thispagestyle{plain}
+%\pagenumbering{roman} % or \frontmatter
+
+%% Dedication:
+\ifx\@dedication\empty{}
+\else{\newpage\lsDedication}
+\fi
+%%%%%%%%%%%%%%%%
+
+} %% \maketitle
+\fi
+
+%% for those who like the example in numbered example sentences to be typeset in italics
+%% this is possible for a complete series only.
+\ifx\lsSeries\sidl
+ %\def\exfont{\normalsize\itshape}
+ \renewcommand{\eachwordone}{\itshape} % only \gll
+
+ \let\oldtable\table % footnotes in tables without horizontal line
+ \let\endoldtable\endtable
+ \renewenvironment{table}{\setfootnoterule{0pt}\oldtable}{\endoldtable}
+\fi
+
+\ifx\lsSeries\pmwe
+ \renewcommand{\eachwordone}{\normalfont}
+\fi
+
+\ifx\lsSeries\nc
+ \renewcommand{\eachwordone}{\itshape}
+\fi
+
+
+
+} %% \AtBeginDocument
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Geometry
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% For output type cover
+% \newlength{\csspine} % CS spine width algorithm, when page count is known: Total Page Number (excluding cover), usually (Total Page - 3) * 0.0572008 mm
+% \newlength{\bodspine} % BoD spine width algorithm located at http://www.bod.de/hilfe/coverberechnung.html (German only, please contact LangSci for help)
+\newlength{\bleed}
+\newlength{\seitenbreite}
+\newlength{\seitenhoehe}
+\newlength{\spinewidth}
+\newlength{\totalwidth}
+\newlength{\totalheight}
+\setlength{\bleed}{3.175mm}
+\setlength{\spinewidth}{\lsSpinewidth} % Create Space Version
+\usepackage{calc}
+
+ \ifx\lsOutput\lsOutputCoverCS % if output = cover; This is the CreateSpace Version
+ \lsCovertrue
+ \setlength{\bleed}{3.175mm}
+ \setlength{\seitenbreite}{169.9mm}
+ \setlength{\seitenhoehe}{244.1mm}
+ \setlength{\totalwidth}{\spinewidth+\seitenbreite+\seitenbreite+\bleed+\bleed}
+ \setlength{\totalheight}{\seitenhoehe+\bleed+\bleed}
+ \usepackage[paperheight=\totalheight, paperwidth=\totalwidth]{geometry}
+ \hyphenpenalty 750
+\fi
+
+\ifx\lsOutput\lsOutputCoverBODhc
+ \lsCovertrue
+ \newlength{\bodfold}
+ \newlength{\totalspine}
+ \setlength{\bodfold}{8mm}
+ \setlength{\seitenbreite}{192mm}
+ \setlength{\seitenhoehe}{280mm} % For BOD: Hardcover, Runder Rücken, Kaschiert, papier 80g/m², weiß, Papier 17x24cm
+% \setlength{\spinewidth}{\bodspine}
+% \setlength{\totalspine}{\spinewidth+\bodfold+\bodfold}
+ \setlength{\totalspine}{\spinewidth}
+ \setlength{\totalwidth}{\spinewidth+\seitenbreite+\seitenbreite}
+ \setlength{\totalheight}{\seitenhoehe}
+ \usepackage[paperheight=\totalheight, paperwidth=\totalwidth]{geometry}
+ \hyphenpenalty 750
+\fi
+
+
+\ifx\lsOutput\lsOutputCoverBODsc
+ \lsCovertrue
+ \newlength{\totalspine}
+ \setlength{\seitenbreite}{170mm}
+ \setlength{\seitenhoehe}{240mm} % For BOD: Softcover, papier 80g/m², weiß, Papier 17x24cm
+ \setlength{\bleed}{5mm}
+ \setlength{\totalspine}{\spinewidth}
+ \setlength{\totalwidth}{\spinewidth+\seitenbreite+\seitenbreite+\bleed+\bleed}
+ \setlength{\totalheight}{\seitenhoehe+\bleed+\bleed}
+ \usepackage[paperheight=\totalheight, paperwidth=\totalwidth]{geometry}
+ \hyphenpenalty 750
+\fi
+
+%Page size and text area if not cover
+
+\iflsCover
+%output types cover have already been handled
+\else % output != cover
+ \usepackage[
+ papersize={170mm,240mm}
+ ,top=27.4mm % TODO nachgemessen, nach Vermassung eigentlich 30mm-16pt = 25.8mm
+ ,inner=20.5mm,
+ ,outer=24.5mm
+ %,showframe,pass
+ ,marginparwidth=50pt
+ ]{geometry}
+\fi
+
+\usepackage[
+ absolute % for absolute positioning in titlepage
+ %,showboxes
+ ]{textpos}
+\setlength{\TPHorizModule}{1mm}
+\setlength{\TPVertModule}{\TPHorizModule}
+\textblockorigin{0mm}{0mm}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Fonts
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{ifxetex}
+\ifxetex\else\ClassError{langsci/langscibook}{Please use XeLaTeX!}{}\fi
+
+%% Typesetting of mathematical formulas
+\usepackage{amssymb} % has to be loaded before other stuff
+\usepackage{amsmath} % has to be loaded before mathspec/unicode-math
+
+\iflsNewtxmath\else
+%% There is a known problem in the interplay between \binom, unicode-math, and OTF
+%% https://tex.stackexchange.com/questions/269980/wrong-parentheses-size-in-binom-with-xelatex-and-unicode-math-in-displaystyle
+\ifx\Umathcode\@undefined\else
+
+\DeclareRobustCommand{\genfrac}[6]{%
+ \def\@tempa{#1#2}%
+ \edef\@tempb{\@nx\@genfrac\@mathstyle{#4}%
+ % just \over or \above never withdelims versions
+ \ifx @#3@\@@over\else\@@above\fi
+ }%
+ \ifx\@tempa\@empty \else
+ \bgroup % so mathord not mathinner
+ \left\ifx\relax#1\relax.\else#1\fi % assumes . is null delimiter
+ % otherwise add specified delimiter
+ \kern-\nulldelimiterspace % fractions add extra nulldelimiter space
+ \fi
+ \@tempb{#3}{\mathstrut{#5}}{\mathstrut{#6}}%
+ \ifx\@tempa\@empty \else
+ \kern-\nulldelimiterspace
+ \right\ifx\relax#2\relax.\else#2\fi
+ \egroup
+ \fi
+}
+\fi
+%% Provides \setmathfont
+\usepackage{unicode-math}
+\fi
+
+\iflsNewtxmath
+%% Deprecated:
+\PassOptionsToPackage{no-math}{fontspec} % must appear before metalogo or any fontspec stuff; deactivates fontspec's math settings, which is necessary to let newtxmath do the job
+\fi
+
+\usepackage{metalogo}\newcommand{\xelatex}{\XeLaTeX\xspace}
+\usepackage{dejavu}
+\usepackage{libertine}
+
+\setmonofont[
+ Ligatures={TeX},Scale=MatchLowercase,
+ BoldFont = DejaVuSansMono-Bold.ttf ,
+ SlantedFont = DejaVuSansMono-Oblique.ttf ,
+ BoldSlantedFont = DejaVuSansMono-BoldOblique.ttf
+ ]{DejaVuSansMono.ttf}
+
+\iflsNewtxmath\else
+\setmathfont[AutoFakeBold]{libertinusmath-regular.otf}
+\fi
+
+\iflsModfonts% use Langsci fonts
+ \iflsOldStyleNumbers
+ \defaultfontfeatures[LinLibertine_RZ_B.otf,LinLibertine_RI_B.otf,LinLibertine_RZI_B.otf,LinLibertine_R_B.otf]{SmallCapsFeatures={Numbers=OldStyle}}
+ \fi
+ \setsansfont[
+ %Ligatures={TeX,Common}, % not supported by ttf
+ Scale=MatchLowercase,
+ Path=\fontpath,
+ BoldFont = Arimo-Bold_B.ttf ,
+ ItalicFont = Arimo-Italic_B.ttf ,
+ BoldItalicFont = Arimo-BoldItalic_B.ttf
+ ]{Arimo_B.ttf}
+
+ \setmainfont[
+ Ligatures={TeX,Common},
+ Path=\fontpath,
+ PunctuationSpace=0,
+ Numbers={Proportional},
+ BoldFont = LinLibertine_RZ_B.otf ,
+ ItalicFont = LinLibertine_RI_B.otf ,
+ BoldItalicFont = LinLibertine_RZI_B.otf,
+ BoldSlantedFont = LinLibertine_RZ_B.otf,
+ SlantedFont = LinLibertine_R_B.otf,
+ SlantedFeatures = {FakeSlant=0.25},
+ BoldSlantedFeatures = {FakeSlant=0.25},
+ SmallCapsFeatures = {FakeSlant=0},
+ ]{LinLibertine_R_B.otf}
+\else % use standard fonts
+ \iflsOldStyleNumbers
+ \defaultfontfeatures[LinLibertine_RZ.otf,LinLibertine_RI.otf,LinLibertine_RZI.otf,LinLibertine_R.otf]{SmallCapsFeatures={Numbers=OldStyle}}
+ \fi
+ \setsansfont[
+ %Ligatures={TeX,Common}, % not supported by ttf
+ Scale=MatchLowercase,
+ Path=\fontpath,
+ BoldFont = Arimo-Bold.ttf ,
+ ItalicFont = Arimo-Italic.ttf ,
+ BoldItalicFont = Arimo-BoldItalic.ttf
+ ]{Arimo-Regular.ttf}
+
+ \setmainfont[
+ Ligatures={TeX,Common},
+ Path=\fontpath,
+ PunctuationSpace=0,
+ Numbers={Proportional},
+ BoldFont = LinLibertine_RZ.otf ,
+ ItalicFont = LinLibertine_RI.otf ,
+ BoldItalicFont = LinLibertine_RZI.otf,
+ BoldSlantedFont = LinLibertine_RZ.otf,
+ SlantedFont = LinLibertine_R.otf,
+ SlantedFeatures = {FakeSlant=0.25},
+ BoldSlantedFeatures = {FakeSlant=0.25},
+ SmallCapsFeatures = {FakeSlant=0},
+ ]{LinLibertine_R.otf}
+\fi
+
+%% Deprecated:
+\iflsNewtxmath % some users have problems when installing newtxmath
+ \usepackage[libertine]{newtxmath}
+
+ %% following http://tex.stackexchange.com/questions/297328/xelatex-does-not-load-newtxmath-with-linuxlibertine-sometimes
+ %% due to a bug in XeTeX. This also seems to fix an issue with \url in footnotes.
+ %% Unfortunately, this is NOT extensively tested!
+ \usepackage{xpatch}
+ \xpretocmd{\textsuperscript}
+ {{\sbox0{$\textstyle x$}}}
+ {}{}
+ \AtBeginDocument{%
+ \DeclareSymbolFont{operators}{\encodingdefault}{\familydefault}{m}{n}%
+ \SetSymbolFont{operators}{bold}{\encodingdefault}{\familydefault}{b}{n}%
+ }
+\fi
+
+\let\oldtabular\tabular % number in tabulars
+\let\endoldtabular\endtabular
+\renewenvironment{tabular}{\normalfont\addfontfeatures{Numbers=Lining}\selectfont\oldtabular}{\endoldtabular}
+
+\frenchspacing %see https://en.wikipedia.org/wiki/Sentence_spacing#Typography
+\usepackage[final]{microtype}
+
+\newcommand{\lsCoverTitleFont}[1]{\sffamily\addfontfeatures{Scale=MatchUppercase}\fontsize{52pt}{17.25mm}\selectfont #1}
+\newcommand{\lsCoverSubTitleFont}{\sffamily\addfontfeatures{Scale=MatchUppercase}\fontsize{25pt}{10mm}\selectfont}
+\newcommand{\lsCoverAuthorFont}{\fontsize{25pt}{12.5mm}\selectfont}
+\newcommand{\lsCoverSeriesFont}{\sffamily\fontsize{17pt}{7.5mm}\selectfont} % fontsize?
+\newcommand{\lsCoverSeriesHistoryFont}{\sffamily\fontsize{10pt}{5mm}\selectfont}
+\newcommand{\lsInsideFont}{} % obsolete, see \setmainfont
+\newcommand{\lsDedicationFont}{\fontsize{15pt}{10mm}\selectfont}
+\newcommand{\lsBackTitleFont}{\sffamily\addfontfeatures{Scale=MatchUppercase}\fontsize{25pt}{10mm}\selectfont}
+\newcommand{\lsBackBodyFont}{\lsInsideFont}
+\newcommand{\lsSpineAuthorFont}{\bfseries\fontsize{16pt}{14pt}\selectfont}
+\newcommand{\lsSpineTitleFont}{\sffamily\bfseries\fontsize{18pt}{14pt}\selectfont}
+
+\setkomafont{sectioning}{\normalcolor\bfseries}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Colors
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{xcolor}
+\input{\seriesinfopath langsci-series.def} % \lsSeriesColor, \lsSeriesTitle, \lsISSN and colors are defined here
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Cover
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{pst-barcode} % for generating bar codes
+\newcommand{\lsCoverFontColor}{white}
+\newcommand{\lsCoverBlockColor}{\lsSeriesColor}
+
+\newcommand{\lsEditorPrefix}{}
+\newcommand{\lsEditorSuffix}{}
+\iflsCollection % for collections: set \lsEditorSuffix depending on \@author
+ \AtBeginDocument{
+ \renewcommand{\newlineCover}{}
+ \renewcommand{\newlineSpine}{}
+ \renewcommand{\lsEditorPrefix}{{\Large Edited by\\}}
+ \renewcommand{\lsEditorSuffix}{(ed.)}
+ \iflsMultiauthors
+ \renewcommand{\lsEditorSuffix}{(eds.)}
+ \fi
+ }
+\else
+\fi
+
+\newcommand{\lsCoverBlock}{
+ \begin{textblock}{155}(7.6,7.5)
+ \color{\lsCoverBlockColor}
+ \raggedright\rule{155mm}{225mm}
+ \end{textblock}
+ \iflsDraft
+ \begin{textblock}{155}(30,80)
+ \color{lsLightGray}
+ \rotatebox{40}{
+ \begin{tabular}{c}
+ \scalebox{10}{DRAFT}\\
+ of \today, \currenttime
+ \end{tabular}}
+ \end{textblock}
+ \fi
+ \iflsOpenReview
+ \iflsDraft
+ \ClassError{langsci/langscibook}{Open review mode not compatible with draft mode. Please disable one of them}{}
+ \fi
+ \begin{textblock}{170}(-20,75)
+ \rotatebox{30}{
+ \colorbox{red}{
+ \parbox[c][15ex][c]{220mm}{\centering\lsCoverTitleFont\color{white}Open Review\\[-0.1ex]}
+ }
+ }
+ \end{textblock}
+ \fi
+% \iflsUndecapitalize
+% \begin{textblock}{170}(-20,75)
+% \rotatebox{30}{
+% \colorbox{red}{
+% \parbox[c][15ex][c]{220mm}{\centering\lsCoverTitleFont\color{white}Undecapitalized\\[-0.1ex]}
+% % \begin{tabular}{c}
+% % ~\\
+% % \scalebox{6}{\color{red}Open Review}\\[-0.5ex]
+% % ~%version of \today, \currenttime
+% % \end{tabular}
+% }
+% }
+% \end{textblock}
+% \fi
+
+ }
+
+\newcommand{\lsCoverTitleAuthor}{
+ \renewcommand{\and}{\\}
+ \renewcommand{\lastand}{\\}
+ \renewcommand{\newlineCover}{\\}
+ \renewcommand{\newlineSpine}{}
+ \lsCoverBlock
+
+ \begin{textblock}{140}(15,17.5)
+ \color{\lsCoverFontColor}
+ \raggedright
+ {\lsCoverTitleFont{\@title\\}}
+
+ \ifx\@subtitle\empty
+ \else \vspace{8mm} {\lsCoverSubTitleFont \@subtitle\\}
+ \fi
+
+ \vspace{11.2mm} % 20mm - 25pt
+
+ \raggedright
+ {\lsCoverAuthorFont
+ \lsEditorPrefix\@author\\}
+ \end{textblock}}
+
+\newcommand{\lsCoverSeries}{
+ \begin{textblock}{95}(7.4,209)
+ \color{white}
+ \raggedright\rule{3.6mm}{3.5mm}
+ \color{\lsCoverFontColor}
+ \hspace{3mm}\parbox[t]{85mm}{\raggedright\lsCoverSeriesFont
+ \lsSeriesTitle\\}
+ \end{textblock}}
+
+\newcommand{\lsCoverLogo}{
+ \begin{textblock}{33}(124.6,205)
+ \raggedright\IfFileExists{\logopath langsci_logo_nocolor.pdf}{\includegraphics{\logopath langsci_logo_nocolor.pdf}}{langsci logo}
+ \end{textblock}}
+
+ \pgfdeclarelayer{lspcls_bg} % Create a background layer that serves as the canvas for the coloured rectangles.
+ \pgfsetlayers{lspcls_bg,main} % Order the background layer behind the main layer of TikZ.
+
+\newcommand{\lsFrontPage}{% Front page
+ \ifcsname tikz@library@external@loaded\endcsname\tikzexternaldisable\fi
+ \pgfdeclarelayer{lspcls_bg} % Create a background layer that serves as the canvas for the coloured rectangles.
+ \pgfsetlayers{lspcls_bg,main} % Order the background layer behind the main layer of TikZ.
+ \thispagestyle{empty}
+ \renewcommand{\and}{, }%
+ \renewcommand{\lastand}{ \& }%
+ \renewcommand{\affiliation}[1]{}
+\begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}]
+ \begin{pgfonlayer}{lspcls_bg}
+ \node [ bg,
+ left=7.5mm of current page.east,
+ fill=\lsSeriesColor,
+ minimum width=155mm,
+ minimum height=225mm
+ ] (CoverColouredRectangleFront) {};
+ \end{pgfonlayer}
+ \podfrontcovertoptext{140mm}{51pt}
+ \podcoverbottomtext
+ \iflsDraft \node [rotate=45,align=center,scale=3,color=white,text opacity=.75] at (current page.center) {\lsCoverTitleFont Draft\\of \today, \currenttime}; \fi
+ \iflsOpenReview \node [rotate=45,align=center,scale=1.5,color=white,text opacity=.75] at (current page.center) {\lsCoverTitleFont Open Review\\Version of \today, \currenttime}; \fi
+% \iflsUndecapitalize \node [rotate=45,scale=1.5,color=white,text opacity=.75] at (current page.center) {\lsCoverTitleFont Undecapitalized}; \fi
+\end{tikzpicture}
+\ifcsname tikz@library@external@loaded\endcsname\tikzexternalenable\fi
+}
+
+\newcommand{\lsSchmutztitel}{% Schmutztitel
+ \ifcsname tikz@library@external@loaded\endcsname\tikzexternaldisable\fi
+ \pgfdeclarelayer{lspcls_bg} % Create a background layer that serves as the canvas for the coloured rectangles.
+ \pgfsetlayers{lspcls_bg,main} % Order the background layer behind the main layer of TikZ.
+ \thispagestyle{empty}
+ \renewcommand{\and}{, }%
+ \renewcommand{\lastand}{ \& }%
+ \renewcommand{\affiliation}[1]{}%
+\begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}]
+ \begin{pgfonlayer}{lspcls_bg}
+ \node [ bg,
+ left=7.5mm of current page.east,
+ fill=white,
+ minimum width=155mm,
+ minimum height=225mm
+ ] (CoverColouredRectangleFront) {};
+ \end{pgfonlayer}
+ \podfrontcovertoptext[\lsSeriesColor]{140mm}{51pt}
+ \node [ above left = 10mm and 7.5mm of CoverColouredRectangleFront.south east] {\color{\lsSeriesColor}\includegraphics{\logopath langsci_logo_nocolor.pdf}}; % Print the Language Science press Logo
+\end{tikzpicture}
+\ifcsname tikz@library@external@loaded\endcsname\tikzexternalenable\fi
+}
+
+%\usepackage{pdfpages}
+\newcommand{\lsAdvertisement}{%
+ \include{\logopath langsci-advertisement}
+}
+
+\newcommand{\lsBackPage}{%
+ \ifcsname tikz@library@external@loaded\endcsname\tikzexternaldisable\fi
+ \pgfdeclarelayer{lspcls_bg} % Create a background layer that serves as the canvas for the coloured rectangles.
+ \pgfsetlayers{lspcls_bg,main} % Order the background layer behind the main layer of TikZ.
+ \pagestyle{empty}
+ \renewcommand{\and}{, }%
+ \renewcommand{\lastand}{ \& }%
+ \renewcommand{\affiliation}[1]{}
+ \newcommand{\lsISBNcover}{\lsISBNdigital}
+\begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}]
+ \begin{pgfonlayer}{lspcls_bg}
+ \node [ bg,
+ right=7.5mm of current page.west,
+ fill=\lsSeriesColor,
+ minimum width=155mm,
+ minimum height=225mm
+ ] (CoverColouredRectangleBack) {};
+ \end{pgfonlayer}
+ \podbackcover{137mm}
+ \end{tikzpicture}
+ \ifcsname tikz@library@external@loaded\endcsname\tikzexternalenable\fi
+ }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Series history
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\lsSeriesHistory}{
+\color{black}
+\raggedright\lsCoverSeriesHistoryFont
+
+\IfFileExists{\seriesinfopath \lsSeries-info.tex}{\input{\seriesinfopath\lsSeries-info}}{
+ Series information: \seriesinfopath \lsSeries-info.tex not found!}
+
+\IfStrEq{\lsISSN}{??} % \IfStrEq from xstring
+ {}
+ {\vfill\hfill ISSN: \lsISSN}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Imprint
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% for imprint:
+\def\translator#1{\gdef\@translator{#1}}
+\translator{}
+
+\def\typesetter#1{\gdef\@typesetter{#1}}
+\typesetter{}
+
+\def\proofreader#1{\gdef\@proofreader{#1}}
+\proofreader{}
+
+\def\openreviewer#1{\gdef\@openreviewer{#1}}
+\openreviewer{}
+
+\def\illustrator#1{\gdef\@illustrator{#1}}
+\illustrator{}
+
+\newcommand{\lsAdditionalFontsImprint}{}
+\newcommand{\AdditionalFontImprint}[1]{
+ \edef\fontstemp{\lsAdditionalFontsImprint}
+ \renewcommand{\lsAdditionalFontsImprint}{\fontstemp, #1}
+}
+
+%\def\@author{\@latex@warning@no@line{No \noexpand\author given}}
+\newcommand{\ISBNdigital}[1]{\renewcommand{\lsISBNdigital}{#1}}
+\newcommand{\ISBNsoftcover}[1]{\renewcommand{\lsISBNsoftcover}{#1}}
+\newcommand{\ISBNsoftcoverus}[1]{\renewcommand{\lsISBNsoftcoverus}{#1}}
+\newcommand{\ISBNhardcover}[1]{\renewcommand{\lsISBNhardcover}{#1}}
+
+\newcommand{\URL}[1]{\renewcommand{\lsURL}{#1}}
+\newcommand{\Series}[1]{\renewcommand{\lsSeries}{#1}}
+\newcommand{\SeriesNumber}[1]{\renewcommand{\lsSeriesNumber}{#1}}
+\newcommand{\BookDOI}[1]{\renewcommand{\lsBookDOI}{#1}}
+
+
+%invert names of first author for citation on impressum page
+
+\newcommand{\lsFirstAuthorFullName}{}%temporary, will be overwritten
+\newcommand{\lsFirstAuthorFirstName}{}%temporary, will be overwritten
+\newcommand{\lsFirstAuthorLastName}{}%temporary, will be overwritten
+\newcommand{\lsFirstAuthorString}{\lsFirstAuthorLastName, \lsFirstAuthorFirstName} %can be customized in localmetadata.tex
+\newcommand{\lsNonFirstAuthorsString}{} %default, will be overwritten iff more than one author
+% \newcommand{\lsImpressionCitationAuthor}{\lsFirstAuthorString \lsNonFirstAuthorsString}
+
+
+\AtBeginDocument{
+\makeatletter
+\let\theauthor\@author
+\makeatother
+\renewcommand{\and}{NONLASTAND} %expand for easier checking. Might need to be undone later on
+\renewcommand{\lastand}{LASTAND} %expand for easier checking
+
+\IfSubStr{\theauthor}{NONLASTAND}{%2+authors
+ \renewcommand{\lsFirstAuthorFullName}{\StrBefore{\theauthor}{\and }}
+ \renewcommand{\lsFirstAuthorFirstName}{\StrBefore{\theauthor}{ }}
+ \renewcommand{\lsFirstAuthorLastName}{\StrBetween{\theauthor}{ }{\and }}
+ \renewcommand{\lsNonFirstAuthorsString}{\and\StrBehind{\theauthor}{\and }}
+ }{%else
+ \IfSubStr{\theauthor}{LASTAND}{%less than two authors, more than one
+ \renewcommand{\lsFirstAuthorFullName}{\StrBefore{\theauthor}{\lastand }}
+ \renewcommand{\lsFirstAuthorFirstName}{\StrBefore{\theauthor}{ }}
+ \renewcommand{\lsFirstAuthorLastName}{\StrBetween{\theauthor}{ }{\lastand }}
+ \renewcommand{\lsNonFirstAuthorsString}{\lastand\StrBehind{\theauthor}{\lastand }}
+ }{%else exactly one author
+ \renewcommand{\lsFirstAuthorFirstName}{\StrBefore{\theauthor}{ }}
+ \renewcommand{\lsFirstAuthorLastName}{\StrBehind{\theauthor}{ }}
+ }
+ }
+}
+
+
+\newcommand{\lsImpressionCitationAuthor}{
+\lsFirstAuthorLastName, \lsFirstAuthorFirstName \lsNonFirstAuthorsString}
+
+\newcommand{\lsImpressumCitationText}{
+ \onlyAuthor
+ \renewcommand{\newlineCover}{}
+ \renewcommand{\newlineSpine}{}
+ {\lsImpressionCitationAuthor}\if\lsEditorSuffix\empty\else\ \lsEditorSuffix\fi. %
+ {\lsYear}. %
+ \textit{\@title}\if\@subtitle\empty\else: \textit{\@subtitle}\fi\ %
+ (\lsSeriesTitle). %
+ Berlin: Language Science Press.
+}
+\newcommand{\lsImpressumExtra}{}%for legal notes required for revised theses ("... in fulfillment of ... ")
+\newcommand{\lsImpressum}{
+\thispagestyle{empty}
+\raggedright
+
+\lsImpressumCitationText
+
+\vfill
+
+This title can be downloaded at:\\
+\url{\lsURL}
+
+© \lsYear, \iflsCollection the authors\else\@author\fi
+
+\newcommand{\ccby}{CC-BY}
+\ifx\lsCopyright\ccby
+Published under the Creative Commons Attribution 4.0 Licence (CC BY 4.0):
+http://creativecommons.org/licenses/by/4.0/ \includegraphics[height=.75em]{\logopath ccby.eps}
+\else
+Published under the Creative Commons Attribution-NoDerivatives 4.0 Licence (CC BY-ND 4.0):
+http://creativecommons.org/licenses/by-nd/4.0/ \includegraphics[height=.75em]{\logopath ccbynd.eps}
+\fi
+
+{\lsImpressumExtra}
+
+\ifx\lsSeries\sidl
+Indexed in EBSCO\smallskip
+\fi
+
+
+
+\begin{tabular}{@{}l@{~}l}
+ISBN: &
+\IfStrEq{\lsISBNdigital}{000-0-000000-00-0}{%no digital ISBN, issue warning
+ \color{red}no digital ISBN
+}{%digital ISBN present, write ISBN
+ \lsISBNdigital~(Digital)
+}
+\\
+\IfStrEq{\lsISBNhardcover}{000-0-000000-00-0}{ %hardcover ISBN not present
+}{%hardcover ISBN present, write ISBN
+ &\lsISBNhardcover~(Hardcover)\\
+}
+
+\IfStrEq{\lsISBNsoftcover}{000-0-000000-00-0}{ %softcover ISBN not present
+ \IfStrEq{\lsISBNhardcover}{000-0-000000-00-0}{ %neither hardcover nor softcover, issue warning
+ \color{red} no print ISBNs!
+ }{%hardcover present, no warning
+ }
+}{%only softcover present, write ISBN
+ &\lsISBNsoftcover~(Softcover)\\
+}
+\end{tabular}
+
+\IfStrEq{\lsISSN}{??} % \IfStrEq from xstring
+ {}
+ {ISSN: \lsISSN}
+
+\IfStrEq{\lsBookDOI}{??} % \IfStrEq from xstring
+ {{\color{red} no DOI}}
+ {\doi{\lsBookDOI}}\\
+\IfStrEq{\lsID}{000}{\color{red} ID not assigned!}{%
+Source code available from \href{https://www.github.com/langsci/\lsID}{www.github.com/langsci/\lsID} \\
+Collaborative~reading:~\href{https://paperhive.org/documents/remote?type=langsci&id=\lsID}{paperhive.org/documents/remote?type=langsci\&id=\lsID}
+}%
+\bigskip
+
+Cover and concept of design:
+Ulrike Harbort \\
+\if\@translator\empty\else
+Translator:
+\@translator \\
+\fi
+\if\@typesetter\empty\else
+Typesetting:
+\@typesetter \\
+\fi
+\if\@illustrator\empty\else
+Illustration:
+\@illustrator \\
+\fi
+\if\@proofreader\empty\else
+Proofreading:
+\@proofreader \\
+\fi
+\if\@openreviewer\empty\else
+Open reviewing:
+\@openreviewer \\
+\fi
+Fonts: Linux Libertine, Libertinus Math, Arimo, DejaVu Sans Mono\lsAdditionalFontsImprint\\
+Typesetting software: \XeLaTeX
+
+\bigskip
+
+Language Science Press\\
+Unter den Linden 6\\
+10099 Berlin, Germany\\
+\href{http://langsci-press.org}{langsci-press.org}
+
+\vfill
+
+Storage and cataloguing done by FU Berlin \\[3ex]
+
+\IfFileExists{\logopath storagelogo.pdf}{\includegraphics[width=5cm]{\logopath storagelogo.pdf}}{\logotext} \\[3ex]
+
+
+% \vfill
+
+% \noindent
+% \lsp has no responsibility for the persistence or accuracy of URLs for
+% external or third-party Internet websites referred to in this
+% publication, and does not guarantee that any content on such websites
+% is, or will remain, accurate or appropriate.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Dedication
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\lsDedication}{\thispagestyle{empty}
+ \vspace*{\fill}
+ \begin{center}
+ {\lsDedicationFont
+ \@dedication\par}
+ \end{center}
+ \vspace*{\fill}
+ \clearpage}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Header and footer
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{datetime}
+\usepackage{scrpage2}
+\ohead{\headmark}
+\ihead{}
+\cfoot{}
+\ofoot[]{\pagemark}
+\iflsDraft
+ \ifoot{Draft of \today, \currenttime}
+\fi
+\iflsOpenReview
+ \ifoot{{\color{lsRed}Open review version}. Final version at \url{\lsURL}.}
+\fi
+
+\newcommand{\lsPageStyleEmpty}{
+ \ohead{}
+ \ihead{}
+ \cfoot{}
+ \ofoot[]{}
+}
+
+\renewcommand*{\partpagestyle}{empty}
+
+\pagestyle{scrheadings}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Sectioning
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\setcounter{secnumdepth}{4}
+
+\def\subsubsubsection{\@startsection{paragraph}{3}{\z@}{-3.25ex plus
+-1ex minus-.2ex}{1.5ex plus.2ex}{\reset@font\normalsize}}
+
+\let\subsubsubsectionmark\@gobble%
+
+\def\subsubsubsubsection{\@startsection{subparagraph}{3}{\z@}{-3.25ex plus
+-1ex minus-.2ex}{1.5ex plus.2ex}{\reset@font\normalsize}}
+
+\let\subsubsubsubsectionmark\@gobble
+
+%% needed for hyperref
+\def\toclevel@subsubsubsection{4}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Epigrams
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\epigram#1{\gdef\@epigram{#1}} % needs to be defined this way to check emptiness
+\epigram{}
+\def\epigramsource#1{\gdef\@epigramsource{#1}}
+\epigramsource{}
+
+
+%%% epigraph configuration
+\usepackage{epigraph}
+\setlength{\epigraphrule}{0pt}
+\renewcommand{\textflush}{flushepinormal}
+%\setlength{\epigraphwidth}{.2\textwidth}
+\setlength{\afterepigraphskip}{0\baselineskip}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Footnotes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ifxetex
+\addtokomafont{footnote}{\addfontfeatures{Numbers=Lining}} % numbers in footnotes
+%\addtokomafont{footnotelabel}{\addfontfeatures{Numbers=Lining}} % numbers in footnote labels
+%\addtokomafont{footnotereference}{\addfontfeatures{Numbers=Lining}} % numbers in footnote references
+\fi
+
+\raggedbottom
+\deffootnote[1.5em]{1.5em}{\normalparindent}{\textsuperscript{\thefootnotemark}} % putting a space after footnotemark has undesirable side effects with footnotes that start with an empty line; instead use \xspace in the footnote definition below
+\newlength{\normalparindent}
+\AtBeginDocument{\setlength{\normalparindent}{\parindent}}
+
+\KOMAoptions{footnotes=multiple}
+
+%% http://tex.stackexchange.com/questions/28465/multiple-footnotes-at-one-point/71015#71015
+\let\oldFootnote\footnote
+\newcommand\nextToken\relax
+
+% \renewcommand\footnote[1]{% breaks more footnotes than it fixes
+% \oldFootnote{\xspace#1}\futurelet\nextToken\isFootnote}
+
+\newcommand\isFootnote{%
+\ifx\footnote\nextToken\textsuperscript{,}\fi}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Quotes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% quotes are indented at one side only.
+\renewenvironment{quote}{\list{}{\rightmargin0pt\leftmargin8mm}%{\rightmargin\leftmargin}%
+\item\relax}
+{\endlist}
+
+%% quotations are indented at one side only
+%% there is no indentation at the beginning of the quote
+\renewenvironment{quotation}
+{\list{}{\listparindent 1.5em%\itemindent \listparindent
+%\rightmargin \leftmargin
+\parsep \z@ \@plus\p@}%
+\item\relax}
+{\endlist}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Language-specific settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Must apear before biblatex and hyperref.
+
+%% languages
+\newcommand{\lsBookLanguageEnglish}{english}
+\newcommand{\lsBookLanguageFrench}{french}
+\newcommand{\lsBookLanguagePortuguese}{portuguese}
+\newcommand{\lsBookLanguageGerman}{german}
+\newcommand{\lsBookLanguageChinese}{chinese}
+
+\iflsNoBabel
+ \else
+ \iflsBabelShorthands
+ \ifx\lsBookLanguage\lsBookLanguageEnglish
+ \usepackage[ngerman,\lsBookLanguage]{babel}
+ \addto\extrasenglish{\languageshorthands{german}\useshorthands{"}}
+ \fi
+ \ifx\lsBookLanguage\lsBookLanguageFrench
+ \usepackage[ngerman,\lsBookLanguage]{babel}
+ \addto\extrasfrench{\languageshorthands{german}\useshorthands{"}}
+ \fi
+ \ifx\lsBookLanguage\lsBookLanguageGerman
+ \usepackage[ngerman]{babel}% ngerman provides better hyphenation than german.
+ \fi
+ \ifx\lsBookLanguage\lsBookLanguagePortuguese
+ \usepackage[ngerman,\lsBookLanguage]{babel}
+ \addto\extrasportuges{\languageshorthands{german}\useshorthands{"}}
+ \fi
+ \else
+ \usepackage[\lsBookLanguage]{babel}
+ \fi
+\fi
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citations
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage[
+ natbib=true,
+ style=\bibstylepath langsci-unified,
+ citestyle=\bibstylepath langsci-unified,
+ useprefix = true, %sort von, van, de where they should appear
+ %refsection=chapter,
+ maxbibnames=99,
+ uniquename=false,
+ mincrossrefs=99,
+ maxcitenames=2,
+ isbn=false,
+ doi=false,
+ url=false,
+ eprint=false,
+ autolang=hyphen,
+ useprefix=true,
+ backend=\lsBiblatexBackend,
+ indexing=cite,
+ \iflsCollection\else
+ toc=bib, % make bibliography appear in toc
+ \fi
+ datamodel=\bibstylepath langsci % add authauthor and autheditor as possible fields to bibtex entries
+]{biblatex}
+
+% If the user provided a shortauthor in the bibtex entry, we use the authentic author (as with the
+% authorindex package) if it is defined, otherwise we use the author.
+% This gets F/T as shorthand right and puts the guys in the index.
+
+\renewbibmacro*{citeindex}{%
+ \ifciteindex
+ {\iffieldequalstr{labelnamesource}{shortauthor} % If biblatex uses shortauthor as the label of a bibitem
+ {\ifnameundef{authauthor} % we check whether there is something in authauthor
+ {\indexnames{author}} % if not, we use author
+ {\indexnames{authauthor}}} % if yes, we use authauthor
+ {\iffieldequalstr{labelnamesource}{author} % if biblatex uses author we similarly test for
+ % authauthor and use this field
+ {\ifnameundef{authauthor}% if defined use authauthor
+ {\indexnames{author}}
+ {\indexnames{authauthor}}} % if defined use this field
+ {\iffieldequalstr{labelnamesource}{shorteditor} % same for editor
+ {\ifnameundef{autheditor}
+ {\indexnames{editor}}
+ {\indexnames{autheditor}}}
+ {\indexnames{labelname}}}}} % as a fallback we index on whatever biblatex used.
+ {}}
+
+
+
+
+%% DOIs are handled after hyperref.
+\defbibheading{references}{\chapter{References}\sloppy}
+\defbibheading{french}{\chapter{Références bibliographiques}\sloppy}
+\defbibheading{german}{\chapter{Literaturverzeichnis}\sloppy}
+\defbibheading{portuguese}{\chapter{Referências}\sloppy}
+\defbibheading{chinese}{\chapter{å‚考文献}\sloppy}
+
+
+% fix \citep* et.al.
+% unclear why it was overwritten, these are the definitions from blx-natbib.def
+\renewrobustcmd*{\citet}{%
+ \@ifstar
+ {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}%
+ \textcite}
+ {\textcite}}
+
+\renewrobustcmd*{\citep}{%
+ \@ifstar
+ {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}%
+ \parencite}
+ {\parencite}}
+
+\renewrobustcmd*{\citealt}{%
+ \@ifstar
+ {\AtNextCite{%
+ \def\nameyeardelim{\addspace}%
+ \AtEachCitekey{\defcounter{maxnames}{999}}}%
+ \orgcite}
+ {\AtNextCite{\def\nameyeardelim{\addspace}}%
+ \orgcite}}
+
+\renewrobustcmd*{\citealp}{%
+ \@ifstar
+ {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}%
+ \orgcite}
+ {\orgcite}}
+
+\let\citew\citet
+
+\let\orgcite=\cite
+\let\cite=\citet % in order to prevent inconsistencies between \cite and \citet
+
+%% penalties against widows and orphans in bibliography
+%% http://tex.stackexchange.com/questions/297705/atbeginenvironment-does-not-work-with-natbib/297721#297721
+\apptocmd{\thebibliography}{%
+\clubpenalty\@M
+\@clubpenalty\clubpenalty
+\widowpenalty\@M
+}
+{}{}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Floats
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{floatrow} % For adjusting the position of the caption (default is below).
+\floatsetup[table]{capposition=top} % As for tables, the caption appears above.
+%% This sets the default for the positioning of floats
+\renewcommand{\fps@figure}{htbp}
+\renewcommand{\fps@table}{htbp}
+
+\usepackage{booktabs} % for nicer lines
+
+%% floats
+%% http://mintaka.sdsu.edu/GF/bibliog/latex/floats.html
+%% Alter some LaTeX defaults for better treatment of figures:
+
+%% See p.105 of "TeX Unbound" for suggested values.
+%% See pp. 199-200 of Lamport's "LaTeX" book for details.
+%% General parameters, for ALL pages:
+\renewcommand{\topfraction}{0.9} % max fraction of floats at top
+\renewcommand{\bottomfraction}{0.8} % max fraction of floats at bottom
+%% Parameters for TEXT pages (not float pages):
+\setcounter{topnumber}{2}
+\setcounter{bottomnumber}{2}
+\setcounter{totalnumber}{4} % 2 may work better
+\setcounter{dbltopnumber}{2} % for 2-column pages
+\renewcommand{\dbltopfraction}{0.9} % fit big float above 2-col. text
+\renewcommand{\textfraction}{0.07} % allow minimal text w. figs
+%% Parameters for FLOAT pages (not text pages):
+\renewcommand{\floatpagefraction}{0.7} % require fuller float pages
+ %% N.B.: floatpagefraction MUST be less than topfraction !!
+\renewcommand{\dblfloatpagefraction}{0.7} % require fuller float pages
+
+\usepackage{setspace}
+\usepackage{caption}
+% \captionsetup{labelfont=bf}
+\captionsetup{%
+font={%
+stretch=.8%
+,small%
+},%
+width=.8\textwidth
+}
+
+\setcapindent{0pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Appendices
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\appto\appendix{%
+ %% format of the appendix title page
+ \renewcommand*{\chapterformat}{%
+ \mbox{\chapapp~\thechapter\autodot:\enskip}%
+ }
+ %% format of the TOC entry
+ \renewcommand{\addchaptertocentry}[2]{
+ \ifstr{#1}{}{%
+ \addtocentrydefault{chapter}{}{#2}%
+ }{%
+ \addtocentrydefault{chapter}{}{\chapapp~#1: #2}%
+ }%
+ }
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Indexes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{index} %% Wie im Stylefile, aber ohne \MakeUppercase
+\renewenvironment{theindex}{%
+ \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}%
+ \if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \columnseprule \z@
+ \columnsep 35\p@
+ \twocolumn[%
+ \@makeschapterhead{\indexname}%
+ \ifx\index@prologue\@empty\else
+ \index@prologue
+ \bigskip
+ \fi
+ ]% \@mkboth{\MakeUppercase\indexname}% {\MakeUppercase\indexname}%
+ \@mkboth{\indexname}%
+ {\indexname}%
+ \thispagestyle{plain}%
+ \parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem
+ \providecommand*\seealso[2]{\emph{see also} ##1}
+}{%
+ \if@restonecol
+ \onecolumn
+ \else
+ \clearpage
+ \fi
+}
+
+\newcommand{\lsIndexTitle}{Index}
+\newcommand{\lsLanguageIndexTitle}{Language index} % This can be changed according to the language.
+\newcommand{\lsSubjectIndexTitle}{Subject index}
+\newcommand{\lsNameIndexTitle}{Name index}
+\newcommand{\lsPrefaceTitle}{Preface}
+\newcommand{\lsAcknowledgementTitle}{Acknowledgments}
+\newcommand{\lsAbbreviationsTitle}{Abbreviations}
+\newcommand{\lsReferencesTitle}{references} % This aligns with \defbibheading
+\IfFileExists{{\localepath langsci-hyphenation-universal}}{\input{\localepath langsci-hyphenation-universal}}{}
+
+\ifx\lsBookLanguage\lsBookLanguageFrench
+\renewcommand{\lsIndexTitle}{Index}
+\renewcommand{\lsNameIndexTitle}{Index des auteurs cités}
+\renewcommand{\lsSubjectIndexTitle}{Index des termes}
+\renewcommand{\lsLanguageIndexTitle}{Index des langues}
+\renewcommand{\lsPrefaceTitle}{Préface}
+\renewcommand{\lsAcknowledgementTitle}{Remerciements}
+\renewcommand{\lsAbbreviationsTitle}{Liste des abréviations utilisées dans les gloses des exemples}
+\renewcommand{\lsReferencesTitle}{french}
+ \iflsNoBabel
+ \else
+ \renewcommand\frenchfigurename{Figure}
+ \renewcommand\frenchtablename{Table}
+ \fi
+\IfFileExists{{\localepath langsci-hyphenation-fr}}{\input{\localepath langsci-hyphenation-fr}}{}
+\fi
+
+\ifx\lsBookLanguage\lsBookLanguageGerman
+\renewcommand{\lsIndexTitle}{Register}
+\renewcommand{\lsNameIndexTitle}{Autorenregister}
+\renewcommand{\lsSubjectIndexTitle}{Sachregister}
+\renewcommand{\lsLanguageIndexTitle}{Sprachregister}
+\renewcommand{\lsPrefaceTitle}{Vorwort}
+\renewcommand{\lsAcknowledgementTitle}{Danksagung}
+\renewcommand{\lsAbbreviationsTitle}{Abkürzungsverzeichnis}
+\renewcommand{\lsReferencesTitle}{german}
+\IfFileExists{{\localepath langsci-hyphenation-de}}{\input{\localepath langsci-hyphenation-de}}{}
+\fi
+
+\ifx\lsBookLanguage\lsBookLanguagePortuguese
+\renewcommand{\lsIndexTitle}{Ãndices}
+\renewcommand{\lsNameIndexTitle}{Ãndice remissivo de autores citados}
+\renewcommand{\lsSubjectIndexTitle}{Ãndice remissivo temático}
+\renewcommand{\lsLanguageIndexTitle}{Ãndice remissivo de línguas}
+\renewcommand{\lsPrefaceTitle}{Prefácio}
+\renewcommand{\lsAcknowledgementTitle}{Agradecimentos}
+\renewcommand{\lsAbbreviationsTitle}{\colorbox{red}{Translation info for Abbv missing}}
+\renewcommand{\lsReferencesTitle}{portugese}
+\IfFileExists{{\localepath langsci-hyphenation-pt}}{\input{\localepath langsci-hyphenation-pt}}{}
+\fi
+
+% \AtBeginDocument{% FK 16-Jan-19: It is unclear why this was set. It conflicts with TikZ externalisation.
+ \makeindex
+ \newindex{lan}{ldx}{lnd}{\lsLanguageIndexTitle}
+ \newindex{sbj}{sdx}{snd}{\lsSubjectIndexTitle}
+ \renewindex{default}{adx}{and}{\lsNameIndexTitle} %biblatex can only deal with the default index
+% \newindex{wrd}{wdx}{wnd}{Expression index}
+% \newindex{rwrd}{rdx}{rnd}{Reverse expression index}
+% }
+
+\indexproofstyle{\setlength{\overfullrule}{0pt}\raggedright\footnotesize}
+
+%% \index inside footnote
+\def\infn#1#2{% \hyperpage{#2}n#1% 99n2
+% \hyperpage{#2}*% 99*
+ \hyperpage{#2}\textsuperscript{#1}% 99²
+}%
+\newcommand{\footnoteindex}[2]{\index{#2|infn{#1}}}
+\newcommand{\footnoteindex@sbj}[2]{\index[sbj]{#2|infn{#1}}}
+\newcommand{\footnoteindex@lan}[2]{\index[lan]{#2|infn{#1}}}
+\newcommand{\footnoteindex@wrd}[2]{\index[wrd]{#2|infn{#1}}}
+
+
+% Author index
+\newcommand{\ia}[1]{%
+ \if@noftnote%
+ \index{#1}%
+ \else%
+ \edef\tempnumber{\thefootnote}%
+ \expandafter\footnoteindex\expandafter{\tempnumber}{#1}%
+ % \index{#1|fn{\thefootnote}}%
+ \fi%
+}
+
+% Subject index
+\newcommand{\is}[1]{%
+ \if@noftnote%
+ \index[sbj]{#1}%
+ \else%
+ \edef\tempnumber{\thefootnote}%
+ \expandafter\footnoteindex@sbj\expandafter{\tempnumber}{#1}%
+ %\indexftn{#1}{\value{footnotemark}}%
+ \fi%
+}
+
+% Language index
+\newcommand{\il}[1]{%
+ \if@noftnote
+ \index[lan]{#1}%
+ \else%
+ \edef\tempnumber{\thefootnote}%
+ \expandafter\footnoteindex@lan\expandafter{\tempnumber}{#1}%
+ \fi%
+}
+
+% \iflsDraft
+% \usepackage{showidx} % Doesn't work with multiple indexes?
+% \fi
+
+%% this is required by authorindex
+\newif\ifshowindex \showindexfalse
+\usepackage{authorindex}
+
+\iflsShowIndex % shows index commands in text
+ \RequirePackage{soul}
+% \RequirePackage[noadjust]{marginnote}
+ \renewcommand{\marginpar}{\marginnote}
+ \let\isold\is
+ \let\ilold\il
+ \let\iaold\ia
+ \renewcommand{\isi}[1]{\sethlcolor{lsSoftGreen}\hl{#1}\isold{#1}}
+ \renewcommand{\is}[1]{{\tikzstyle{notestyleraw} += [text width=1.5cm]\todo[color=lsSoftGreen,size=\scriptsize]{\tiny#1}\isold{#1}}}
+ \renewcommand{\ili}[1]{\sethlcolor{yellow}\hl{#1}\ilold{#1}}
+ \renewcommand{\il}[1]{{\tikzstyle{notestyleraw} += [text width=1.5cm]\todo[color=yellow,size=\scriptsize]{\tiny#1}\ilold{#1}}}
+ \renewcommand{\iai}[1]{\sethlcolor{pink}\hl{#1}\iaold{#1}}
+ \renewcommand{\ia}[1]{{\tikzstyle{notestyleraw} += [text width=1.5cm]\todo[color=pink,size=\scriptsize]{\tiny#1}\iaold{#1}}}
+\fi
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Hyperref
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage[
+ bookmarks=true,bookmarksopen=true,bookmarksopenlevel=1,%
+ bookmarksdepth=5,
+ bookmarksnumbered=true,
+ hyperindex=true,%
+ breaklinks=true,
+ draft=false,
+ plainpages=false,
+ pdfusetitle=true, % puts author and title in automatically, maybe only in final mode?
+ pdfkeywords={},
+ pdfpagelayout=TwoPageRight, % first page is separate
+ %ps2pdf=true
+ ]{hyperref}
+
+%% gets rid of the warnings:
+%% Failed to convert input string to UTF16
+%% http://tex.stackexchange.com/questions/66722/tex-live-2012-xelatex-moderncv-error-failed-to-convert-input-string-to-utf1
+\hypersetup{unicode,pdfencoding=auto,bookmarksopenlevel=0}
+
+%% add hyperlinks for DOIs in bibliography; must appear after hyperref
+\usepackage{doi}
+\renewcommand{\doitext}{DOI:}
+\iflsBiblatex
+\renewbibmacro*{finentry}{\finentry
+ \iffieldundef{url}{}{ \url{\thefield{url}}\iffieldundef{urlday}{}{, accessed \thefield{urlyear}-\thefield{urlmonth}-\thefield{urlday}}.}
+ \restorefield{note}{\lsnote}
+ \iffieldundef{note}{}{\addspace{\thefield{note}\addperiod}}
+ \iffieldundef{doi}{}{ {\color{lsDOIGray}\doi{\thefield{doi}}}}
+}
+%\DeclareFieldFormat{doi}{{\color{lsGuidelinesGray}\doi{#1}}}
+\fi
+
+%% autoref (part of hyperref)
+\ifx\lsBookLanguage\lsBookLanguageEnglish
+\renewcommand{\partautorefname}{Part}%
+\renewcommand{\chapterautorefname}{Chapter}%
+\renewcommand{\sectionautorefname}{Section}%
+\renewcommand{\subsectionautorefname}{Section}%
+\renewcommand{\subsubsectionautorefname}{Section}%
+\renewcommand{\figureautorefname}{Figure}%
+\renewcommand{\tableautorefname}{Table}%
+\renewcommand{\Hfootnoteautorefname}{Footnote}%
+\fi
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Collection (edited volume):
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% for papers of collections:
+\newcommand{\lsCollectionPaperAbstract}{Put abstract here with \string\abstract.}
+\newcommand{\abstract}[1]{\renewcommand{\lsCollectionPaperAbstract}{#1}}
+\newcommand{\ChapterDOI}[1]{\renewcommand{\lsChapterDOI}{#1}}
+
+
+%% inside \author:
+\renewcommand{\and}{}
+\newcommand{\lastand}{}
+\newcommand{\affiliation}[1]{}
+
+%% to be used below chapter titles
+\newcommand{\chaptersubtitle}[1]{
+ \vspace*{-2ex}
+ {\Large #1}
+ \chapterheadendvskip
+ \@afterindentfalse
+ \@afterheading
+ }
+
+
+\iflsCollection
+ \iflsBiblatex\else
+ \ClassError{langsci/langscibook}{Collection option not compatible with plain BibTeX. Please use biblatex option}{}
+ \fi
+
+
+\AtBeginDocument{ % for the citation in the footer
+ \onlyAuthor
+ \renewcommand{\newlineCover}{}
+ \renewcommand{\newlineSpine}{}
+ \edef\lsCollectionTitle{\@title\ifx\@subtitle\empty\else{: \@subtitle}\fi} % \edef immediately expands \@title
+ \edef\lsCollectionEditor{\@author}
+ \addbibresource{collection_tmp.bib}
+ \if@partsw\AfterEndDocument{\typeout{langscibook Warning: You are in includeonly mode.}\typeout{The bibliographical information for the chapters in this volume have not been updated}}\else% Check for \includeonly mode
+ \newwrite\tempfile % open temporary bib file
+ \immediate\openout\tempfile=collection_tmp.bib
+ \fi
+}
+% Only touch the \tempfile if we are NOT in \includeonly mode, prevent flushing of the file
+\AtEndDocument{\if@partsw\else\immediate\closeout\tempfile\fi}% close temporary bib file
+
+%% customize \tableofcontents
+\renewcommand{\@dotsep}{2.5} % space between dots
+\renewcommand{\@tocrmarg}{1.5em} % right margin for leader
+\renewcommand{\@pnumwidth}{1.5em} % width of page numbers
+\usepackage{tocstyle}
+\usetocstyle{standard} %\usetocstyle{allwithdot}
+\settocfeature[toc]{raggedhook}{\raggedright}
+\iflsCollectionTOCLong\else
+ \setcounter{tocdepth}{0}\fi % show only parts and chapters
+\settocstylefeature[-1]{pagenumberbox}{\csname @gobble\endcsname} % parts without page number
+\settocstylefeature[-1]{leaders}{\hfill} % parts without dots#
+
+\usepackage{chngcntr}
+\counterwithout{figure}{chapter}
+\counterwithout{table}{chapter}
+
+%% Modified code from:
+%% http://pastcounts.wordpress.com/2010/12/20/how-to-construct-a-collection-of-articles-with-latex/
+\newenvironment{collectionpaper}{
+ \renewcommand{\documentclass}[2][]{}%
+ \renewcommand{\usepackage}[2][]{}%
+ \renewenvironment{document}{\begingroup}{\endgroup}%
+
+ \renewcommand{\title}[1]{\renewcommand{\@title}{##1}}
+ \renewcommand{\author}[1]{\renewcommand{\@author}{##1}}
+ %\renewcommand{\thanks}[1]{\symbolfootnote[1]{##1}}
+ \lsPaper
+ }
+ {}
+
+\newcommand{\includepaper}[1]{
+ \begin{collectionpaper}
+ \begin{refsection}
+
+ \DeclareCiteCommand{\fullciteFooter}
+ {\defcounter{maxnames}{\blx@maxbibnames}%
+ \usebibmacro{prenote}}
+ {\usedriver
+ {\DeclareNameAlias{sortname}{default}}
+ {\thefield{entrytype}}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+ \renewcommand{\lsCollectionPaperCitationText}{\fullciteFooter{#1footer}}
+
+ \include{#1}%
+ \if@partsw\relax\else% This switch controls whether the included chapter is in the range of \includeonly. It's from source2e.
+ \addtocounter{page}{-1}
+ \edef\lsCollectionPaperLastPage{\thepage} % \lsCollectionPaperFirstPage is defined in \lsPaper
+ \addtocounter{page}{1}
+
+ %%% for citation in footer
+ %% preprocessing of author/editor names
+ \onlyAuthor
+ \renewcommand{\newlineCover}{}
+ \renewcommand{\newlineSpine}{}
+ \renewcommand{\newlineTOC}{}
+ \StrSubstitute{\@author}{,}{ and }[\authorTemp]
+ \StrSubstitute{\authorTemp}{\&}{ and }[\authorTemp]
+ \StrSubstitute{\lsCollectionEditor}{,}{ and }[\editorTemp]
+ \StrSubstitute{\editorTemp}{\&}{ and }[\editorTemp]
+
+ %% write bib entry to file
+ %% FIXME: the publisher field needs a final period, since this is not provided by \fullciteFooter together with DOIs.
+ \immediate\write\tempfile{@incollection{#1,author={\authorTemp},title={{\lsCollectionPaperFooterTitle}},booktitle={{\lsCollectionTitle}},editor={\editorTemp},publisher={Language Science Press.},Address={Berlin},year={\lsYear},pages={\lsCollectionPaperFirstPage --\lsCollectionPaperLastPage},doi={\lsChapterDOI},keywords={withinvolume}}}
+ \immediate\write\tempfile{@incollection{#1footer,author={\authorTemp},title={{\lsCollectionPaperFooterTitle}},booktitle={{\lsCollectionTitle}},editor={\editorTemp},publisher={Language Science Press.},Address={Berlin},year={\lsYear},pages={\lsCollectionPaperFirstPage --\lsCollectionPaperLastPage},doi={\lsChapterDOI},options={dataonly=true}}}
+ \fi% If the paper is not within \includeonly, don't do anything.
+ \end{refsection}
+ \end{collectionpaper}}
+\fi
+
+\newcommand{\onlyAuthor}{% % collection paper
+ \renewcommand{\and}{, }%
+ \renewcommand{\lastand}{ \& }%
+ \renewcommand{\affiliation}[1]{}
+ }
+
+\newcommand{\AuthorAffiliation}{
+ \renewcommand{\and}{\newline\newline}
+ \renewcommand{\lastand}{\newline\newline}
+ \renewcommand{\affiliation}[1]{\\[0.5ex]{\normalsize ##1}}}
+
+\newcommand{\lsCollectionPaperHeaderAuthor}{{%
+ \renewcommand{\newlineCover}{}%
+ \renewcommand{\newlineTOC}{}%
+ \onlyAuthor\@author}}
+
+\newcommand{\lsCollectionPaperHeaderTitle}{%
+ \renewcommand{\newlineCover}{}
+ \renewcommand{\newlineTOC}{}
+ \iflsCollectionChapter%
+ \thechapter\hspace{0.5em}\fi
+ \@title}
+
+\newcommand{\lsCollectionPaperTOC}{{%
+ \iflsCollectionChapter%
+ \protect\numberline{\thechapter}\fi
+ \@title\ \newline{\normalfont\@author}}} % space between \@title and \newline is needed for bookmarks
+
+\newcommand{\lsCollectionPaperTitle}{{%
+ \renewcommand{\newlineTOC}{}
+ \renewcommand{\newlineCover}{\\}
+% \\[-1\baselineskip]
+% \vspace*{-2\baselineskip}
+ \renewcommand{\chapterheadstartvskip}{}
+ {\LARGE \noindent \hspace*{-.7cm} Chapter \thechapter}\\ %there must be a better way to undo this length than a hard value
+ \bigskip
+ \@title}}
+
+\newcommand{\lsCollectionPaperFooterTitle}{\@title}
+
+\newcommand{\lsCollectionPaperFrontmatterMode}{% %%% Sometimes, chapters like prefaces appear in edited volumes that need special treatment in their headers and TOC
+ \renewcommand{\lsCollectionPaperTitle}{{%
+ \renewcommand{\newlineTOC}{}
+ \renewcommand{\newlineCover}{\\}
+ \\[-1\baselineskip]
+ \noindent{\LARGE ~}\\
+ \bigskip
+ \noindent\@title}}
+
+ \renewcommand{\lsCollectionPaperTOC}{{%
+ \iflsCollectionChapter%
+ \protect\numberline{~}\fi
+ \@title\ \newline{\normalfont\@author}}}
+}
+
+\newcommand{\lsCollectionPaperMainmatterMode}{% %%% This resets the changes done by FrontmatterMode
+ \renewcommand{\lsCollectionPaperTitle}{{%
+ \renewcommand{\newlineTOC}{}
+ \renewcommand{\newlineCover}{\\}
+ \\[-1\baselineskip]
+% \vspace*{-2\baselineskip}
+ \noindent{\LARGE Chapter \thechapter}\\
+ \bigskip
+ \@title}}
+
+ \renewcommand{\lsCollectionPaperTOC}{{%
+ \iflsCollectionChapter%
+ \protect\numberline{\thechapter}\fi
+ \@title\ \newline{\normalfont\@author}}}}
+
+\newcommand{\lsCollectionPaperAuthor}{{%
+ \renewcommand{\newlineTOC}{}
+ \renewcommand{\newlineCover}{\\[0.5ex]}
+ \AuthorAffiliation\Large\@author}}
+
+\newcommand{\lsCollectionPaperCitation}{\scalebox{1.2}{
+ \includegraphics{\logopath langsci_spinelogo_nocolor.pdf}}%
+ % \hspace{0.8em}%
+ \hfill%
+ \parbox[b]{.87\textwidth}{\linespread{0.8}\lsChapterFooterSize\normalfont\lsCollectionPaperCitationText \includegraphics[height=.75em]{\logopath ccby.eps}}}
+\ifx\lsOutput\lsOutputPaper % only if output==paper
+ \renewcommand{\lsCollectionPaperCitation}{Change with \string\papernote}
+\fi
+
+\newcommand{\lsCollectionPaperCitationText}{\string\lsCollectionPaperCitationText.}
+
+\newcommand{\papernote}[1]{
+ \renewcommand{\lsCollectionPaperCitation}{#1}}
+
+\newcommand{\lsPaper}{
+ \renewcommand{\maketitle}{
+ \refstepcounter{chapter}
+ \addchap*{\lsCollectionPaperTitle}
+ \global\edef\lsCollectionPaperFirstPage{\thepage} % for citation in footer
+ \onlyAuthor
+ \renewcommand{\newlineCover}{}
+ \renewcommand{\newlineTOC}{\\}
+ \addcontentsline{toc}{chapter}{\lsCollectionPaperTOC}%
+ \ifoot[\lsCollectionPaperCitation]{\iflsDraft Draft of \today, \currenttime \fi}
+ \vspace*{-2ex}
+ \lsCollectionPaperAuthor%
+ \vspace*{\baselineskip}%
+ \ifx\@epigram\empty%
+ \else {\epigraph{\@epigram\\[-5ex]}{\@epigramsource}%
+ \epigram{}\epigramsource{}}%
+ \fi%
+ \begin{quote}
+ \small\lsCollectionPaperAbstract
+ \end{quote}
+ }
+
+ \renewcommand*{\thesection}{\arabic{section}}
+ \setcounter{section}{0}
+ \setcounter{footnote}{0}
+ \setcounter{figure}{0}
+ \setcounter{table}{0}
+ \setcounter{equation}{0} % for examples
+ \ohead{}
+ \lehead{\lsCollectionPaperHeaderAuthor}
+ \rohead{\lsCollectionPaperHeaderTitle}
+}
+
+
+
+
+%writeout page numbers for separation of chapters
+
+% \usepackage{newfile}
+% \newoutputstream{pages}
+% \openoutputfile{\jobname.pgs}{pages}
+% \newcommand{\writechapterpages}{\addtostream{pages}{\thepage}}
+% \AtEndDocument{
+% \closeoutputstream{pages}
+% }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Color definitions:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\definecolor{lsLightBlue}{cmyk}{0.6,0.05,0.05,0}
+\definecolor{lsMidBlue}{cmyk}{0.75,0.15,0,0}
+\definecolor{lsMidDarkBlue}{cmyk}{0.9,0.4,0.05,0}
+\definecolor{lsDarkBlue}{cmyk}{0.9,0.5,0.15,0.3}
+\definecolor{lsNightBlue}{cmyk}{1,0.47,0.22,0.68}
+
+\definecolor{lsYellow}{cmyk}{0,0.25,1,0}
+\definecolor{lsLightOrange}{cmyk}{0,0.50,1,0}
+\definecolor{lsMidOrange}{cmyk}{0,0.64,1,0}
+\definecolor{lsDarkOrange}{cmyk}{0,0.78,1,0}
+\definecolor{lsRed}{cmyk}{0.05,1,0.8,0}
+
+\definecolor{lsLightWine}{cmyk}{0.3,1,0.6,0}
+\definecolor{lsMidWine}{cmyk}{0.54,1,0.65,0.1}
+\definecolor{lsDarkWine}{cmyk}{0.58,1,0.70,0.35}
+\definecolor{lsSoftGreen}{cmyk}{0.32,0.02,0.72,0}
+\definecolor{lsLightGreen}{cmyk}{0.4,0,1,0}
+
+\definecolor{lsMidGreen}{cmyk}{0.55,0,0.9,0.1}
+\definecolor{lsRichGreen}{cmyk}{0.6,0,0.9,0.35}
+\definecolor{lsDarkGreenOne}{cmyk}{0.85,0.02,0.95,0.38}
+\definecolor{lsDarkGreenTwo}{cmyk}{0.85,0.05,1,0.5}
+\definecolor{lsNightGreen}{cmyk}{0.88,0.15,1,0.66}
+
+\definecolor{lsLightGray}{cmyk}{0,0,0,0.17}
+\definecolor{lsGuidelinesGray}{cmyk}{0,0.04,0,0.45}
+
+\definecolor{lsDOIGray}{cmyk}{0,0,0,0.45}
+
+\definecolor{langscicol1}{cmyk}{0.6,0.05,0.05,0}
+\definecolor{langscicol2}{cmyk}{0.75,0.15,0,0}
+\definecolor{langscicol3}{cmyk}{0.9,0.4,0.05,0}
+\definecolor{langscicol4}{cmyk}{0.9,0.5,0.15,0.3}
+\definecolor{langscicol5}{cmyk}{1,0.47,0.22,0.68}
+\definecolor{langscicol6}{cmyk}{0,0.25,1,0}
+\definecolor{langscicol7}{cmyk}{0,0.50,1,0}
+\definecolor{langscicol8}{cmyk}{0,0.64,1,0}
+\definecolor{langscicol9}{cmyk}{0,0.78,1,0}
+\definecolor{langscicol10}{cmyk}{0.05,1,0.8,0}
+\definecolor{langscicol11}{cmyk}{0.3,1,0.6,0}
+\definecolor{langscicol12}{cmyk}{0.54,1,0.65,0.1}
+\definecolor{langscicol13}{cmyk}{0.58,1,0.70,0.35}
+\definecolor{langscicol14}{cmyk}{0.32,0.02,0.72,0}
+\definecolor{langscicol15}{cmyk}{0.4,0,1,0}
+\definecolor{langscicol16}{cmyk}{0.55,0,0.9,0.1}
+\definecolor{langscicol17}{cmyk}{0.6,0,0.9,0.35}
+\definecolor{langscicol18}{cmyk}{0.85,0.02,0.95,0.38}
+\definecolor{langscicol19}{cmyk}{0.85,0.05,1,0.5}
+\definecolor{langscicol20}{cmyk}{0.88,0.15,1,0.66}
+
+
+% \newcommand{\lsptable}[2]{
+% \resizebox{#1}{!}{
+% \begin{tabularx}{\textwidth}{XXXXXXXXXXXXXXXXXXXX}
+% \cellcolor{langscicol1}&\cellcolor{langscicol2}&\cellcolor{langscicol3}&\cellcolor{langscicol4}&\cellcolor{langscicol5}&\cellcolor{langscicol6}&\cellcolor{langscicol7}&\cellcolor{langscicol8}&\cellcolor{langscicol9}&\cellcolor{langscicol10}&\cellcolor{langscicol11}&\cellcolor{langscicol12}&\cellcolor{langscicol13}&\cellcolor{langscicol14}&\cellcolor{langscicol15}&\cellcolor{langscicol16}&\cellcolor{langscicol17}&\cellcolor{langscicol18}&\cellcolor{langscicol19}&\cellcolor{langscicol20}
+% \rule{0pt}{#2}
+% \end{tabularx}
+% }
+% }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Miscellaneous
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage[figuresright]{rotating}
+
+%% hspace over width of something without showing it
+\newlength{\LSPTmp}
+\newcommand*{\hspaceThis}[1]{\settowidth{\LSPTmp}{#1}\hspace*{\LSPTmp}}
+
+% no this does add vertical space instead of horizontal St. Mü. 04.03.2018
+% \newcommand*{\hspaceThis}[1]{\hphantom{#1}} %should be equivalent
+
+% in this example
+%% \eal
+%% \ex \hspaceThis{*~}The boy who is running fast can jump high. $\to$\\
+%% {}* Is the boy who running fast can jump high?
+%% \ex \hspaceThis{*~}The boy who can run fast can jump high. $\to$\\
+%% {}* Can the boy who run fast can jump high?
+%% \zl
+
+\iflsArseneau% Donald Arseneau's automatic handling of page breaking from comp.text.tex: https://groups.google.com/d/topic/comp.text.tex/3eehwzortPg/discussion
+% With the optimisations from the memoir class. The memoir class has relative instead of absolute values.
+\def\sloppybottom{%
+ \def\@textbottom{\vskip \z@ \@plus.0001fil \@minus .95\topskip}%
+ \topskip=1\topskip \@plus 0.625\topskip \@minus .95\topskip%
+ \def\@texttop{\vskip \z@ \@plus -0.625\topskip \@minus -0.95\topskip}%
+}
+\sloppybottom
+\fi
+
+\endinput
diff --git a/macros/xetex/latex/langsci/storagelogo.pdf b/macros/xetex/latex/langsci/storagelogo.pdf
new file mode 100644
index 0000000000..193f451326
--- /dev/null
+++ b/macros/xetex/latex/langsci/storagelogo.pdf
Binary files differ
diff --git a/macros/xetex/latex/langsci/tbls-alarm.pdf b/macros/xetex/latex/langsci/tbls-alarm.pdf
new file mode 100644
index 0000000000..cca73bcd17
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-alarm.pdf
@@ -0,0 +1,121 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+120 42.5 m
+120 91.25 l
+120 110 105 125 86.25 125 c
+67.5 125 52.5 110 52.5 91.25 c
+52.5 42.5 l
+120 42.5 l
+135 50 m
+150 35 l
+150 27.5 l
+22.5 27.5 l
+22.5 35 l
+37.5 50 l
+37.5 91.25 l
+37.5 114.262 53.4805 133.551 75 138.629 c
+75 143.75 l
+75 149.961 80.0391 155 86.25 155 c
+92.4609 155 97.5 149.961 97.5 143.75 c
+97.5 138.629 l
+118.949 133.551 135 114.262 135 91.25 c
+135 50 l
+86.25 5 m
+77.9688 5 71.25 11.7188 71.25 20 c
+101.25 20 l
+101.25 11.7188 94.5313 5 86.25 5 c
+149.77 95 m
+148.629 114.879 138.441 132.5 123.16 143.16 c
+133.871 153.871 l
+151.801 140.23 163.629 119.059 164.77 95 c
+149.77 95 l
+49.3398 143.16 m
+34.0586 132.5 23.8711 114.879 22.5 95 c
+7.5 95 l
+8.87109 119.059 20.6992 140.23 38.6289 153.871 c
+h
+49.3398 143.16 m
+f
+Q
+endstream
+endobj
+6 0 obj
+764
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 17 16]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1366>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:cdff5a8b-cefc-11f2-0000-bfe868432480' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.20'/>
+<rdf:Description rdf:about='uuid:cdff5a8b-cefc-11f2-0000-bfe868432480' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2017-09-11T12:59:17+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2017-09-11T12:59:17+02:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.10 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:cdff5a8b-cefc-11f2-0000-bfe868432480' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:cdff5a8b-cefc-11f2-0000-bfe868432480'/>
+<rdf:Description rdf:about='uuid:cdff5a8b-cefc-11f2-0000-bfe868432480' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.20)
+/CreationDate(D:20170911125917+02'00')
+/ModDate(D:20170911125917+02'00')
+/Creator(cairo 1.14.10 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000001036 00000 n
+0000002612 00000 n
+0000000977 00000 n
+0000000848 00000 n
+0000000015 00000 n
+0000000829 00000 n
+0000001100 00000 n
+0000001141 00000 n
+0000001170 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<E976E3A6FED74CFAEAA1ACC5AA2AB844><E976E3A6FED74CFAEAA1ACC5AA2AB844>]
+>>
+startxref
+2788
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-book.eps b/macros/xetex/latex/langsci/tbls-book.eps
new file mode 100644
index 0000000000..1201828171
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-book.eps
@@ -0,0 +1,84 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.0 (http://cairographics.org)
+%%CreationDate: Tue Aug 9 12:10:45 2016
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 -1 27 27
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 27 27
+%%EndPageSetup
+q 0 -1 27 28 rectclip q
+1 g
+0 26.346 26.344 -26.344 re f
+0.768627 0.776471 0.768627 rg
+13.172 4.463 m 10.766 7.15 5.723 8.486 4.102 8.486 c 3.109 8.486 l 3.109
+ 21.885 l 4.102 21.885 l 7.219 21.885 10.867 20.525 13.172 18.568 c 15.477
+ 20.525 19.125 21.885 22.246 21.885 c 23.234 21.885 l 23.234 8.486 l 22.246
+ 8.486 l 20.621 8.486 15.82 7.279 13.172 4.463 c 14.164 16.764 m 14.164
+7.842 l 16.402 9.264 19.281 10.193 21.254 10.447 c 21.254 19.803 l 18.691
+ 19.541 15.848 18.334 14.164 16.764 c 5.09 10.447 m 7.066 10.193 9.941 9.264
+ 12.184 7.842 c 12.184 16.764 l 10.496 18.334 7.652 19.541 5.09 19.803 c
+ 5.09 10.447 l f
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-book.pdf b/macros/xetex/latex/langsci/tbls-book.pdf
new file mode 100644
index 0000000000..50c8da3613
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-book.pdf
@@ -0,0 +1,110 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 10.0195 263.441 263.441 re
+f
+%.769531 0.777344 0.769531 rg
+131.719 54.6289 m
+107.66 81.5 57.2305 94.8594 41.0195 94.8594 c
+31.0898 94.8594 l
+31.0898 228.852 l
+41.0195 228.852 l
+72.1914 228.852 108.672 215.25 131.719 195.68 c
+154.77 215.25 191.25 228.852 222.461 228.852 c
+232.34 228.852 l
+232.34 94.8594 l
+222.461 94.8594 l
+206.211 94.8594 158.199 82.7891 131.719 54.6289 c
+141.641 177.641 m
+141.641 88.4219 l
+164.02 102.641 192.809 111.93 212.539 114.469 c
+212.539 208.031 l
+186.91 205.41 158.48 193.34 141.641 177.641 c
+50.8984 114.469 m
+70.6602 111.93 99.4102 102.641 121.84 88.4219 c
+121.84 177.641 l
+104.961 193.34 76.5195 205.41 50.8984 208.031 c
+50.8984 114.469 l
+f
+Q
+endstream
+endobj
+6 0 obj
+709
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 27 28]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1365>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:f58cb9a3-9c7c-11f1-0000-6c09b143e538' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
+<rdf:Description rdf:about='uuid:f58cb9a3-9c7c-11f1-0000-6c09b143e538' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2016-08-17T11:53:12+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2016-08-17T11:53:12+02:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.0 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:f58cb9a3-9c7c-11f1-0000-6c09b143e538' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:f58cb9a3-9c7c-11f1-0000-6c09b143e538'/>
+<rdf:Description rdf:about='uuid:f58cb9a3-9c7c-11f1-0000-6c09b143e538' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.06)
+/CreationDate(D:20160817115312+02'00')
+/ModDate(D:20160817115312+02'00')
+/Creator(cairo 1.14.0 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000981 00000 n
+0000002556 00000 n
+0000000922 00000 n
+0000000793 00000 n
+0000000015 00000 n
+0000000774 00000 n
+0000001045 00000 n
+0000001086 00000 n
+0000001115 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<ECD1AD554B1D382F0AAFA0B712729456><ECD1AD554B1D382F0AAFA0B712729456>]
+>>
+startxref
+2731
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-bulb.eps b/macros/xetex/latex/langsci/tbls-bulb.eps
new file mode 100644
index 0000000000..a1c21d719c
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-bulb.eps
@@ -0,0 +1,86 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.0 (http://cairographics.org)
+%%CreationDate: Tue Aug 9 12:11:40 2016
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 -1 27 27
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 27 27
+%%EndPageSetup
+q 0 -1 27 28 rectclip q
+1 g
+0 26.347 26.344 -26.348 re f
+0.772549 0.772549 0.776471 rg
+10.016 3.698 m 10.016 3.12 10.488 2.647 11.066 2.647 c 15.277 2.647 l 15.859
+ 2.647 16.332 3.12 16.332 3.698 c 16.332 4.749 l 10.016 4.749 l h
+13.172 23.702 m 9.109 23.702 5.805 20.393 5.805 16.331 c 5.805 13.827 7.055
+ 11.628 8.965 10.288 c 8.965 7.909 l 8.965 7.331 9.434 6.854 10.016 6.854
+ c 16.332 6.854 l 16.91 6.854 17.387 7.331 17.387 7.909 c 17.387 10.288
+l 19.289 11.628 20.543 13.827 20.543 16.331 c 20.543 20.393 17.234 23.702
+ 13.172 23.702 c 16.172 12.014 m 15.277 11.382 l 15.277 8.96 l 11.066 8.96
+ l 11.066 11.382 l 10.172 12.014 l 8.75 13.003 7.91 14.616 7.91 16.331 c
+ 7.91 19.237 10.266 21.597 13.172 21.597 c 16.078 21.597 18.438 19.237 18.438
+ 16.331 c 18.438 14.616 17.594 13.003 16.172 12.014 c f
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-bulb.pdf b/macros/xetex/latex/langsci/tbls-bulb.pdf
new file mode 100644
index 0000000000..385af6c34a
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-bulb.pdf
@@ -0,0 +1,116 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 9.98828 263.441 263.48 re
+f
+%.773438 0.773438 0.777344 rg
+100.16 46.9805 m
+100.16 41.1992 104.879 36.4688 110.66 36.4688 c
+152.77 36.4688 l
+158.59 36.4688 163.32 41.1992 163.32 46.9805 c
+163.32 57.4883 l
+100.16 57.4883 l
+h
+131.719 247.02 m
+91.0898 247.02 58.0508 213.93 58.0508 173.309 c
+58.0508 148.27 70.5508 126.281 89.6484 112.879 c
+89.6484 89.0898 l
+89.6484 83.3086 94.3398 78.5391 100.16 78.5391 c
+163.32 78.5391 l
+169.102 78.5391 173.871 83.3086 173.871 89.0898 c
+173.871 112.879 l
+192.891 126.281 205.43 148.27 205.43 173.309 c
+205.43 213.93 172.34 247.02 131.719 247.02 c
+161.719 130.141 m
+152.77 123.82 l
+152.77 99.6016 l
+110.66 99.6016 l
+110.66 123.82 l
+101.719 130.141 l
+87.5 140.031 79.1016 156.16 79.1016 173.309 c
+79.1016 202.371 102.66 225.969 131.719 225.969 c
+160.781 225.969 184.379 202.371 184.379 173.309 c
+184.379 156.16 175.941 140.031 161.719 130.141 c
+f
+Q
+endstream
+endobj
+6 0 obj
+915
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 27 28]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1365>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:fd4c5e24-9c7c-11f1-0000-b7491eff7f98' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
+<rdf:Description rdf:about='uuid:fd4c5e24-9c7c-11f1-0000-b7491eff7f98' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2016-08-17T11:53:25+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2016-08-17T11:53:25+02:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.0 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:fd4c5e24-9c7c-11f1-0000-b7491eff7f98' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:fd4c5e24-9c7c-11f1-0000-b7491eff7f98'/>
+<rdf:Description rdf:about='uuid:fd4c5e24-9c7c-11f1-0000-b7491eff7f98' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.06)
+/CreationDate(D:20160817115325+02'00')
+/ModDate(D:20160817115325+02'00')
+/Creator(cairo 1.14.0 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000001187 00000 n
+0000002762 00000 n
+0000001128 00000 n
+0000000999 00000 n
+0000000015 00000 n
+0000000980 00000 n
+0000001251 00000 n
+0000001292 00000 n
+0000001321 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<1F56471E572FFAE8039CE1F5D26B930E><1F56471E572FFAE8039CE1F5D26B930E>]
+>>
+startxref
+2937
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-bulbon.pdf b/macros/xetex/latex/langsci/tbls-bulbon.pdf
new file mode 100644
index 0000000000..56d6dcdd66
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-bulbon.pdf
@@ -0,0 +1,137 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+150 97.5 m
+172.5 97.5 l
+172.5 82.5 l
+150 82.5 l
+150 97.5 l
+7.5 97.5 m
+30 97.5 l
+30 82.5 l
+7.5 82.5 l
+7.5 97.5 l
+97.5 172.5 m
+97.5 150 l
+82.5 150 l
+82.5 172.5 l
+97.5 172.5 l
+36.9102 153.75 m
+52.8906 137.699 l
+42.2305 127.109 l
+26.25 143.012 l
+36.9102 153.75 l
+127.109 137.77 m
+143.012 153.75 l
+153.75 143.012 l
+137.77 127.109 l
+127.109 137.77 l
+90 135 m
+114.84 135 135 114.84 135 90 c
+135 73.3594 125.941 58.7891 112.5 51.0195 c
+112.5 37.5 l
+112.5 33.3594 109.141 30 105 30 c
+75 30 l
+70.8594 30 67.5 33.3594 67.5 37.5 c
+67.5 51.0195 l
+54.0586 58.7891 45 73.3594 45 90 c
+45 114.84 65.1602 135 90 135 c
+105 22.5 m
+105 15 l
+105 10.8594 101.641 7.5 97.5 7.5 c
+82.5 7.5 l
+78.3594 7.5 75 10.8594 75 15 c
+75 22.5 l
+105 22.5 l
+82.5 45 m
+97.5 45 l
+97.5 60.9805 l
+110.469 64.2617 120 76.0508 120 90 c
+120 106.559 106.559 120 90 120 c
+73.4414 120 60 106.559 60 90 c
+60 76.0508 69.5313 64.2617 82.5 60.9805 c
+h
+82.5 45 m
+f
+Q
+endstream
+endobj
+6 0 obj
+944
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 18 18]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1366>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:51b9470d-cefd-11f2-0000-e62c3c3c0d95' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.20'/>
+<rdf:Description rdf:about='uuid:51b9470d-cefd-11f2-0000-e62c3c3c0d95' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2017-09-11T13:02:58+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2017-09-11T13:02:58+02:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.10 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:51b9470d-cefd-11f2-0000-e62c3c3c0d95' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:51b9470d-cefd-11f2-0000-e62c3c3c0d95'/>
+<rdf:Description rdf:about='uuid:51b9470d-cefd-11f2-0000-e62c3c3c0d95' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.20)
+/CreationDate(D:20170911130258+02'00')
+/ModDate(D:20170911130258+02'00')
+/Creator(cairo 1.14.10 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000001216 00000 n
+0000002792 00000 n
+0000001157 00000 n
+0000001028 00000 n
+0000000015 00000 n
+0000001009 00000 n
+0000001280 00000 n
+0000001321 00000 n
+0000001350 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<942865AE82640BCFF3C9E095D5921E09><942865AE82640BCFF3C9E095D5921E09>]
+>>
+startxref
+2968
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-code.pdf b/macros/xetex/latex/langsci/tbls-code.pdf
new file mode 100644
index 0000000000..5a81ae19be
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-code.pdf
@@ -0,0 +1,126 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+40 137.5 m
+31.7188 137.5 25 130.781 25 122.5 c
+25 92.5 l
+25 84.2188 18.2813 77.5 10 77.5 c
+2.5 77.5 l
+2.5 62.5 l
+10 62.5 l
+18.2813 62.5 25 55.7813 25 47.5 c
+25 17.5 l
+25 9.21875 31.7188 2.5 40 2.5 c
+55 2.5 l
+55 17.5 l
+40 17.5 l
+40 55 l
+40 63.2813 33.2813 70 25 70 c
+33.2813 70 40 76.7188 40 85 c
+40 122.5 l
+55 122.5 l
+55 137.5 l
+100 137.5 m
+108.281 137.5 115 130.781 115 122.5 c
+115 92.5 l
+115 84.2188 121.719 77.5 130 77.5 c
+137.5 77.5 l
+137.5 62.5 l
+130 62.5 l
+121.719 62.5 115 55.7813 115 47.5 c
+115 17.5 l
+115 9.21875 108.281 2.5 100 2.5 c
+85 2.5 l
+85 17.5 l
+100 17.5 l
+100 55 l
+100 63.2813 106.719 70 115 70 c
+106.719 70 100 76.7188 100 85 c
+100 122.5 l
+85 122.5 l
+85 137.5 l
+h
+100 137.5 m
+f
+Q
+endstream
+endobj
+6 0 obj
+731
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 14 14]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1366>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:5da5090d-cefd-11f2-0000-37e32663a32e' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.20'/>
+<rdf:Description rdf:about='uuid:5da5090d-cefd-11f2-0000-37e32663a32e' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2017-09-11T13:03:18+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2017-09-11T13:03:18+02:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.10 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:5da5090d-cefd-11f2-0000-37e32663a32e' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:5da5090d-cefd-11f2-0000-37e32663a32e'/>
+<rdf:Description rdf:about='uuid:5da5090d-cefd-11f2-0000-37e32663a32e' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.20)
+/CreationDate(D:20170911130318+02'00')
+/ModDate(D:20170911130318+02'00')
+/Creator(cairo 1.14.10 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000001003 00000 n
+0000002579 00000 n
+0000000944 00000 n
+0000000815 00000 n
+0000000015 00000 n
+0000000796 00000 n
+0000001067 00000 n
+0000001108 00000 n
+0000001137 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<A20A71318AA43443E1E3E309C91D4C01><A20A71318AA43443E1E3E309C91D4C01>]
+>>
+startxref
+2755
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-explore.pdf b/macros/xetex/latex/langsci/tbls-explore.pdf
new file mode 100644
index 0000000000..0c49bb979d
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-explore.pdf
@@ -0,0 +1,106 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 10.0117 191.988 191.988 re
+f*
+% g
+96.0195 114.809 m
+91.1289 114.809 87.1914 110.871 87.1914 105.98 c
+87.1914 101.102 91.1289 97.1992 96.0195 97.1992 c
+100.898 97.1992 104.801 101.102 104.801 105.98 c
+104.801 110.871 100.898 114.809 96.0195 114.809 c
+h
+96.0195 185.98 m
+51.8398 185.98 16.0195 150.16 16.0195 105.98 c
+16.0195 61.8398 51.8398 25.9805 96.0195 25.9805 c
+140.16 25.9805 176.02 61.8398 176.02 105.98 c
+176.02 150.16 140.16 185.98 96.0195 185.98 c
+h
+113.52 88.4805 m
+48.0117 58.0195 l
+78.4805 123.52 l
+143.98 153.988 l
+h
+f
+Q
+endstream
+endobj
+6 0 obj
+568
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 20 21]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1365>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:65e9aa3d-6122-11f3-0000-bcbe1c119c8e' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.10'/>
+<rdf:Description rdf:about='uuid:65e9aa3d-6122-11f3-0000-bcbe1c119c8e' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-03-16T11:36:13+01:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-03-16T11:36:13+01:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.13.1 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:65e9aa3d-6122-11f3-0000-bcbe1c119c8e' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:65e9aa3d-6122-11f3-0000-bcbe1c119c8e'/>
+<rdf:Description rdf:about='uuid:65e9aa3d-6122-11f3-0000-bcbe1c119c8e' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.10)
+/CreationDate(D:20180316113613+01'00')
+/ModDate(D:20180316113613+01'00')
+/Creator(cairo 1.13.1 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000840 00000 n
+0000002415 00000 n
+0000000781 00000 n
+0000000652 00000 n
+0000000015 00000 n
+0000000633 00000 n
+0000000904 00000 n
+0000000945 00000 n
+0000000974 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<2797AE41F427D592B6BCC16B266169A7><2797AE41F427D592B6BCC16B266169A7>]
+>>
+startxref
+2590
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-filter.pdf b/macros/xetex/latex/langsci/tbls-filter.pdf
new file mode 100644
index 0000000000..399346ed61
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-filter.pdf
@@ -0,0 +1,91 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 0 240 240 re f
+% g
+100 60 40 20 re
+30 160 180 20 re
+60 110 120 20 re
+60 110 m
+f
+Q
+endstream
+endobj
+6 0 obj
+116
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 24 24]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1344>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:cee20fd5-de11-11f3-0000-1530e969d095' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.22'/>
+<rdf:Description rdf:about='uuid:cee20fd5-de11-11f3-0000-1530e969d095' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-08-22T12:22:23+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-08-22T12:22:23+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:cee20fd5-de11-11f3-0000-1530e969d095' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:cee20fd5-de11-11f3-0000-1530e969d095'/>
+<rdf:Description rdf:about='uuid:cee20fd5-de11-11f3-0000-1530e969d095' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.22)
+/CreationDate(D:20180822122223+02'00')
+/ModDate(D:20180822122223+02'00')>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000388 00000 n
+0000001942 00000 n
+0000000329 00000 n
+0000000200 00000 n
+0000000015 00000 n
+0000000181 00000 n
+0000000452 00000 n
+0000000493 00000 n
+0000000522 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<90D4493E115BA5DD9E69EFA090D98DBD><90D4493E115BA5DD9E69EFA090D98DBD>]
+>>
+startxref
+2065
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-glass.eps b/macros/xetex/latex/langsci/tbls-glass.eps
new file mode 100644
index 0000000000..60e261f12e
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-glass.eps
@@ -0,0 +1,82 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.0 (http://cairographics.org)
+%%CreationDate: Tue Aug 9 12:12:48 2016
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 4 3 25 25
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 4 3 25 25
+%%EndPageSetup
+q 4 3 21 22 rectclip q
+0.772549 0.772549 0.776471 rg
+18.434 11.604 m 17.539 11.604 l 17.219 11.909 l 18.332 13.213 19 14.901
+ 19 16.733 c 19 20.827 15.699 24.147 11.629 24.147 c 7.555 24.147 4.254
+20.827 4.254 16.733 c 4.254 12.643 7.555 9.323 11.629 9.323 c 13.453 9.323
+ 15.133 9.995 16.426 11.116 c 16.73 10.795 l 16.73 9.893 l 22.406 4.205
+l 24.098 5.905 l h
+11.629 11.604 m 8.801 11.604 6.523 13.897 6.523 16.733 c 6.523 19.573 8.801
+ 21.866 11.629 21.866 c 14.453 21.866 16.73 19.573 16.73 16.733 c 16.73
+13.897 14.453 11.604 11.629 11.604 c f
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-glass.pdf b/macros/xetex/latex/langsci/tbls-glass.pdf
new file mode 100644
index 0000000000..809690a109
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-glass.pdf
@@ -0,0 +1,104 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+%.773438 0.773438 0.777344 rg
+144.34 86.0391 m
+135.391 86.0391 l
+132.191 89.0898 l
+143.32 102.129 150 119.012 150 137.328 c
+150 178.27 116.988 211.469 76.2891 211.469 c
+35.5508 211.469 2.53906 178.27 2.53906 137.328 c
+2.53906 96.4297 35.5508 63.2305 76.2891 63.2305 c
+94.5312 63.2305 111.328 69.9492 124.262 81.1602 c
+127.301 77.9492 l
+127.301 68.9297 l
+184.059 12.0508 l
+200.98 29.0508 l
+h
+76.2891 86.0391 m
+48.0117 86.0391 25.2305 108.969 25.2305 137.328 c
+25.2305 165.73 48.0117 188.66 76.2891 188.66 c
+104.531 188.66 127.301 165.73 127.301 137.328 c
+127.301 108.969 104.531 86.0391 76.2891 86.0391 c
+f
+Q
+endstream
+endobj
+6 0 obj
+636
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 21 22]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1365>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:02a9a8a4-9c7d-11f1-0000-9d8116ee9e60' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
+<rdf:Description rdf:about='uuid:02a9a8a4-9c7d-11f1-0000-9d8116ee9e60' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2016-08-17T11:53:34+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2016-08-17T11:53:34+02:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.0 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:02a9a8a4-9c7d-11f1-0000-9d8116ee9e60' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:02a9a8a4-9c7d-11f1-0000-9d8116ee9e60'/>
+<rdf:Description rdf:about='uuid:02a9a8a4-9c7d-11f1-0000-9d8116ee9e60' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.06)
+/CreationDate(D:20160817115334+02'00')
+/ModDate(D:20160817115334+02'00')
+/Creator(cairo 1.14.0 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000908 00000 n
+0000002483 00000 n
+0000000849 00000 n
+0000000720 00000 n
+0000000015 00000 n
+0000000701 00000 n
+0000000972 00000 n
+0000001013 00000 n
+0000001042 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<EB5BC03A4BE90615DEDB83576553A6D5><EB5BC03A4BE90615DEDB83576553A6D5>]
+>>
+startxref
+2658
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-glass2.pdf b/macros/xetex/latex/langsci/tbls-glass2.pdf
new file mode 100644
index 0000000000..b61fa5f33c
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-glass2.pdf
@@ -0,0 +1,68 @@
+%PDF-1.5
+%µí®û
+3 0 obj
+<< /Length 4 0 R
+ /Filter /FlateDecode
+>>
+stream
+xœUÁmD! Dï®ÂL°ƒËH +¤l›C’þ¥ÀÇ|)â“<ãñ|Sâõ~žüöHüü%q¤’Yš±t$=øbi°zqí}q‡«±d¤6Usa©HIéÆáqH­¯—ÎZQÍ/{ÓCƒ –ü ¢g£Ð]pEKh:,ËñÛ0Vº\i­ÖÆŽ’æ ¡•i‘`Ó|,ãä}qÙç.vh/5ϳgΕ„^W@Q.hº†?)öÞåÍîr=X±zÍèµÄ_qýunœA¶€Tá–ïZ6ÍtÅoŽl¡<É£ëMëBAþ§üAïô+åd;
+endstream
+endobj
+4 0 obj
+ 237
+endobj
+2 0 obj
+<<
+ /ExtGState <<
+ /a0 << /CA 1 /ca 1 >>
+ >>
+>>
+endobj
+5 0 obj
+<< /Type /Page
+ /Parent 1 0 R
+ /MediaBox [ 0 0 28.35 28.35 ]
+ /Contents 3 0 R
+ /Group <<
+ /Type /Group
+ /S /Transparency
+ /I true
+ /CS /DeviceRGB
+ >>
+ /Resources 2 0 R
+>>
+endobj
+1 0 obj
+<< /Type /Pages
+ /Kids [ 5 0 R ]
+ /Count 1
+>>
+endobj
+6 0 obj
+<< /Creator (cairo 1.14.1 (http://cairographics.org))
+ /Producer (cairo 1.14.1 (http://cairographics.org))
+>>
+endobj
+7 0 obj
+<< /Type /Catalog
+ /Pages 1 0 R
+>>
+endobj
+xref
+0 8
+0000000000 65535 f
+0000000641 00000 n
+0000000351 00000 n
+0000000015 00000 n
+0000000329 00000 n
+0000000423 00000 n
+0000000706 00000 n
+0000000833 00000 n
+trailer
+<< /Size 8
+ /Root 7 0 R
+ /Info 6 0 R
+>>
+startxref
+885
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-law.eps b/macros/xetex/latex/langsci/tbls-law.eps
new file mode 100644
index 0000000000..1839c34886
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-law.eps
@@ -0,0 +1,92 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.0 (http://cairographics.org)
+%%CreationDate: Tue Aug 9 12:13:39 2016
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 1 0 28 28
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 1 0 28 28
+%%EndPageSetup
+q 1 0 27 28 rectclip q
+1 g
+1 27.346 26.348 -26.344 re f
+0.772549 0.772549 0.776471 rg
+18.832 14.413 m 18.832 16.647 17.66 18.01 15.508 18.651 c 13.871 19.127
+ l 12.793 19.448 12.117 20.038 12.117 20.971 c 12.117 22.088 12.863 22.725
+ 14.176 22.725 c 15.367 22.725 16.188 22.225 16.281 20.995 c 18.574 20.995
+ l 18.504 23.182 16.938 24.752 14.176 24.752 c 11.414 24.752 9.824 23.022
+ 9.824 20.905 c 9.824 19.241 10.641 18.401 11.789 17.854 c 10.715 17.33
+9.52 16.077 9.52 14.299 c 9.52 12.045 10.664 10.702 12.816 10.065 c 14.453
+ 9.588 l 15.742 9.198 16.281 8.401 16.281 7.58 c 16.281 6.401 15.484 5.67
+ 14.152 5.67 c 12.844 5.67 12.047 6.354 11.953 7.467 c 9.613 7.467 l 9.707
+ 4.807 11.859 3.6 14.152 3.6 c 16.516 3.6 18.621 5.057 18.621 7.651 c 18.621
+ 9.358 17.73 10.362 16.562 10.862 c 17.613 11.385 18.832 12.639 18.832 14.413
+ c 16.492 14.346 m 16.492 13.436 16.188 12.936 15.812 12.549 c 15.414 12.139
+ 14.875 11.909 14.176 11.909 c 13.473 11.909 12.91 12.139 12.516 12.549
+c 12.141 12.936 11.859 13.459 11.859 14.346 c 11.859 15.213 12.094 15.737
+ 12.516 16.166 c 12.91 16.577 13.473 16.803 14.176 16.803 c 14.875 16.803
+ 15.391 16.553 15.812 16.166 c 16.281 15.737 16.492 15.166 16.492 14.346
+ c f
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-law.pdf b/macros/xetex/latex/langsci/tbls-law.pdf
new file mode 100644
index 0000000000..cd05ce2d02
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-law.pdf
@@ -0,0 +1,119 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 10.0195 263.48 263.441 re
+f
+%.773438 0.773438 0.777344 rg
+178.32 144.129 m
+178.32 166.469 166.602 180.102 145.078 186.512 c
+128.711 191.27 l
+117.93 194.48 111.172 200.379 111.172 209.711 c
+111.172 220.879 118.629 227.25 131.762 227.25 c
+143.672 227.25 151.879 222.25 152.809 209.949 c
+175.738 209.949 l
+175.039 231.82 159.379 247.52 131.762 247.52 c
+104.141 247.52 88.2383 230.219 88.2383 209.051 c
+88.2383 192.41 96.4102 184.012 107.891 178.539 c
+97.1484 173.301 85.1992 160.77 85.1992 142.988 c
+85.1992 120.449 96.6406 107.02 118.16 100.648 c
+134.531 95.8789 l
+147.422 91.9805 152.809 84.0117 152.809 75.8008 c
+152.809 64.0117 144.84 56.6992 131.52 56.6992 c
+118.441 56.6992 110.469 63.5391 109.531 74.6719 c
+86.1289 74.6719 l
+87.0703 48.0703 108.59 36 131.52 36 c
+155.16 36 176.211 50.5703 176.211 76.5117 c
+176.211 93.5781 167.301 103.621 155.621 108.621 c
+166.129 113.852 178.32 126.391 178.32 144.129 c
+154.922 143.461 m
+154.922 134.359 151.879 129.359 148.121 125.488 c
+144.141 121.391 138.75 119.09 131.762 119.09 c
+124.73 119.09 119.102 121.391 115.16 125.488 c
+111.41 129.359 108.59 134.59 108.59 143.461 c
+108.59 152.129 110.941 157.371 115.16 161.66 c
+119.102 165.77 124.73 168.031 131.762 168.031 c
+138.75 168.031 143.91 165.531 148.121 161.66 c
+152.809 157.371 154.922 151.66 154.922 143.461 c
+f
+Q
+endstream
+endobj
+6 0 obj
+1346
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 27 28]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1365>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:076e5ca4-9c7d-11f1-0000-f749088121c4' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
+<rdf:Description rdf:about='uuid:076e5ca4-9c7d-11f1-0000-f749088121c4' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2016-08-17T11:53:42+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2016-08-17T11:53:42+02:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.0 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:076e5ca4-9c7d-11f1-0000-f749088121c4' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:076e5ca4-9c7d-11f1-0000-f749088121c4'/>
+<rdf:Description rdf:about='uuid:076e5ca4-9c7d-11f1-0000-f749088121c4' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.06)
+/CreationDate(D:20160817115342+02'00')
+/ModDate(D:20160817115342+02'00')
+/Creator(cairo 1.14.0 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000001619 00000 n
+0000003194 00000 n
+0000001560 00000 n
+0000001431 00000 n
+0000000015 00000 n
+0000001411 00000 n
+0000001683 00000 n
+0000001724 00000 n
+0000001753 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<B6F8EBBB7FE7276C1F59E62589FAC997><B6F8EBBB7FE7276C1F59E62589FAC997>]
+>>
+startxref
+3369
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-more.pdf b/macros/xetex/latex/langsci/tbls-more.pdf
new file mode 100644
index 0000000000..230d323e0e
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-more.pdf
@@ -0,0 +1,118 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 10.0117 191.988 191.988 re
+f*
+% g
+176.559 177.859 m
+56.5586 177.859 l
+51.0195 177.859 46.7188 175.051 43.8281 170.789 c
+0.550781 105.828 l
+43.8281 40.9492 l
+46.7188 36.7305 51.6016 33.8398 57.1094 33.8398 c
+176.559 33.8398 l
+185.352 33.8398 192.539 41.0586 192.539 49.8516 c
+192.539 161.84 l
+192.539 170.629 185.352 177.859 176.559 177.859 c
+h
+72.5391 93.8398 m
+65.8984 93.8398 60.5508 99.1914 60.5508 105.828 c
+60.5508 112.469 65.8984 117.859 72.5391 117.859 c
+79.1797 117.859 84.5313 112.469 84.5313 105.828 c
+84.5313 99.1914 79.1797 93.8398 72.5391 93.8398 c
+h
+112.539 93.8398 m
+105.898 93.8398 100.551 99.1914 100.551 105.828 c
+100.551 112.469 105.898 117.859 112.539 117.859 c
+119.18 117.859 124.531 112.469 124.531 105.828 c
+124.531 99.1914 119.18 93.8398 112.539 93.8398 c
+h
+152.539 93.8398 m
+145.898 93.8398 140.551 99.1914 140.551 105.828 c
+140.551 112.469 145.898 117.859 152.539 117.859 c
+159.18 117.859 164.531 112.469 164.531 105.828 c
+164.531 99.1914 159.18 93.8398 152.539 93.8398 c
+h
+f
+Q
+endstream
+endobj
+6 0 obj
+1038
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 20 21]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1365>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:2ec4ca27-611d-11f3-0000-685314599bf4' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.10'/>
+<rdf:Description rdf:about='uuid:2ec4ca27-611d-11f3-0000-685314599bf4' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-03-16T10:58:53+01:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-03-16T10:58:53+01:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.13.1 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:2ec4ca27-611d-11f3-0000-685314599bf4' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:2ec4ca27-611d-11f3-0000-685314599bf4'/>
+<rdf:Description rdf:about='uuid:2ec4ca27-611d-11f3-0000-685314599bf4' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.10)
+/CreationDate(D:20180316105853+01'00')
+/ModDate(D:20180316105853+01'00')
+/Creator(cairo 1.13.1 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000001311 00000 n
+0000002886 00000 n
+0000001252 00000 n
+0000001123 00000 n
+0000000015 00000 n
+0000001103 00000 n
+0000001375 00000 n
+0000001416 00000 n
+0000001445 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<13CFBF5DFC880DCA2171B0F6523B20C7><13CFBF5DFC880DCA2171B0F6523B20C7>]
+>>
+startxref
+3061
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-pencil.pdf b/macros/xetex/latex/langsci/tbls-pencil.pdf
new file mode 100644
index 0000000000..dc456039f6
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-pencil.pdf
@@ -0,0 +1,103 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 10.0117 191.988 199.488 re
+f
+% g
+23.9805 63.9883 m
+23.9805 33.9883 l
+53.9805 33.9883 l
+142.461 122.469 l
+112.461 152.469 l
+h
+165.66 145.672 m
+168.789 148.801 168.789 153.84 165.66 156.961 c
+146.949 175.672 l
+143.828 178.801 138.789 178.801 135.66 175.672 c
+121.051 161.02 l
+151.051 131.02 l
+h
+165.66 145.672 m
+f
+Q
+endstream
+endobj
+6 0 obj
+348
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 20 21]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1366>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:d6569c1f-436b-11f3-0000-42a7bb54f7a6' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.20'/>
+<rdf:Description rdf:about='uuid:d6569c1f-436b-11f3-0000-42a7bb54f7a6' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-02-06T16:06:20+01:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-02-06T16:06:20+01:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.10 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:d6569c1f-436b-11f3-0000-42a7bb54f7a6' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:d6569c1f-436b-11f3-0000-42a7bb54f7a6'/>
+<rdf:Description rdf:about='uuid:d6569c1f-436b-11f3-0000-42a7bb54f7a6' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.20)
+/CreationDate(D:20180206160620+01'00')
+/ModDate(D:20180206160620+01'00')
+/Creator(cairo 1.14.10 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000620 00000 n
+0000002196 00000 n
+0000000561 00000 n
+0000000432 00000 n
+0000000015 00000 n
+0000000413 00000 n
+0000000684 00000 n
+0000000725 00000 n
+0000000754 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<9ABA83C1A22381B9EDD373AB905E762B><9ABA83C1A22381B9EDD373AB905E762B>]
+>>
+startxref
+2372
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-people.pdf b/macros/xetex/latex/langsci/tbls-people.pdf
new file mode 100644
index 0000000000..2462447537
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-people.pdf
@@ -0,0 +1,117 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 10.0117 191.988 199.488 re
+f
+% g
+128.012 113.988 m
+141.289 113.988 151.91 124.73 151.91 138.02 c
+151.91 151.301 141.289 162 128.012 162 c
+114.73 162 103.98 151.301 103.98 138.02 c
+103.98 124.73 114.73 113.988 128.012 113.988 c
+h
+63.9805 113.988 m
+77.2695 113.988 87.9297 124.73 87.9297 138.02 c
+87.9297 151.301 77.2695 162 63.9805 162 c
+50.6992 162 40 151.301 40 138.02 c
+40 124.73 50.6992 113.988 63.9805 113.988 c
+h
+63.9805 98.0195 m
+45.3516 98.0195 8.01172 88.6406 8.01172 70.0117 c
+8.01172 50.0117 l
+120 50.0117 l
+120 70.0117 l
+120 88.6406 82.6602 98.0195 63.9805 98.0195 c
+h
+128.012 98.0195 m
+125.66 98.0195 123.051 97.8594 120.23 97.5898 c
+129.531 90.8711 136.02 81.8398 136.02 70.0117 c
+136.02 50.0117 l
+183.98 50.0117 l
+183.98 70.0117 l
+183.98 88.6406 146.641 98.0195 128.012 98.0195 c
+h
+128.012 98.0195 m
+f
+Q
+endstream
+endobj
+6 0 obj
+852
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 20 21]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1366>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:b4a8e51a-436a-11f3-0000-a7dca431dd16' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.20'/>
+<rdf:Description rdf:about='uuid:b4a8e51a-436a-11f3-0000-a7dca431dd16' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-02-06T15:58:14+01:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-02-06T15:58:14+01:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.10 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:b4a8e51a-436a-11f3-0000-a7dca431dd16' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:b4a8e51a-436a-11f3-0000-a7dca431dd16'/>
+<rdf:Description rdf:about='uuid:b4a8e51a-436a-11f3-0000-a7dca431dd16' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.20)
+/CreationDate(D:20180206155814+01'00')
+/ModDate(D:20180206155814+01'00')
+/Creator(cairo 1.14.10 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000001124 00000 n
+0000002700 00000 n
+0000001065 00000 n
+0000000936 00000 n
+0000000015 00000 n
+0000000917 00000 n
+0000001188 00000 n
+0000001229 00000 n
+0000001258 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<A0AFA1087223814391C2DC45900AAEB7><A0AFA1087223814391C2DC45900AAEB7>]
+>>
+startxref
+2876
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-plus.pdf b/macros/xetex/latex/langsci/tbls-plus.pdf
new file mode 100644
index 0000000000..c22fe8c814
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-plus.pdf
@@ -0,0 +1,114 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 0 240 239.73 re
+f
+% g
+130 170 m
+110 170 l
+110 130 l
+70 130 l
+70 110 l
+110 110 l
+110 70 l
+130 70 l
+130 110 l
+170 110 l
+170 130 l
+130 130 l
+h
+120 220 m
+64.8789 220 20 175.121 20 120 c
+20 64.8789 64.8789 20 120 20 c
+175.121 20 220 64.8789 220 120 c
+220 175.121 175.121 220 120 220 c
+h
+120 40 m
+75.8984 40 40 75.8984 40 120 c
+40 164.102 75.8984 200 120 200 c
+164.102 200 200 164.102 200 120 c
+200 75.8984 164.102 40 120 40 c
+h
+120 40 m
+f
+Q
+endstream
+endobj
+6 0 obj
+470
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 24 24]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1344>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:80cd0c54-de11-11f3-0000-ca7119f977de' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.22'/>
+<rdf:Description rdf:about='uuid:80cd0c54-de11-11f3-0000-ca7119f977de' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-08-22T12:20:12+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-08-22T12:20:12+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:80cd0c54-de11-11f3-0000-ca7119f977de' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:80cd0c54-de11-11f3-0000-ca7119f977de'/>
+<rdf:Description rdf:about='uuid:80cd0c54-de11-11f3-0000-ca7119f977de' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.22)
+/CreationDate(D:20180822122012+02'00')
+/ModDate(D:20180822122012+02'00')>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000742 00000 n
+0000002296 00000 n
+0000000683 00000 n
+0000000554 00000 n
+0000000015 00000 n
+0000000535 00000 n
+0000000806 00000 n
+0000000847 00000 n
+0000000876 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<2106EE0723CBAEADC0359583D39E1DB5><2106EE0723CBAEADC0359583D39E1DB5>]
+>>
+startxref
+2419
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-r.pdf b/macros/xetex/latex/langsci/tbls-r.pdf
new file mode 100644
index 0000000000..25ae707e94
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-r.pdf
@@ -0,0 +1,122 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+80 117.809 m
+38.75 117.809 5 95.3086 5 67.5 c
+5 42.8906 31.7188 22.5 66.8008 18.1602 c
+66.8008 2.19141 l
+92.3789 2.19141 l
+92.3789 18.0898 l
+98.75 18.75 104.691 19.9609 110.309 21.6797 c
+120.66 2.19141 l
+149.609 2.19141 l
+132.191 31.4805 l
+146.211 40.6602 155 53.4805 155 67.5 c
+155 95.3086 121.25 117.809 80 117.809 c
+91.4805 98.1602 m
+122.969 98.1602 146.211 87.6602 146.211 63.75 c
+146.211 50.9414 139.34 41.9102 128.09 36.3711 c
+127.379 36.7617 126.801 37.1094 126.41 37.5 c
+123.711 38.7109 119.219 40.0391 y
+141.559 41.7188 141.559 63.9805 v
+141.559 86.25 118.16 86.6406 y
+66.8008 86.6406 l
+66.8008 32.9297 l
+47.6602 38.4805 34.4883 50.2305 34.4883 63.75 c
+34.4883 82.8086 59.9609 98.1602 91.4805 98.1602 c
+92.6211 68.3203 m
+108.121 68.3203 l
+115.23 68.7109 115.23 61.2891 v
+115.23 53.9805 108.121 53.9805 y
+92.6211 53.9805 l
+92.6211 68.3203 l
+92.3789 35.2305 m
+99.2617 35.2305 l
+100.621 35.2305 101.289 34.8789 102.5 33.75 c
+103.48 33.0117 104.531 31.5586 105.43 30.3086 c
+101.289 29.7695 96.9492 29.5313 92.3789 29.5313 c
+h
+92.3789 35.2305 m
+f
+Q
+endstream
+endobj
+6 0 obj
+1085
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 16 12]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1366>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:5847be8d-cefd-11f2-0000-51fd7b8c1347' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.20'/>
+<rdf:Description rdf:about='uuid:5847be8d-cefd-11f2-0000-51fd7b8c1347' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2017-09-11T13:03:09+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2017-09-11T13:03:09+02:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.14.10 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:5847be8d-cefd-11f2-0000-51fd7b8c1347' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:5847be8d-cefd-11f2-0000-51fd7b8c1347'/>
+<rdf:Description rdf:about='uuid:5847be8d-cefd-11f2-0000-51fd7b8c1347' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.20)
+/CreationDate(D:20170911130309+02'00')
+/ModDate(D:20170911130309+02'00')
+/Creator(cairo 1.14.10 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000001358 00000 n
+0000002934 00000 n
+0000001299 00000 n
+0000001170 00000 n
+0000000015 00000 n
+0000001150 00000 n
+0000001422 00000 n
+0000001463 00000 n
+0000001492 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<F4710C3F478B78524A0828C3629D0B3A><F4710C3F478B78524A0828C3629D0B3A>]
+>>
+startxref
+3110
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-receipt.pdf b/macros/xetex/latex/langsci/tbls-receipt.pdf
new file mode 100644
index 0000000000..6abb560234
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-receipt.pdf
@@ -0,0 +1,131 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 10.0117 191.988 191.988 re
+f*
+% g
+143.98 65.9805 m
+48.0117 65.9805 l
+48.0117 82 l
+143.98 82 l
+h
+143.98 98.0195 m
+48.0117 98.0195 l
+48.0117 113.988 l
+143.98 113.988 l
+h
+143.98 130.012 m
+48.0117 130.012 l
+48.0117 145.98 l
+143.98 145.98 l
+h
+23.9805 25.9805 m
+36.0195 38.0195 l
+48.0117 25.9805 l
+60 38.0195 l
+71.9883 25.9805 l
+83.9805 38.0195 l
+96.0195 25.9805 l
+108.012 38.0195 l
+120 25.9805 l
+131.988 38.0195 l
+143.98 25.9805 l
+156.02 38.0195 l
+168.012 25.9805 l
+168.012 185.98 l
+156.02 173.988 l
+143.98 185.98 l
+131.988 173.988 l
+120 185.98 l
+108.012 173.988 l
+96.0195 185.98 l
+83.9805 173.988 l
+71.9883 185.98 l
+60 173.988 l
+48.0117 185.98 l
+36.0195 173.988 l
+23.9805 185.98 l
+h
+f
+Q
+endstream
+endobj
+6 0 obj
+717
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 20 21]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1365>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:35ebd827-611d-11f3-0000-ce13b1d82da1' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.10'/>
+<rdf:Description rdf:about='uuid:35ebd827-611d-11f3-0000-ce13b1d82da1' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-03-16T10:59:05+01:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-03-16T10:59:05+01:00</xmp:CreateDate>
+<xmp:CreatorTool>cairo 1.13.1 (http://cairographics.org)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:35ebd827-611d-11f3-0000-ce13b1d82da1' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:35ebd827-611d-11f3-0000-ce13b1d82da1'/>
+<rdf:Description rdf:about='uuid:35ebd827-611d-11f3-0000-ce13b1d82da1' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.10)
+/CreationDate(D:20180316105905+01'00')
+/ModDate(D:20180316105905+01'00')
+/Creator(cairo 1.13.1 \(http://cairographics.org\))>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000989 00000 n
+0000002564 00000 n
+0000000930 00000 n
+0000000801 00000 n
+0000000015 00000 n
+0000000782 00000 n
+0000001053 00000 n
+0000001094 00000 n
+0000001123 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<29DB161F925ABF87D951A3EC77A85CB4><29DB161F925ABF87D951A3EC77A85CB4>]
+>>
+startxref
+2739
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-refresh.pdf b/macros/xetex/latex/langsci/tbls-refresh.pdf
new file mode 100644
index 0000000000..d2d36dbbbf
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-refresh.pdf
@@ -0,0 +1,103 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 0.898438 239.648 240 re
+f
+% g
+176.48 176.48 m
+161.988 191.02 142.109 200 120 200 c
+75.7813 200 40.1211 164.219 40.1211 120 c
+40.1211 75.7813 75.7813 40 120 40 c
+157.301 40 188.398 65.5117 197.301 100 c
+176.48 100 l
+168.281 76.7188 146.09 60 120 60 c
+86.9102 60 60 86.9102 60 120 c
+60 153.09 86.9102 180 120 180 c
+136.602 180 151.41 173.09 162.191 162.191 c
+130 130 l
+200 130 l
+200 200 l
+h
+176.48 176.48 m
+f
+Q
+endstream
+endobj
+6 0 obj
+443
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 24 24]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1344>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:51b69ad3-de11-11f3-0000-42bf8145e49f' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.22'/>
+<rdf:Description rdf:about='uuid:51b69ad3-de11-11f3-0000-42bf8145e49f' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-08-22T12:18:53+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-08-22T12:18:53+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:51b69ad3-de11-11f3-0000-42bf8145e49f' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:51b69ad3-de11-11f3-0000-42bf8145e49f'/>
+<rdf:Description rdf:about='uuid:51b69ad3-de11-11f3-0000-42bf8145e49f' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.22)
+/CreationDate(D:20180822121853+02'00')
+/ModDate(D:20180822121853+02'00')>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000715 00000 n
+0000002269 00000 n
+0000000656 00000 n
+0000000527 00000 n
+0000000015 00000 n
+0000000508 00000 n
+0000000779 00000 n
+0000000820 00000 n
+0000000849 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<B7F64D9F6C9270590BECE38D283B1B71><B7F64D9F6C9270590BECE38D283B1B71>]
+>>
+startxref
+2392
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-report.pdf b/macros/xetex/latex/langsci/tbls-report.pdf
new file mode 100644
index 0000000000..ebf933d2aa
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-report.pdf
@@ -0,0 +1,117 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 1.60156 239.301 240 re
+f
+% g
+157.301 210 m
+82.6992 210 l
+30 157.301 l
+30 82.6992 l
+82.6992 30 l
+157.301 30 l
+210 82.6992 l
+210 157.301 l
+h
+190 91.0195 m
+148.98 50 l
+91.0195 50 l
+50 91.0195 l
+50 148.98 l
+91.0195 190 l
+148.98 190 l
+190 148.98 l
+h
+190 91.0195 m
+f
+120 90 m
+114.488 90 110 85.5117 110 80 c
+110 74.4883 114.488 70 120 70 c
+125.512 70 130 74.4883 130 80 c
+130 85.5117 125.512 90 120 90 c
+h
+120 90 m
+f*
+110 100 20 70 re
+f*
+Q
+endstream
+endobj
+6 0 obj
+468
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 24 24]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1344>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:187e2ad2-de11-11f3-0000-e6e74bcaa580' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.22'/>
+<rdf:Description rdf:about='uuid:187e2ad2-de11-11f3-0000-e6e74bcaa580' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-08-22T12:17:17+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-08-22T12:17:17+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:187e2ad2-de11-11f3-0000-e6e74bcaa580' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:187e2ad2-de11-11f3-0000-e6e74bcaa580'/>
+<rdf:Description rdf:about='uuid:187e2ad2-de11-11f3-0000-e6e74bcaa580' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.22)
+/CreationDate(D:20180822121717+02'00')
+/ModDate(D:20180822121717+02'00')>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000740 00000 n
+0000002294 00000 n
+0000000681 00000 n
+0000000552 00000 n
+0000000015 00000 n
+0000000533 00000 n
+0000000804 00000 n
+0000000845 00000 n
+0000000874 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<56D823169E2B6A3D6FD878C48A0EEDEC><56D823169E2B6A3D6FD878C48A0EEDEC>]
+>>
+startxref
+2417
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-test.pdf b/macros/xetex/latex/langsci/tbls-test.pdf
new file mode 100644
index 0000000000..74634953d7
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-test.pdf
@@ -0,0 +1,108 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 0 239.73 239.73 re
+f
+% g
+165.898 164.219 m
+100 98.2813 l
+64.1016 134.102 l
+50 120 l
+100 70 l
+180 150 l
+h
+120 220 m
+64.8008 220 20 175.199 20 120 c
+20 64.8008 64.8008 20 120 20 c
+175.199 20 220 64.8008 220 120 c
+220 175.199 175.199 220 120 220 c
+h
+120 40 m
+75.7813 40 40 75.7813 40 120 c
+40 164.219 75.7813 200 120 200 c
+164.219 200 200 164.219 200 120 c
+200 75.7813 164.219 40 120 40 c
+h
+120 40 m
+f
+Q
+endstream
+endobj
+6 0 obj
+435
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 24 24]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1344>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:dbb233d1-de10-11f3-0000-43af12e764cd' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.22'/>
+<rdf:Description rdf:about='uuid:dbb233d1-de10-11f3-0000-43af12e764cd' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-08-22T12:15:35+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-08-22T12:15:35+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:dbb233d1-de10-11f3-0000-43af12e764cd' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:dbb233d1-de10-11f3-0000-43af12e764cd'/>
+<rdf:Description rdf:about='uuid:dbb233d1-de10-11f3-0000-43af12e764cd' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.22)
+/CreationDate(D:20180822121535+02'00')
+/ModDate(D:20180822121535+02'00')>>endobj
+xref
+0 10
+0000000000 65535 f
+0000000707 00000 n
+0000002261 00000 n
+0000000648 00000 n
+0000000519 00000 n
+0000000015 00000 n
+0000000500 00000 n
+0000000771 00000 n
+0000000812 00000 n
+0000000841 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<DFA15DD59BAB3502B4091F992BBE1665><DFA15DD59BAB3502B4091F992BBE1665>]
+>>
+startxref
+2384
+%%EOF
diff --git a/macros/xetex/latex/langsci/tbls-tree.pdf b/macros/xetex/latex/langsci/tbls-tree.pdf
new file mode 100644
index 0000000000..6e690fb501
--- /dev/null
+++ b/macros/xetex/latex/langsci/tbls-tree.pdf
@@ -0,0 +1,131 @@
+%PDF-1.4
+%Çì¢
+5 0 obj
+<</Length 6 0 R>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+% g
+% 0.898438 240 240 re
+f
+% g
+134.059 117.969 m
+133.672 119.488 133.441 121.051 133.441 122.699 c
+133.441 124.34 133.629 125.898 134.059 127.379 c
+94.1016 169.02 l
+92.6992 168.59 91.1289 168.398 89.5703 168.398 c
+87.9688 168.398 86.4102 168.59 85 169.02 c
+45 127.379 l
+45.4297 125.898 45.6211 124.34 45.6211 122.699 c
+45.6211 112.66 37.7305 104.449 28.0508 104.449 c
+18.3984 104.449 10.4688 112.66 10.4688 122.699 c
+10.4688 132.77 18.3984 140.98 28.0508 140.98 c
+29.6484 140.98 31.1289 140.781 32.5391 140.352 c
+72.6211 181.91 l
+72.1484 183.398 71.9883 185.039 71.9883 186.68 c
+71.9883 196.719 79.8789 204.961 89.5703 204.961 c
+99.2188 204.961 107.148 196.719 107.148 186.68 c
+107.148 185.039 106.949 183.398 106.52 181.91 c
+106.48 181.879 l
+146.559 140.352 l
+147.969 140.781 149.449 140.98 151.02 140.98 c
+160.699 140.98 168.59 132.77 168.59 122.699 c
+168.59 121.02 168.398 119.379 167.969 117.852 c
+208.012 76.2891 l
+209.41 76.7617 210.898 76.9492 212.5 76.9492 c
+222.148 76.9492 230.078 68.7109 230.078 58.6719 c
+230.078 48.6289 222.148 40.3906 212.5 40.3906 c
+202.809 40.3906 194.922 48.6289 194.922 58.6719 c
+194.922 60.3086 195.078 61.8789 195.512 63.3203 c
+155.551 105 l
+155.469 104.961 155.43 105 155.43 105.039 c
+154.02 104.648 152.539 104.41 151.02 104.41 c
+149.488 104.41 147.969 104.648 146.559 105.039 c
+146.559 105 146.52 104.961 146.449 105 c
+106.48 63.3203 l
+106.91 61.8789 107.07 60.3086 107.07 58.6719 c
+107.07 48.6289 99.1797 40.3906 89.4883 40.3906 c
+79.8398 40.3906 71.9492 48.6289 71.9492 58.6719 c
+71.9492 68.7109 79.8398 76.9492 89.4883 76.9492 c
+91.0898 76.9492 92.5781 76.7617 93.9805 76.2891 c
+134.059 117.891 l
+134.059 117.93 134.059 117.93 134.059 117.969 c
+h
+134.059 117.969 m
+f
+Q
+endstream
+endobj
+6 0 obj
+1741
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 24 24]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 9 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+8 0 obj
+<</R7
+7 0 R>>
+endobj
+9 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1344>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:6a7280cf-de10-11f3-0000-73a7a6c34153' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.22'/>
+<rdf:Description rdf:about='uuid:6a7280cf-de10-11f3-0000-73a7a6c34153' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2018-08-22T12:12:25+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2018-08-22T12:12:25+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:6a7280cf-de10-11f3-0000-73a7a6c34153' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:6a7280cf-de10-11f3-0000-73a7a6c34153'/>
+<rdf:Description rdf:about='uuid:6a7280cf-de10-11f3-0000-73a7a6c34153' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.22)
+/CreationDate(D:20180822121225+02'00')
+/ModDate(D:20180822121225+02'00')>>endobj
+xref
+0 10
+0000000000 65535 f
+0000002014 00000 n
+0000003568 00000 n
+0000001955 00000 n
+0000001826 00000 n
+0000000015 00000 n
+0000001806 00000 n
+0000002078 00000 n
+0000002119 00000 n
+0000002148 00000 n
+trailer
+<< /Size 10 /Root 1 0 R /Info 2 0 R
+/ID [<9F4814B9971D7810C499CFBC2650784E><9F4814B9971D7810C499CFBC2650784E>]
+>>
+startxref
+3691
+%%EOF