diff options
author | Karl Berry <karl@freefriends.org> | 2017-04-24 21:27:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-04-24 21:27:53 +0000 |
commit | 4c112777c49cfb407c74d33e498cbe518f9855f1 (patch) | |
tree | 6f52d3140160b138e8d0d24c3ebab5c38ff09273 /Master/texmf-dist/tex | |
parent | 2236aa997752da2d5e58d66c85b42e6a0ad8a108 (diff) |
langsci (24apr17)
git-svn-id: svn://tug.org/texlive/trunk@44027 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
19 files changed, 2656 insertions, 390 deletions
diff --git a/Master/texmf-dist/tex/xelatex/langsci/biblatex-langsci-unified-undecap.bbx b/Master/texmf-dist/tex/xelatex/langsci/biblatex-langsci-unified-undecap.bbx new file mode 100644 index 00000000000..062b42d0c3d --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/langsci/biblatex-langsci-unified-undecap.bbx @@ -0,0 +1,564 @@ +% Modified by LSP, Thu Jul 31 22:36:02 CEST 2014 +% Modified further, Mo Sep 26 12:29:00 CEST 2016 +\ProvidesFile{sp-biblatex.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) + +\ExecuteBibliographyOptions{labeldate,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} + +% 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. + +\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}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Various bibmacros used in producing the bibliography +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\renewbibmacro*{date+extrayear}{% + \iffieldundef{labelyear} + {} + {\printtext{\printdatelabel}}{\printfield{extrayear}} + }% 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} + ts {\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}}}} + +\renewbibmacro*{volume+number+eid}{% + \printfield{volume}% +% \setunit*{\adddot}% + \printfield[parens]{number}% parentheses instead of dot before issue 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}, +} + +% basically everything is in sentence case, other than journals and book series (recurring titles) +% \DeclareFieldFormat[article,periodical,book,thesis,incollection,unpublished,inproceedings]{titlecase}{\MakeSentenceCase*{#1}}% + +% No quotes around titles +\DeclareFieldFormat[article,periodical,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}{\doi{#1}} +\DeclareFieldFormat{url}{\url{#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}% + \newunit + \usebibmacro{byeditor+others}% + \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{periodical}{% +\usebibmacro{bibindex}% +\usebibmacro{begentry}% +\usebibmacro{author/editor+others/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}% +\newunit +\usebibmacro{byeditor+others}% +\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{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 commented by LSP + % \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{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \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{finentry}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \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 + \printlist{organization}% + \newunit + \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{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}} + diff --git a/Master/texmf-dist/tex/xelatex/langsci/biblatex-langsci-unified.bbx b/Master/texmf-dist/tex/xelatex/langsci/biblatex-langsci-unified.bbx index 84d10be4588..1f541f6e127 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/biblatex-langsci-unified.bbx +++ b/Master/texmf-dist/tex/xelatex/langsci/biblatex-langsci-unified.bbx @@ -1,4 +1,5 @@ % Modified by LSP, Thu Jul 31 22:36:02 CEST 2014 +% Modified further, Mo Sep 26 12:29:00 CEST 2016 \ProvidesFile{sp-biblatex.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 @@ -50,7 +51,8 @@ \renewbibmacro*{date+extrayear}{% \iffieldundef{labelyear} {} - {\printtext{\printdateextralabel}}}% Took out the parentheses around the year + {\printtext{\printdatelabel}}{\printfield{extrayear}} + }% Took out the parentheses around the year \renewbibmacro*{author}{% \ifboolexpr{ diff --git a/Master/texmf-dist/tex/xelatex/langsci/biblatex-sp-unified.bbx b/Master/texmf-dist/tex/xelatex/langsci/biblatex-sp-unified.bbx new file mode 100644 index 00000000000..1f541f6e127 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/langsci/biblatex-sp-unified.bbx @@ -0,0 +1,564 @@ +% Modified by LSP, Thu Jul 31 22:36:02 CEST 2014 +% Modified further, Mo Sep 26 12:29:00 CEST 2016 +\ProvidesFile{sp-biblatex.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) + +\ExecuteBibliographyOptions{labeldate,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} + +% 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. + +\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}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Various bibmacros used in producing the bibliography +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\renewbibmacro*{date+extrayear}{% + \iffieldundef{labelyear} + {} + {\printtext{\printdatelabel}}{\printfield{extrayear}} + }% 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} + ts {\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}}}} + +\renewbibmacro*{volume+number+eid}{% + \printfield{volume}% +% \setunit*{\adddot}% + \printfield[parens]{number}% parentheses instead of dot before issue 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}, +} + +% basically everything is in sentence case, other than journals and book series (recurring titles) +\DeclareFieldFormat[article,periodical,book,thesis,incollection,unpublished,inproceedings]{titlecase}{\MakeSentenceCase*{#1}}% + +% No quotes around titles +\DeclareFieldFormat[article,periodical,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}{\doi{#1}} +\DeclareFieldFormat{url}{\url{#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}% + \newunit + \usebibmacro{byeditor+others}% + \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{periodical}{% +\usebibmacro{bibindex}% +\usebibmacro{begentry}% +\usebibmacro{author/editor+others/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}% +\newunit +\usebibmacro{byeditor+others}% +\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{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 commented by LSP + % \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{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \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{finentry}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \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 + \printlist{organization}% + \newunit + \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{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}} + diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-basic.sty b/Master/texmf-dist/tex/xelatex/langsci/langsci-basic.sty index 520bda606b7..152790db886 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/langsci-basic.sty +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-basic.sty @@ -8,7 +8,7 @@ %% Licence: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\sectref}[1]{{\S}\ref{#1}} +\newcommand{\sectref}[1]{§\ref{#1}} \newcommand{\chapref}[1]{Chapter~\ref{#1}} \newcommand{\partref}[1]{Part~\ref{#1}} \newcommand{\tabref}[1]{Table~\ref{#1}} @@ -27,12 +27,15 @@ \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{\protectedex}[1]{ -\parbox{\textwidth}{#1} +\noindent +\parbox{\textwidth}{ +#1} } \newcommand{\largerpage}[1][1]{ @@ -40,3 +43,12 @@ } \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]}
\ No newline at end of file diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-colors.def b/Master/texmf-dist/tex/xelatex/langsci/langsci-colors.def index 9ba525da3e8..0374b95128b 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/langsci-colors.def +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-colors.def @@ -22,8 +22,8 @@ \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{lsDarkGreen1}{cmyk}{0.85,0.02,0.95,0.38} -\definecolor{lsDarkGreen2}{cmyk}{0.85,0.05,1,0.5} +\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} diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-forest-setup.sty b/Master/texmf-dist/tex/xelatex/langsci/langsci-forest-setup.sty index dc7c887bcbd..2d8d0571582 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/langsci-forest-setup.sty +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-forest-setup.sty @@ -3,7 +3,7 @@ %% 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. +%% forest package. This version is for 2.0. %% Language: LaTeX %% Licence: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30,13 +30,54 @@ \tikzset{deparrow/.style={-Latex}}%,blue}} -\usepackage{forest} -% does not work -%\usepackage[external]{forest}\tikzexternalize\usepackage{morewrites} +% does not work with forest v1.05 did not check later versions +\usepackage[external]{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} +%\usepackage{forest} +% for forest version2 +\useforestlibrary{linguistics} +\forestapplylibrarydefaults{linguistics} + + + + +% 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,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 + } + }, +} -% specification for all trees -\forestset{.style={for tree={parent anchor=south, child anchor=north,align=center,base=top}}} % http://www.texample.net/tikz/examples/borrowers-and-lenders/ @@ -63,7 +104,13 @@ append translation/.expanded/.wrap pgfmath arg={\gettranslation{##1}}{content}, content/.expanded/.wrap pgfmath arg={\gettext{##1}}{content}, }, - append translation/.style={append={[#1,no edge,l=0,inner xsep=0,inner ysep=0,outer ysep=0,before computing xy={l-=2pt}]}} + append translation/.style={ + if={strequal("#1","")}{}{ + append={[#1,no edge,inner xsep=0,inner ysep=0,outer ysep=0, + l=\baselineskip + 0.2ex, + ]} + } + } } \def\gettext#1{\gettextA#1;;\endget} @@ -77,10 +124,10 @@ % 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{ -sn edges/.style={for tree={parent anchor=south, child anchor=north,align=center,base=top}, +sm edges/.style={for tree={parent anchor=south, child anchor=north,base=bottom}, where n children=0{tier=word,delay=with translation}{} %,delay=with translation }, -sn edges without translation/.style={for tree={parent anchor=south, child anchor=north,align=center,base=top}, +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}{} @@ -171,16 +218,25 @@ typehierarchy/.style={for tree={parent anchor=south, child instance/.style={edge=dotted}, % % auxiliary nodes without node label -empty nodes/.style={ - delay={where content={}{shape=coordinate,for parent={for children={anchor=north}}}{}}} +%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{ -nice empty nodes/.style={ -for tree={calign=fixed edge angles}, -delay={where content={}{shape=coordinate,for parent={for children={anchor=north}}}{}} -}} + empty nodes/.style={ + delay={where content={}{shape=coordinate,for siblings={anchor=north}}{}} + } +} + + diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-gb4e.sty b/Master/texmf-dist/tex/xelatex/langsci/langsci-gb4e.sty index a2bffda887e..a0b97ab945d 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/langsci-gb4e.sty +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-gb4e.sty @@ -65,8 +65,8 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{./langsci/styles/langsci-cgloss.sty} -\input{./langsci/styles/jambox.sty} +\input{\stylepath langsci-cgloss.sty} +\input{\stylepath jambox.sty} \@ifundefined{new@fontshape}{\def\reset@font{}\let\mathrm\rm\let\mathit\mit}{} @@ -92,7 +92,7 @@ % % 2) in footnote % a. example line -\newcommand{\fnexfont}{\footnotesize\itshape} +\newcommand{\fnexfont}{\footnotesize\upshape} % b. glossing line \newcommand{\fnglossfont}{\footnotesize\upshape} % c. translation font diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-glyphs.sty b/Master/texmf-dist/tex/xelatex/langsci/langsci-glyphs.sty new file mode 100644 index 00000000000..171e5ad99b3 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-glyphs.sty @@ -0,0 +1,29 @@ +\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}}} +
\ No newline at end of file diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-linguex.sty b/Master/texmf-dist/tex/xelatex/langsci/langsci-linguex.sty new file mode 100644 index 00000000000..8af16219793 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/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
\ No newline at end of file diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-optional.sty b/Master/texmf-dist/tex/xelatex/langsci/langsci-optional.sty index 074d7ddd1b9..6f634b03e5c 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/langsci-optional.sty +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-optional.sty @@ -9,6 +9,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Heiko Oberdiek % http://tex.stackexchange.com/questions/136644/vertical-space-in-interaction-with-figure-center-environment \newcommand{\oneline}[1]{% @@ -151,7 +152,150 @@ \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{S}{>{\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} +\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{\LSPTmp}{#1#2} %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]{\LSPTmp}{\mbox{#1#2}}} + } +} + +\newcommand{\ule}[1]{%#1: stuff to underline, no extra length + \ulp{#1}{} + } + + + +\usepackage{newfile} +\newoutputstream{colorfigures} +\openoutputfile{\jobname.clr}{colorfigures} +\addtostream{colorfigures}{Note the offset incurred by the frontmatter!} +\newenvironment{colorfigure}{\begin{figure}\addtostream{colorfigures}{\thepage}}{\end{figure}} -% \newcommand{\tobi}[3][0]{\parbox{0cm}{\raisebox{1em}[0cm]{\hspace{#1mm}#3}}#2} +\AtEndDocument{ + \closeoutputstream{colorfigures} +} + +\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{\noabstract}{\vspace*{-2\baselineskip}} %for chapters without abstract + +\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} +} +\newcommand{\rephrase}[2]{{\color{yellow!30!black}#2}\todo{replaced `#1'}} +\newcommand{\missref}[2][]{\todo[#1]{missing reference #2}}
\ No newline at end of file diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-series.def b/Master/texmf-dist/tex/xelatex/langsci/langsci-series.def index 65f14ded6e2..d1d1599b423 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/langsci-series.def +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-series.def @@ -9,6 +9,7 @@ \newcommand{\calseries}{calseries} \newcommand{\eotms}{eotms} \newcommand{\eotmsig}{eotmsig} +\newcommand{\eurosla}{eurosla} \newcommand{\sidl}{sidl} \newcommand{\algad}{algad} \newcommand{\tmnlp}{tmnlp} @@ -32,6 +33,7 @@ \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\cfls \newcommand{\lsSeriesTitle}{Conceptual Foundations of \newlineCover Language Science~\lsSeriesNumber} @@ -57,6 +59,10 @@ \newcommand{\lsSeriesTitle}{Implemented Grammars~\lsSeriesNumber} \newcommand{\lsSeriesColor}{lsMidBlue} \fi +\ifx\lsSeries\eurosla + \newcommand{\lsSeriesTitle}{Eurosla Studies~\lsSeriesNumber} + \newcommand{\lsSeriesColor}{lsMidOrange} +\fi \ifx\lsSeries\lv \newcommand{\lsSeriesTitle}{Language Variation~\lsSeriesNumber} \newcommand{\lsSeriesColor}{lsDarkWine} @@ -68,7 +74,7 @@ \fi \ifx\lsSeries\ogs \newcommand{\lsSeriesTitle}{Open Generative Syntax~\lsSeriesNumber} - \newcommand{\lsSeriesColor}{lsDarkGreen1} + \newcommand{\lsSeriesColor}{lsDarkGreenOne} \fi \ifx\lsSeries\scl \newcommand{\lsSeriesTitle}{Studies in Caribbean Languages~\lsSeriesNumber} diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-subparts.sty b/Master/texmf-dist/tex/xelatex/langsci/langsci-subparts.sty new file mode 100644 index 00000000000..d428530fed5 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-subparts.sty @@ -0,0 +1,22 @@ +% 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} +
\ No newline at end of file diff --git a/Master/texmf-dist/tex/xelatex/langsci/langsci-tbls.sty b/Master/texmf-dist/tex/xelatex/langsci/langsci-tbls.sty index 2368cd6789c..2cd63401d56 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/langsci-tbls.sty +++ b/Master/texmf-dist/tex/xelatex/langsci/langsci-tbls.sty @@ -1,3 +1,93 @@ +%%% 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}}}} +\newcommand{\langscisymbol}{book} +\newlength{\trennlinie} +\setlength{\trennlinie}{.8mm} +\newcommand{\tblsboxcolor}{black} +\newcommand{\tblslinecolour}{lsYellow} + +\mdfdefinestyle{yellowexercise}{% + linewidth=1.5pt, linecolor=\tblslinecolour, + innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, + frametitleaboveskip=15mm, frametitlebelowskip=10mm,frametitlerule=false, innertopmargin=0, repeatframetitle=false, + firstextra={\useasboundingbox (P) rectangle (P);\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={\useasboundingbox (P) rectangle (P);\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, + linewidth=0pt,backgroundcolor=\tblsboxcolor, + innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=5mm, + frametitleaboveskip=15mm, frametitlebelowskip=5mm,frametitlerule=false, repeatframetitle=false, + firstextra={\useasboundingbox (P) rectangle (P);\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}};}, % if environment is on multiple pages, print this on the first page. + singleextra={\useasboundingbox (P) rectangle (P);\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}};} % if env. does not span multiple pages, print the same. +} + + +\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 diff --git a/Master/texmf-dist/tex/xelatex/langsci/langscibook.cls b/Master/texmf-dist/tex/xelatex/langsci/langscibook.cls index 0d43722dcba..78e7147468d 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/langscibook.cls +++ b/Master/texmf-dist/tex/xelatex/langsci/langscibook.cls @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% File: langscibook.cls %% Author: Language Science Press (http://langsci-press.org) -%% Date: 2016-05-10 11:11:11 UTC +%% Date: #FIXME UTC %% Purpose: This file defines the basic document class %% for books published with Language Science Press. %% Language: LaTeX @@ -29,6 +29,7 @@ % \- Option handling % \- MAIN CLASS % \- General packages +% \- print on demand macros % \- Output types (book, draft, cover) % \- Page geometry % \- Fonts @@ -51,10 +52,9 @@ % \_ Miscellaneous %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{langsci/langscibook}[2016/04/20 Language Science Press] +\ProvidesClass{langscibook}[2016/10/29 Language Science Press] - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Paths @@ -88,12 +88,15 @@ \newcommand{\lsSpineBreadth}{20mm} \newcommand{\lsOutput}{book} %"short" makes no sense if "long" is deprecated \newcommand{\lsFontsize}{11pt} +\newcommand{\lsChapterFooterSize}{\small} %footers in editedvolumes \newcommand{\lsCopyright}{CC-BY} +\newcommand{\lsSpinewidth}{20mm} \newcommand{\lsBiblatexBackend}{bibtex} -\newcommand{\logotext}{FU-Logo} +\newcommand{\logotext}{{\color{red}no logo}} +\newcommand{\lsYear}{\the\year} \newcommand{\lsBackBody}{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.} -\newcommand{\lsBackTitle}{Back Title} +\newcommand{\lsBackTitle}{\@title} \newcommand{\BackTitle}[1]{\renewcommand{\lsBackTitle}{#1}} \newcommand{\BackBody}[1]{\renewcommand{\lsBackBody}{#1}} @@ -116,6 +119,7 @@ \newif\iflsDraft \lsDraftfalse \newif\iflsOpenReview \lsOpenReviewfalse +\newif\iflsUndecapitalize \lsUndecapitalizefalse \newif\iflsShowIndex \lsShowIndexfalse \newif\iflsBiblatex \lsBiblatextrue \newif\iflsCollection \lsCollectionfalse @@ -125,6 +129,8 @@ \newif\iflsCover \lsCoverfalse %output format is cover \newif\iflsUscover \lsUscoverfalse \newif\iflsModfonts \lsModfontsfalse +\newif\iflsNoBabel \lsNoBabelfalse +\newif\iflsMultiauthors \lsMultiauthorsfalse %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -137,27 +143,6 @@ \SetupKeyvalOptions{ family=langscibook, prefix=langscibook@ } -\DeclareStringOption{number}[??] - \define@key{langscibook}{number}{% - \renewcommand{\lsSeriesNumber}{#1}} -\DeclareStringOption{issn}[??] - \define@key{langscibook}{issn}{% - \renewcommand{\lsISSN}{#1}} -\DeclareStringOption{isbndigital}[000-0-000000-00-0] - \define@key{langscibook}{isbndigital}{% - \renewcommand{\lsISBNdigital}{#1}} -\DeclareStringOption{isbnsoftcover}[000-0-000000-00-0] - \define@key{langscibook}{isbnsoftcover}{% - \renewcommand{\lsISBNsoftcover}{#1}} -\DeclareStringOption{isbnhardcover}[000-0-000000-00-0] - \define@key{langscibook}{isbnhardcover}{% - \renewcommand{\lsISBNhardcover}{#1}} -\DeclareStringOption{url}[http://langsci-press.org/catalog] - \define@key{langscibook}{url}{% - \renewcommand{\lsURL}{#1}} -\DeclareStringOption{series}[eotms] - \define@key{langscibook}{series}{% - \renewcommand{\lsSeries}{#1}} \DeclareStringOption{output}[book] \define@key{langscibook}{output}{% \renewcommand{\lsOutput}{#1}} @@ -167,10 +152,13 @@ \DeclareStringOption{biblatexbackend}[bibtex] \define@key{langscibook}{biblatexbackend}{% \renewcommand{\lsBiblatexBackend}{#1}} -% \DeclareVoidOption{long}{ -% \renewcommand{\lsOutput}{long}} +\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 @@ -184,13 +172,18 @@ \renewcommand{\bstpath}{./langsci/bst/} \renewcommand{\stylepath}{./langsci/styles/} } +\DeclareVoidOption{nobabel}{ + \lsNoBabeltrue} \DeclareVoidOption{modfonts}{ \lsModfontstrue} +\DeclareVoidOption{multiauthors}{ + \lsMultiauthorstrue} \DeclareVoidOption{showindex}{ \lsShowIndextrue} \DeclareVoidOption{biblatex}{ \lsBiblatextrue} -\DeclareVoidOption{bibtex}{ +\DeclareVoidOption{bibtex}{ + \ClassWarningNoLine{langscibook}{BibTeX frontend deprecated. Please use BibLaTeX in the final version} \lsBiblatexfalse} \DeclareVoidOption{nonewtxmath}{ \lsNewtxmathfalse} @@ -201,9 +194,7 @@ \lsCollectionChaptertrue} \DeclareVoidOption{collectiontoclong}{ \lsCollectiontrue% - \lsCollectionTOCLongtrue} -\DeclareVoidOption{coverus}{ - \lsUscovertrue} + \lsCollectionTOCLongtrue} \ProcessKeyvalOptions{langscibook} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -230,6 +221,7 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{morewrites} %more helper files to write to \usepackage{etex} \reserveinserts{18} \usepackage{xstring} @@ -249,6 +241,158 @@ \usepackage{\stylepath langsci-basic} %% useful commands for glossings: % \usepackage{\stylepath langsci-lgr} #FIXME this should probably be replaced by \usepackage{leipzig} +\usepackage{todonotes} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Print on demand macros +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Basic cover commands, including PGF layers +\newcommand{\podsetup}{ + \lsCovertrue + \renewcommand{\maketitle}{} %no need for this + \StrLen{\@subtitle}[\subtitleStrLen] % Get the length of the subtitle. Later, we use this length to check if a subtitle exists. + \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]{} +} + +% \usepackage[outline]{contour} + +% 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}}; +% add number on spine +% inside logo +% \node [below = -7mm of lspcls_spinelogo] (lspcls_splinenumber) { \hspace*{4mm}{\parbox{.37cm}{\centering \contour{\lsSeriesColor}{\color{white}\sffamily \large \lsSeriesNumber }}}}; +% bottom centered +% \node [below = -1mm of lspcls_spinelogo] (lspcls_splinenumber) {\color{\lsSeriesColor} \hspace*{4mm}{\parbox{.37cm}{\centering\sffamily \large \lsSeriesNumber }}}; +% bottom leftaligned +% \node [below = -1mm of lspcls_spinelogo] (lspcls_splinenumber) {\color{\lsSeriesColor} \hspace*{4mm}{\parbox{.37cm}{\sffamily \large \lsSeriesNumber }}}; +% +\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{\lsCoverFontColour}\lsBackTitleFont{\raggedright\lsBackTitle\par}}; + \node [ below = 10mm of lspcls_backtitle, + text width=#1, + align=justify + ] {\color{\lsCoverFontColour}\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}[2]{ + \newcommand{\lsCoverFontColour}{white} + \renewcommand{\and}{\\} + \renewcommand{\lastand}{\\} + + \node [ execute at begin node={}, + font=\fontsize{#2}{17.25mm}\selectfont, + below right = 10mm and 7.5mm of CoverColouredRectangleFront.north west, + text width=#1, + align=left + ] (lspcls_covertitle) {\color{\lsCoverFontColour}\lsCoverTitleFont{\raggedright\@title\par}}; + + \ifnum\subtitleStrLen=0 % 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=#1 + ] {\color{\lsCoverFontColour}\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=#1 + ] (lspcls_coversubtitle) {\color{\lsCoverFontColour} \lsCoverSubTitleFont \nohyphens{\@subtitle}\par}; + \node [ + font=\fontsize{25pt}{12.5mm}\selectfont, + right, + below = 11.2mm of lspcls_coversubtitle.south, + text width=#1 + ] {\color{\lsCoverFontColour}\lsCoverAuthorFont{\nohyphens{\lsEditorPrefix\@author\par}}}; + \fi +} + +% Generates the bottom half of the front cover content: series, series number, logo. +\newcommand{\podcoverbottomtext}{ + \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{\lsCoverFontColour}\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{\lsCoverFontColour}\lsCoverSeriesFont{\lsSeriesTitle\par}}; +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -257,18 +401,15 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \newcommand{\lsOutputLong}{long} -\newcommand{\lsOutputBook}{book} % standard book -\newcommand{\lsOutputShort}{short} % standard book, old key name +\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{\lsOutputCover}{cover} % FIXME remove this? -\newcommand{\lsOutputCoverBOD}{coverbod} % cover with BoD measurements -\newcommand{\lsOutputCoverDOB}{coverdob} % FIXME remove this? +\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{ @@ -281,40 +422,7 @@ \renewcommand{\maketitle}{ \begin{titlepage} \thispagestyle{empty} - -% \ifx\lsOutput\lsOutputLong % only if output=long -% \setcounter{page}{-3} -% %% First titlepage: -% {\lsFrontPage} -% %%%%%%%%%%%%%%%%%%% -% \newpage\thispagestyle{empty} -% \null\newpage\thispagestyle{empty} -% %% Back page: -% {\lsBackPage} -% %%%%%%%%%%%%%%%%%%% -% \newpage\thispagestyle{empty} -% \null\newpage\thispagestyle{empty} -% %% Book spine: -% {\lsSpine} -% %%%%%%%%%%%%%%%% -% \newpage\thispagestyle{empty} -% \null\newpage\thispagestyle{empty} -% %% Series information: -% {\lsSeriesHistory} -% %%%%%%%%%%%%%%%%%%%%% -% \newpage\thispagestyle{empty} -% %% Schmutztitel: -% {\renewcommand{\lsCoverBlockColor}{white} -% \renewcommand{\lsCoverFontColor}{\lsSeriesColor} -% \lsSchmutztitel} -% %%%%%%%%%%%%%%%%%%%% -% \AtEndDocument{ -% \lsPageStyleEmpty -% \null\newpage\thispagestyle{empty} -% %% Advertisement: -% {\lsAdvertisement} -% } -% \fi + \ifx\lsOutput\lsOutputBook % only if output=book \setcounter{page}{-1} @@ -342,36 +450,7 @@ {\lsBackPage} \null\newpage\thispagestyle{empty} } -\fi - - -\ifx\lsOutput\lsOutputShort %repeated from \lsOutputBook above for backward compatibility - \setcounter{page}{-1} - %% First titlepage: - {\lsFrontPage} - %%%%%%%%%%%%%%%%%%% - \newpage\thispagestyle{empty} - \null\newpage\thispagestyle{empty} - %% Series information: - {\lsSeriesHistory} - %%%%%%%%%%%%%%%%%%%%% - \newpage\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 +\fi \ifx\lsOutput\lsOutputInprep % only if output=inprep {\renewcommand{\lsCoverBlockColor}{white} @@ -389,142 +468,61 @@ \fi -\ifx\lsOutput\lsOutputCoverBOD % only if output=cover - \lsCovertrue - \renewcommand{\maketitle}{} %no need for this - \StrLen{\@subtitle}[\subtitleStrLen] % check if a subtitle exists - \pagestyle{empty} - \pgfdeclarelayer{lspcls_bg} % Please make sure to never use lspcls_... PGF layers in any document - \pgfsetlayers{lspcls_bg,main} - \iflsCollection% Check for Collection option - \IfSubStr{\@author}{\&} % if \@author contains \& - {\renewcommand{\lsEditorSuffix}{\xspace(eds.)}} - {\IfSubStr{\@author}{,} % if \@author contains , - {\renewcommand{\lsEditorSuffix}{\xspace(eds.)}} - {\renewcommand{\lsEditorSuffix}{\xspace(ed.)}}} - \renewcommand{\lsEditorPrefix}{{\LARGE Edited by}\\} - \else - \renewcommand{\lsEditorPrefix}{} - \fi - \begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}] - \begin{pgfonlayer}{lspcls_bg} % background layer - \node [bg, left = 24.5mm of current page.east, fill=\lsSeriesColor, minimum height=23.1cm, minimum width=15.2cm] (lspcls_bg1) {}; % Die können wir noch dynamisch bestimmen - \node [bg, right = 24.5mm of current page.west, fill=\lsSeriesColor, minimum height=23.1cm, minimum width=15.2cm] (lspcls_bg2) {}; - \node at (current page.center) [bg, minimum height=24.6cm, minimum width=\totalspine,dashed] (lspcls_bgspline) {}; % add draw option for preview mode - \end{pgfonlayer} - - %% Text and Graphics Layer +\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{135.5mm} + \end{tikzpicture} + %exit the document right here + \end{titlepage} + \end{document} + \fi - %% Spine - \renewcommand{\newlineCover}{} - \node [above = 7.5mm of lspcls_bgspline.south] (lspcls_splinelogo) {\color{\lsSeriesColor}\includegraphics{\logopath langsci_spinelogo_nocolor.pdf}}; - \node [font=\fontsize{18pt}{14pt}\selectfont, above left = 15mm and 4mm of lspcls_splinelogo.north, rotate=270] (lspcls_splinetitle) {\color{\lsSeriesColor} \lsSpineAuthorFont{\lsSpineAuthor\lsEditorSuffix} \hspace{13mm} \lsSpineTitleFont{\@title}}; - \renewcommand{\newlineCover}{\\} - %% Book Cover - - \newcommand{\lsCoverFontColour}{white} - - \node [execute at begin node={}, font=\fontsize{52pt}{16.75mm}\selectfont, below right = 10mm and 7.5mm of lspcls_bg1.north west, text width=13.7cm, align=left] (lspcls_covertitle) {\color{\lsCoverFontColour}\lsCoverTitleFont{\@title\par}}; % x = 15mm - 7.5mm ; y = 17.5mm - 7.5mm - - \ifnum\subtitleStrLen=0 % Is there a subtitle? - \node [font=\fontsize{25pt}{12.5mm}\selectfont, right, below = 11.2mm of lspcls_covertitle.south, text width=137mm] {\color{\lsCoverFontColour}\lsCoverAuthorFont\nohyphens{\lsEditorPrefix\@author\par}}; % If not, just print the author - \else - \node [font=\fontsize{25pt}{10mm}\selectfont,below = 8mm of lspcls_covertitle.south, text width=137mm] (lspcls_coversubtitle) {\color{\lsCoverFontColour} \lsCoverSubTitleFont \nohyphens{\@subtitle}\par}; - \node [font=\fontsize{25pt}{12.5mm}\selectfont, right, below = 11.2mm of lspcls_coversubtitle.south, text width=137mm] {\color{\lsCoverFontColour}\lsCoverAuthorFont{\nohyphens{\lsEditorPrefix\@author\par}}}; - \fi - - \node [above left = 10mm and 7.5mm of lspcls_bg1.south east] {\color{\lsCoverFontColour}\includegraphics{\logopath langsci_logo_nocolor.pdf}}; - \node [above right = 18.5mm and -.1mm of lspcls_bg1.south west, rectangle, fill=white, minimum size=17pt] (lspcls_square) {}; % 2 - \path let \p1 = (lspcls_square.north east), \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{\lsCoverFontColour}\lsCoverSeriesFont{\lsSeriesTitle\par}}; - - %% Book Back Cover - \node [font=\fontsize{25pt}{10mm}\selectfont, right, below right = 16.5mm and 7.5mm of lspcls_bg2.north west, text width=11.5cm] (lspcls_backtitle) {\color{\lsCoverFontColour}\lsBackTitleFont{\lsBackTitle\par}}; - \node [below = 10mm of lspcls_backtitle, text width=11.5cm, align=justify] {\color{\lsCoverFontColour}\lsBackBodyFont{\parindent=15pt\lsBackBody}}; - %\node [below right = 192.5mm and 97.5mm of lspcls_bg2.north west] {\color{\lsCoverFontColour}ISBN \lsBackBodyFont{\lsISBN}}; - \node [below right = 192.5mm and 97.5mm of lspcls_bg2.north west, text width=4cm] { - \colorbox{white}{ - \begin{pspicture}(0,0)(4.1,1in) - \psbarcode[transx=.4,transy=.3]{\lsISBNhardcover}{includetext height=.7}{isbn}% - \end{pspicture}}}; - - %% Guiding Lines - %\draw [red, thick, dashed] (lspcls_covertitle.west) -- (lspcls_seriesinfo.west); - - % \node [below right=17mm and 17mm of current page.north west] (GL1) {}; - % \node [above left=17mm and 17mm of current page.south east] (GL2) {}; - % \draw [dashed, orange, thick] (GL1) -| (GL2) -| (GL1); - % - - \end{tikzpicture} +\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{135.5mm} + \end{tikzpicture} + %exit the document right here \end{titlepage} - \end{document} % the cover and nothing else. + \end{document} \fi - \ifx\lsOutput\lsOutputCoverCS % only if output=covercs - \lsCovertrue - \renewcommand{\maketitle}{} % no need for this - \StrLen{\@subtitle}[\subtitleStrLen] % check if a subtitle exists - \pagestyle{empty} - \pgfdeclarelayer{lspcls_bg} % Please make sure to never use lspcls_... PGF layers in any document - \pgfsetlayers{lspcls_bg,main} - \iflsCollection% Check for Collection option - \IfSubStr{\@author}{\&} % if \@author contains \& - {\renewcommand{\lsEditorSuffix}{\xspace(eds.)}} - {\IfSubStr{\@author}{,} % if \@author contains , - {\renewcommand{\lsEditorSuffix}{\xspace(eds.)}} - {\renewcommand{\lsEditorSuffix}{\xspace(ed.)}}} - \renewcommand{\lsEditorPrefix}{{\LARGE Edited by}\\} - \else - \renewcommand{\lsEditorPrefix}{} - \fi - \begin{tikzpicture}[remember picture, overlay,bg/.style={outer sep=0}] - \begin{pgfonlayer}{lspcls_bg} % background layer - \node [bg, left = 10.675mm of current page.east, fill=\lsSeriesColor, minimum height=22.5cm, minimum width=15.5cm] (lspcls_bg1) {}; % Die können wir noch dynamisch bestimmen % 7.5mm -> 10.675mm for bleed - \node [bg, right = 10.675mm of current page.west, fill=\lsSeriesColor, minimum height=22.5cm, minimum width=15.5cm] (lspcls_bg2) {}; - \node at (current page.center) [bg, minimum height=24cm, minimum width=\spinewidth,dashed] (lspcls_bgspline) {}; % add [draw] option for preview mode - \end{pgfonlayer} - %% Text and Graphics Layer - %% Spine - \renewcommand{\newlineCover}{} - \node [above = 10.675mm of lspcls_bgspline.south] (lspcls_splinelogo) {\color{\lsSeriesColor}\includegraphics{\logopath langsci_spinelogo_nocolor.pdf}}; - \node [font=\fontsize{18pt}{14pt}\selectfont, above left = 15mm and 4mm of lspcls_splinelogo.north, rotate=270] (lspcls_splinetitle) {\color{\lsSeriesColor} \lsSpineAuthorFont{\lsSpineAuthor\lsEditorSuffix} \hspace{13mm} \lsSpineTitleFont{\@title}}; - \renewcommand{\newlineCover}{\\} - - %% Book Cover - \newcommand{\lsCoverFontColour}{white} - - \node [execute at begin node={}, font=\fontsize{52pt}{16.75mm}\selectfont, below right = 10mm and 7.5mm of lspcls_bg1.north west, text width=140mm, align=left] (lspcls_covertitle) {\color{\lsCoverFontColour}\lsCoverTitleFont{\@title\par}}; % x = 15mm - 7.5mm ; y = 17.5mm - 7.5mm - - \ifnum\subtitleStrLen=0 % Is there a subtitle? - {\color{\lsCoverFontColour}\lsCoverAuthorFont\nohyphens{\lsEditorPrefix\@author\par}}; % If not, just print the author - \else - \node [font=\fontsize{25pt}{10mm}\selectfont, right, below = 8mm of lspcls_covertitle.south, text width=140mm] (lspcls_coversubtitle) {\color{\lsCoverFontColour} \lsCoverSubTitleFont \nohyphens{\@subtitle\par}}; - \node [font=\fontsize{25pt}{12.5mm}\selectfont, right, below = 11.2mm of lspcls_coversubtitle.south, text width=140mm] {\color{\lsCoverFontColour}\lsCoverAuthorFont\nohyphens{\lsEditorPrefix\@author\par}}; - \fi - - \node [below right = 197.5mm and 117.1mm of lspcls_bg1.north west] {\color{\lsCoverFontColour}\includegraphics{\logopath langsci_logo_nocolor.pdf}}; - \node [above right = 18.5mm and -.1mm of lspcls_bg1.south west, rectangle, fill=white, minimum size=17pt] (lspcls_square) {}; % 2 - \path let \p1 = (lspcls_square.north east), \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{\lsCoverFontColour}\lsCoverSeriesFont{\lsSeriesTitle\par}}; - - %% Book Back Cover - \node [font=\fontsize{25pt}{10mm}\selectfont, right, below right = 16.5mm and 7.5mm of lspcls_bg2.north west, text width=11.5cm] (lspcls_backtitle) {\color{\lsCoverFontColour}\lsBackTitleFont{\lsBackTitle\par}}; - \node [below = 10mm of lspcls_backtitle, text width=11.5cm, align=justify] {\color{\lsCoverFontColour}\lsBackBodyFont{\parindent=15pt\lsBackBody}}; - %\node [below right = 192.5mm and 97.5mm of lspcls_bg2.north west] {\color{\lsCoverFontColour}ISBN \lsBackBodyFont{\lsISBN}}; - \node [below right = 192.5mm and 97.5mm of lspcls_bg2.north west, text width=4cm] { - \colorbox{white}{ - \begin{pspicture}(0,0)(4.1,1in) - \psbarcode[transx=.4,transy=.3]{% - \iflsUscover\lsISBNsoftcoverus\else\lsISBNsoftcover\fi - }{includetext height=.7}{isbn}% - \end{pspicture}} - }; +% ============================ +\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 +% %unclear why this was different between BOD and CS +% %----------------------------- +% \node [above right = 18.5mm and -.1mm of CoverColouredRectangleFront.south west, rectangle, fill=white, minimum size=17pt] (lspcls_square) {}; % 2 +% \node [above left = 10mm and 7.5mm of CoverColouredRectangleFront.south east] {\color{\lsCoverFontColour}\includegraphics{\logopath langsci_logo_nocolor.pdf}}; +% % \node [below right = 197.5mm and 117.1mm of CoverColouredRectangleFront.north west] {\color{\lsCoverFontColour}\includegraphics{\logopath langsci_logo_nocolor.pdf}}; +% \path let \p1 = (lspcls_square.north east), \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{\lsCoverFontColour}\lsCoverSeriesFont{\lsSeriesTitle\par}}; +% %----------------------------- + \iflsUscover\newcommand{\lsISBNcover}{\lsISBNsoftcoverus}\else\newcommand{\lsISBNcover}{\lsISBNsoftcover}\fi + \podbackcover{140mm} \end{tikzpicture} + %exit the document right here \end{titlepage} - \end{document} % the cover and nothing else. - \fi - + \end{document} +\fi + \end{titlepage} \frontmatter @@ -567,6 +565,11 @@ \renewenvironment{table}{\setfootnoterule{0pt}\oldtable}{\endoldtable} \fi +\ifx\lsSeries\pmwe + \renewcommand{\eachwordone}{\itshape} +\fi + + } %% \AtBeginDocument @@ -579,28 +582,26 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % For output type cover -\newlength{\csspine} -\newlength{\bodspine} +% \usepackage{catchfilebetweentags} +\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{\csspine}{20mm} -\setlength{\bodspine}{20mm} +% \IfFileExists{./localmetadata.tex}{\ExecuteMetaData[localmetadata.tex]{coverdimen}}{\typeout{No local meta data found, therefore default spline length was chosen}} % Get only the information between the tag "coverdimen" from localmetadata.tex \setlength{\bleed}{3.175mm} - - - \ifx\lsOutput\lsOutputCoverCS % if output = cover; This is the CreateSpace Version -% \input{./lengths.tex} +\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{\spinewidth}{\csspine} % Create Space Version - \usepackage{calc} \setlength{\totalwidth}{\spinewidth+\seitenbreite+\seitenbreite+\bleed+\bleed} \setlength{\totalheight}{\seitenhoehe+\bleed+\bleed} @@ -608,20 +609,33 @@ \hyphenpenalty 750 \fi -\ifx\lsOutput\lsOutputCoverBOD - \lsCovertrue - \usepackage{calc} -% \input{./lengths.tex} +\ifx\lsOutput\lsOutputCoverBODhc + \lsCovertrue \newlength{\bodfold} \newlength{\totalspine} \setlength{\bodfold}{8mm} \setlength{\seitenbreite}{192mm} - \setlength{\seitenhoehe}{280mm} % For BOD: Hardcover, Gerader Rücken, Kaschiert, papier 80g/m², weiß - \setlength{\spinewidth}{\bodspine} - \setlength{\totalspine}{\spinewidth+\bodfold+\bodfold} + \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=\seitenhoehe, paperwidth=\totalwidth]{geometry} + \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 @@ -723,7 +737,7 @@ \fi \iflsNewtxmath % some users have problems when installing newtxmath - \usepackage[libertine]{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; unfortunately this is NOT extensively tested! @@ -744,7 +758,7 @@ %\frenchspacing \usepackage[final]{microtype} -\newcommand{\lsCoverTitleFont}[1]{\sffamily\addfontfeatures{Scale=MatchUppercase}\fontsize{52pt}{16.75mm}\selectfont #1} +\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? @@ -753,8 +767,8 @@ \newcommand{\lsDedicationFont}{\fontsize{15pt}{10mm}\selectfont} \newcommand{\lsBackTitleFont}{\sffamily\addfontfeatures{Scale=MatchUppercase}\fontsize{25pt}{10mm}\selectfont} \newcommand{\lsBackBodyFont}{\lsInsideFont} -\newcommand{\lsSpineAuthorFont}{\fontsize{16pt}{14pt}\selectfont} -\newcommand{\lsSpineTitleFont}{\sffamily\fontsize{18pt}{14pt}\selectfont} +\newcommand{\lsSpineAuthorFont}{\bfseries\fontsize{16pt}{14pt}\selectfont} +\newcommand{\lsSpineTitleFont}{\sffamily\bfseries\fontsize{18pt}{14pt}\selectfont} \setkomafont{sectioning}{\normalcolor\bfseries} @@ -776,21 +790,21 @@ \usepackage{pst-barcode} % for generating bar codes \newcommand{\lsCoverFontColor}{white} -\newcommand{\lsCoverBlockColor}{\lsSeriesColor} +\newcommand{\lsCoverBlockColor}{\lsSeriesColor} + + \newcommand{\lsEditorPrefix}{} -\newcommand{\lsEditorSuffix}{} - +\newcommand{\lsEditorSuffix}{} \iflsCollection % for collections: set \lsEditorSuffix depending on \@author -\AtBeginDocument{ - \onlyAuthor - \renewcommand{\newlineCover}{} - \renewcommand{\newlineSpine}{} - \IfSubStr{\@author}{\&} % if \@author contains \& - {\renewcommand{\lsEditorSuffix}{(eds.)}} - {\IfSubStr{\@author}{,} % if \@author contains , - {\renewcommand{\lsEditorSuffix}{(eds.)}} - {\renewcommand{\lsEditorSuffix}{(ed.)}}} -} + \AtBeginDocument{ + \renewcommand{\newlineCover}{} + \renewcommand{\newlineSpine}{} + \renewcommand{\lsEditorPrefix}{{\Large Edited by\\}} + \renewcommand{\lsEditorSuffix}{(ed.)} + \iflsMultiauthors + \renewcommand{\lsEditorSuffix}{(eds.)} + \fi + } \else \fi @@ -825,11 +839,27 @@ } } \end{textblock} - \fi} + \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{\and}{\\} + \renewcommand{\lastand}{\\} \renewcommand{\newlineCover}{\\} \renewcommand{\newlineSpine}{} \lsCoverBlock @@ -904,23 +934,6 @@ }% \end{textblock}} -% \newcommand{\lsSpine}{ % Book spine -% \renewcommand{\newlineSpine}{\\} -% \renewcommand{\newlineCover}{} -% \begin{textblock}{40}(65,0) -% \rotatebox{90}{\color{black}\begin{minipage}[c][\lsSpineBreadth][c]{\paperheight} -% \color{\lsSeriesColor} -% \hspace{7.5mm} -% \IfFileExists{\logopath langsci_spinelogo_nocolor.pdf}{$\vcenter{\hbox{\includegraphics[angle=-90,origin=c]{\logopath langsci_spinelogo_nocolor.pdf}}}$}{logo} -% \hspace{15mm} -% {\lsSpineTitleFont -% \rotatebox[origin=c]{180}{\pbox[c]{150mm}{\lsSpineTitle}}} -% \hspace{13mm} -% {\lsSpineAuthorFont -% \rotatebox[origin=c]{180}{\pbox[c]{100mm}{\lsSpineAuthor\if\lsEditorSuffix\empty\else\ \lsEditorSuffix\fi}}} -% \end{minipage}} -% \end{textblock}} - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -972,6 +985,7 @@ %\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}} @@ -984,7 +998,7 @@ \renewcommand{\newlineCover}{} \renewcommand{\newlineSpine}{} {\@author}\if\lsEditorSuffix\empty\else\ \lsEditorSuffix\fi. % - {\the\year}. % + {\lsYear}. % \textit{\@title}\if\@subtitle\empty\else: \textit{\@subtitle}\fi\ % (\lsSeriesTitle). % Berlin: Language Science Press. @@ -1000,7 +1014,7 @@ This title can be downloaded at:\\ \url{\lsURL} -© \the\year, \iflsCollection the authors\else\@author\fi +© \lsYear, \iflsCollection the authors\else\@author\fi \newcommand{\ccby}{CC-BY} \ifx\lsCopyright\ccby @@ -1012,10 +1026,23 @@ http://creativecommons.org/licenses/by-nd/4.0/ \fi \begin{tabular}{@{}l@{~}l} -ISBN: & \lsISBNdigital~(Digital) \\ - & \lsISBNhardcover~(Hardcover)\\ - & \lsISBNsoftcover~(Softcover)\\ - & \lsISBNsoftcoverus~(Softcover US)\\ +ISBN: & +\IfStrEq{\lsISBNdigital}{000-0-000000-00-0} +{\color{red}no digital ISBN} +{\lsISBNdigital~(Digital)} +\\ +& +\IfStrEq{\lsISBNhardcover}{000-0-000000-00-0} +{\color{red}no hardcover ISBN} +{\lsISBNhardcover~(Hardcover)} +\\& +\IfStrEq{\lsISBNsoftcover}{000-0-000000-00-0} +{\color{red}no softcover ISBN} +{\lsISBNsoftcover~(Softcover)} +\\ +% & \lsISBNhardcover~(Hardcover)\\ +% & \lsISBNsoftcover~(Softcover)\\ +% & \lsISBNsoftcoverus~(Softcover US)\\ \end{tabular} \IfStrEq{\lsISSN}{??} % \IfStrEq from xstring @@ -1023,7 +1050,7 @@ ISBN: & \lsISBNdigital~(Digital) \\ {ISSN: \lsISSN} \IfStrEq{\lsBookDOI}{??} % \IfStrEq from xstring - {} + {{\color{red} no DOI}} {\doi{\lsBookDOI}} @@ -1057,8 +1084,8 @@ Typesetting software: \XeLaTeX \bigskip Language Science Press\\ -Habelschwerdter Allee 45\\ -14195 Berlin, Germany\\ +Unter den Linden 6\\ +10099 Berlin, Germany\\ \href{http://langsci-press.org}{langsci-press.org} \vfill @@ -1077,7 +1104,6 @@ Storage and cataloguing done by FU Berlin \\[3ex] 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. -%Information regarding prices, travel timetables and other factual information given in this work are correct at the time of first publication but \lsp does not guarantee the accuracy of such information thereafter. } @@ -1183,7 +1209,7 @@ is, or will remain, accurate or appropriate. \fi \raggedbottom -\deffootnote[1.5em]{1.5em}{\normalparindent}{\textsuperscript{\thefootnotemark}\ } +\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}} @@ -1194,7 +1220,7 @@ is, or will remain, accurate or appropriate. \newcommand\nextToken\relax \renewcommand\footnote[1]{% -\oldFootnote{#1}\futurelet\nextToken\isFootnote} +\oldFootnote{\xspace#1}\futurelet\nextToken\isFootnote} \newcommand\isFootnote{% \ifx\footnote\nextToken\textsuperscript{,}\fi} @@ -1229,52 +1255,33 @@ is, or will remain, accurate or appropriate. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[ + natbib=true, + \iflsUndecapitalize + style=\bstpath biblatex-langsci-unified-undecap, + \else + style=\bstpath biblatex-langsci-unified, + \fi + citestyle=\bstpath langsci-authoryear-comp, + %refsection=chapter, + maxbibnames=99, + isbn=false, + doi=false, + url=false, + eprint=false, + backend=\lsBiblatexBackend, + indexing=cite, + \iflsCollection\else + toc=bib % make bibliography appear in toc + \fi + ]{biblatex} +\renewcommand{\postnotedelim}{: }% +\renewcommand{\multicitedelim}{\addsemicolon\space}% +\renewcommand{\compcitedelim}{\multicitedelim} +\DeclareFieldFormat{postnote}{#1}% +%\renewcommand{\nameyeardelim}{ }% +\defbibheading{references}{\chapter{References}} -\iflsBiblatex % BibLaTeX - \usepackage[ - natbib=true, - style=\bstpath biblatex-langsci-unified, - citestyle=\bstpath langsci-authoryear-comp, - %refsection=chapter, - maxbibnames=99, - isbn=false, - doi=false, - url=false, - eprint=false, - backend=\lsBiblatexBackend, - indexing=cite, - \iflsCollection\else - toc=bib % make bibliography appear in toc - \fi - ]{biblatex} - \renewcommand{\postnotedelim}{: }% - \renewcommand{\multicitedelim}{\addsemicolon\space}% - \renewcommand{\compcitedelim}{\multicitedelim} - \DeclareFieldFormat{postnote}{#1}% - %\renewcommand{\nameyeardelim}{ }% - \defbibheading{references}{\chapter{References}} -\else %BibTeX - \usepackage{natbib} - \setlength{\bibsep}{0mm} - %% unified style sheet for linguistics journals - %% http://celxj.org/downloads/unified.bst - \bibliographystyle{./langsci/bst/unified} - %% This does not work ... - % \setcitestyle{ - % notesep={: }, % 2002: 125 - % aysep={~} % Gazdar 2002 - % } - - %% check what the unified people have to say on this. - \bibpunct[: ]{(}{)}{;}{a}{}{,} - %% They do not say anything about citations in the running text. - %% As was sown in \citew{Meier2002} -> As was shown in Meier (2002), ... - %% This is what De Gruyter does: - \let\citew=\citet - %% This is what Stefan did: - %\let\citew=\citealt -\fi - \let\cite=\citet % in order to prevent inconsistencies between \cite and \citet %% penalties against widows and orphans in bibliography @@ -1287,6 +1294,10 @@ is, or will remain, accurate or appropriate. } {}{} +% % temporary workaround to fix wrong wrapping for \verb in bibtex +% \makeatletter +% \def\blx@maxline{77} +% \makeatother %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -1323,6 +1334,18 @@ is, or will remain, accurate or appropriate. %% 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: @@ -1392,19 +1415,20 @@ is, or will remain, accurate or appropriate. \AtBeginDocument{ \makeindex - \newindex{lan}{ldx}{lnd}{\lsLanguageIndexTitle} - % \newindex{aut}{adx}{and}{Name index} + \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} +% \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% +% \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}}} @@ -1454,12 +1478,17 @@ is, or will remain, accurate or appropriate. \iflsShowIndex % shows index commands in text \RequirePackage{soul} - \RequirePackage{todonotes} - \RequirePackage[noadjust]{marginnote} +% \RequirePackage[noadjust]{marginnote} \renewcommand{\marginpar}{\marginnote} \let\isold\is + \let\ilold\il + \let\iaold\ia \renewcommand{\isi}[1]{\sethlcolor{green}\hl{#1}\isold{#1}} \renewcommand{\is}[1]{{\tikzstyle{notestyleraw} += [text width=1.5cm]\todo[color=green,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 @@ -1493,9 +1522,8 @@ is, or will remain, accurate or appropriate. \renewcommand{\doitext}{DOI:} \iflsBiblatex \renewbibmacro*{finentry}{\finentry - \iffieldundef{doi} - {} - { {\color{lsGuidelinesGray}\doi{\thefield{doi}}}} + \iffieldundef{url}{}{ \url{\thefield{url}}\iffieldundef{urlday}{}{, accessed \thefield{urlyear}-\thefield{urlmonth}-\thefield{urlday}}.} + \iffieldundef{doi}{}{ {\color{lsGuidelinesGray}\doi{\thefield{doi}}}} } %\DeclareFieldFormat{doi}{{\color{lsGuidelinesGray}\doi{#1}}} \fi @@ -1533,7 +1561,7 @@ is, or will remain, accurate or appropriate. \ClassError{langsci/langscibook}{Collection option not compatible with plain BibTeX. Please use biblatex option}{} \fi -\renewcommand{\lsEditorPrefix}{{\LARGE Edited by}\\} + \AtBeginDocument{ % for the citation in the footer \onlyAuthor \renewcommand{\newlineCover}{} @@ -1552,6 +1580,7 @@ is, or will remain, accurate or appropriate. \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 @@ -1590,8 +1619,10 @@ is, or will remain, accurate or appropriate. \renewcommand{\lsCollectionPaperCitationText}{\fullciteFooter{#1}} \include{#1}% + \addtocounter{page}{-1} \edef\lsCollectionPaperLastPage{\thepage} % \lsCollectionPaperFirstPage is defined in \lsPaper - + \addtocounter{page}{1} + %%% for citation in footer %% preprocessing of author/editor names \onlyAuthor @@ -1605,7 +1636,7 @@ is, or will remain, accurate or appropriate. %% 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={{\@title}},booktitle={{\lsCollectionTitle}},editor={\editorTemp},publisher={Language Science Press.},Address={Berlin},year=\the\year,pages={\lsCollectionPaperFirstPage --\lsCollectionPaperLastPage},doi={\lsChapterDOI},options={skipbib=true}}} + \immediate\write\tempfile{@incollection{#1,author={\authorTemp},title={{\@title}},booktitle={{\lsCollectionTitle}},editor={\editorTemp},publisher={Language Science Press.},Address={Berlin},year=\lsYear,pages={\lsCollectionPaperFirstPage --\lsCollectionPaperLastPage},doi={\lsChapterDOI},options={skipbib=true,skiplab=true}}} \end{refsection} \end{collectionpaper}} @@ -1616,7 +1647,8 @@ is, or will remain, accurate or appropriate. \newcommand{\onlyAuthor}{% % collection paper \renewcommand{\and}{, }% \renewcommand{\lastand}{ \& }% - \renewcommand{\affiliation}[1]{}} + \renewcommand{\affiliation}[1]{} + } \newcommand{\AuthorAffiliation}{ \renewcommand{\and}{\newline\newline} @@ -1642,10 +1674,12 @@ is, or will remain, accurate or appropriate. \newcommand{\lsCollectionPaperTitle}{{% \renewcommand{\newlineTOC}{} - \renewcommand{\newlineCover}{\\} - \iflsCollectionChapter - \vspace*{-2\baselineskip} - {\LARGE Chapter \thechapter}\newline\newline\fi + \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{\lsCollectionPaperAuthor}{{% @@ -1655,8 +1689,9 @@ is, or will remain, accurate or appropriate. \newcommand{\lsCollectionPaperCitation}{\scalebox{1.2}{ \includegraphics{\logopath langsci_spinelogo_nocolor.pdf}}% - \hspace{0.8em}% - \parbox[b]{.85\textwidth}{\linespread{0.8}\small\normalfont\lsCollectionPaperCitationText}} + % \hspace{0.8em}% + \hfill% + \parbox[b]{.87\textwidth}{\linespread{0.8}\lsChapterFooterSize\normalfont\lsCollectionPaperCitationText}} \newcommand{\lsCollectionPaperCitationText}{\string\lsCollectionPaperCitationText.} @@ -1694,7 +1729,16 @@ is, or will remain, accurate or appropriate. } +%writeout page numbers for separation of chapters +% \usepackage{newfile} +% \newoutputstream{pages} +% \openoutputfile{\jobname.pgs}{pages} +% \newcommand{\writechapterpages}{\addtostream{pages}{\thepage}} +% +% \AtEndDocument{ +% \closeoutputstream{pages} +% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -1708,6 +1752,9 @@ is, or will remain, accurate or appropriate. \newlength{\LSPTmp} \newcommand*{\hspaceThis}[1]{\settowidth{\LSPTmp}{#1}\hspace*{\LSPTmp}} - +\iflsNoBabel + \else + \usepackage[english]{babel} +\fi \endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/xelatex/langsci/sp-authoryear-comp.cbx b/Master/texmf-dist/tex/xelatex/langsci/sp-authoryear-comp.cbx new file mode 100644 index 00000000000..12638193071 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/langsci/sp-authoryear-comp.cbx @@ -0,0 +1,289 @@ +\ProvidesFile{sp-authoryear-comp.cbx} + +\ExecuteBibliographyOptions{labeldate,uniquename,uniquelist,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*{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} + {\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}}} + {\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} + {\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}}} + {\usebibmacro{cite:labelyear+extrayear}% + \savefield{namehash}{\cbx@lasthash}% + \savefield{labelyear}{\cbx@lastyear}}}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\renewbibmacro*{textcite}{% Based on textcite bib macro from authoryear-comp.cbx + \iffieldequals{namehash}{\cbx@lasthash} + {\iffieldundef{shorthand} + {\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}}} + {\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*{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]{% + \printfield{labelyear}% + \printfield{extrayear}}}} + +\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)} +\let\citep\parencite + +\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}} + {\printfield[bibhyperref]{year}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeyearpar}[\mkbibparens] + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printfield[bibhyperref]{year}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\posscitet} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}} + {\printtext[bibhyperref]{\printnames{labelname}'s \printfield[parens]{year}}} + {} + {} + +\DeclareCiteCommand{\possciteauthor} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}} + {\printtext[bibhyperref]{\printnames{labelname}'s}} + {} + {} + +\renewcommand*{\multicitedelim}{\addcomma\space} + + \endinput diff --git a/Master/texmf-dist/tex/xelatex/langsci/tbls-book.eps b/Master/texmf-dist/tex/xelatex/langsci/tbls-book.eps Binary files differindex 570488dded7..12018281714 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/tbls-book.eps +++ b/Master/texmf-dist/tex/xelatex/langsci/tbls-book.eps diff --git a/Master/texmf-dist/tex/xelatex/langsci/tbls-bulb.eps b/Master/texmf-dist/tex/xelatex/langsci/tbls-bulb.eps Binary files differindex c953a0031e2..a1c21d719ca 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/tbls-bulb.eps +++ b/Master/texmf-dist/tex/xelatex/langsci/tbls-bulb.eps diff --git a/Master/texmf-dist/tex/xelatex/langsci/tbls-glass.eps b/Master/texmf-dist/tex/xelatex/langsci/tbls-glass.eps Binary files differindex d694a32f152..60e261f12ec 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/tbls-glass.eps +++ b/Master/texmf-dist/tex/xelatex/langsci/tbls-glass.eps diff --git a/Master/texmf-dist/tex/xelatex/langsci/tbls-law.eps b/Master/texmf-dist/tex/xelatex/langsci/tbls-law.eps Binary files differindex e7a7e623a54..1839c34886d 100644 --- a/Master/texmf-dist/tex/xelatex/langsci/tbls-law.eps +++ b/Master/texmf-dist/tex/xelatex/langsci/tbls-law.eps |