Skip to content
Permalink
f14eff1e99
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
994 lines (829 sloc) 26.6 KB
% ConTeXt environment file for EOA publications coded in TEI XML
%
% Time-stamp: <2018-01-11 14:11:12 (kthoden)>
% Klaus Thoden (kthoden@mpiwg-berlin.mpg.de)
% Max Planck Institute for the History of Science
% ConTeXt sources files are at /usr/local/texlive/2016/texmf-dist/tex/context/base/mkiv/
%%%%%%%%%%%%%%%%%%
% things missing %
%%%%%%%%%%%%%%%%%%
% font change when foreign text
% Chinese text
% Hebrew text
% Russian text
% space out
% gloss: http://wiki.contextgarden.net/Command/definedescription, so close! cf. https://stackoverflow.com/questions/34855523/xslt-transforming-definition-lists-tei
% placement of registers
% nested register entries: http://wiki.contextgarden.Net/Registers, [...] optional text for sorting, (...+...+...) register entry, up to 3 level
% backmatter
% frontmatter
% table width
% table has heading at the end!!!
% nonumber still has number, but no caption
% landscape figures should have rotated captions
% imagewidth bei figures
% math: arrays not working yet
% manual tweaking of typographics: processing instructions?
% short titles for headers
% authoryear and author citation
% nocite
% cite manual
% formatting bibliography
%%%%%%%%%%%%%%%%%%%%
% to be dealt with %
%%%%%%%%%%%%%%%%%%%%
% abstract
% date
% distributor
% editor
% textClass
% publisher
% availability
% licence
% idno
%%%%%%%%%%%%%%%%%%%%%
% not to be typeset %
%%%%%%%%%%%%%%%%%%%%%
% extent
% tagsDecl
% rendition
% profileDesc
% measure
% language
% langUsage
% keywords
%%%%%%%%%%%
% unclear %
%%%%%%%%%%%
% sourceDesc
% excluded, are from dta:
% titlePage|byline|lb|cit|bibl
\enabletrackers [fonts.missing]
\startxmlsetups xml:eoateisetups
\xmlsetsetup{#1}{*}{-}
\xmlsetsetup{#1}{teiHeader|fileDesc|titleStmt|title|author|persName|surname|forename|editionStmt|publicationStmt|encodingDesc|profileDesc|langUsage|language}{xml:*}
\xmlsetsetup{#1}{TEI|text|front|docTitle|titlePart|docAuthor|body|div|p|bibl|ref|quote|list|item|index|term|back|table|head|cell|figure|graphic}{xml:*}
\xmlsetsetup{#1}{div[@type='part']/head}{xml:part}
\xmlsetsetup{#1}{div[@type='chapter']/head}{xml:chapter}
\xmlsetsetup{#1}{div[@type='section']/head}{xml:section}
\xmlsetsetup{#1}{div[@type='subsection']/head}{xml:subsection}
\xmlsetsetup{#1}{div[@type='subsubsection']/head}{xml:subsubsection}
\xmlsetsetup{#1}{div[@rend='nonumber' and @type='chapter']/head}{xml:chapternonumber}
\xmlsetsetup{#1}{div[@rend='nonumber' and @type='section']/head}{xml:sectionnonumber}
\xmlsetsetup{#1}{div[@rend='nonumber' and @type='subsection']/head}{xml:subsectionnonumber}
\xmlsetsetup{#1}{div[@type='bibliography']}{xml:bibliography}
\xmlsetsetup{#1}{hi[@rend='italic']}{xml:hi:italic}
\xmlsetsetup{#1}{hi[@rend='superscript']}{xml:hi:super}
\xmlsetsetup{#1}{hi[@rend='subscript']}{xml:hi:sub}
\xmlsetsetup{#1}{hi[@rend='math]}{xml:hi:math}
\xmlsetsetup{#1}{hi[@rend='bold']}{xml:hi:bold}
\xmlsetsetup{#1}{hi[@rendition='\letterhash smallcaps']}{xml:hi:caps}
\xmlsetsetup{#1}{hi[@rendition='\letterhash struck']}{xml:hi:struck}
\xmlsetsetup{#1}{hi[@rendition='\letterhash spaced']}{xml:hi:spaced}
\xmlsetsetup{#1}{note[@place='bottom']}{xml:footnote}
\xmlsetsetup{#1}{bibl/ref}{xml:citation}
\xmlsetsetup{#1}{ref[@type='url']}{xml:url}
\xmlsetsetup{#1}{ref[@type='page']}{xml:pageref}
\xmlsetsetup{#1}{ref[@type='section']}{xml:secref}
\xmlsetsetup{#1}{list[@type='gloss']/label}{xml:gloss}
\xmlsetsetup{#1}{list[@type='gloss']/item}{xml:definition}
\xmlsetsetup{#1}{list[not(@type, 'gloss')]}{xml:list}
\xmlsetsetup{#1}{list[not(@type, 'gloss')]/item}{xml:item}
\xmlsetsetup{#1}{index[@indexName='Person']/term}{xml:indexperson}
\xmlsetsetup{#1}{index[@indexName='Location']/term}{xml:indexlocation}
\xmlsetsetup{#1}{index[not(@indexName)]/term}{xml:index}
\xmlsetsetup{#1}{row[@role='data']}{xml:td}
\xmlsetsetup{#1}{row[@role='label']}{xml:th}
\xmlsetsetup{#1}{formula[@rend='inline']}{xml:inlinemath}
\xmlsetsetup{#1}{formula[@rend='block']}{xml:displaymath}
\xmlsetsetup{#1}{formula[contains(@rend, 'block' and 'nonumber')]}{xml:displaymathnonumber}
\xmlsetsetup{#1}{formula[contains(@rend, 'block' and 'subequations')]}{xml:displaymathsubeq}
\xmlsetsetup{#1}{formula[contains(@rend, 'block' and 'array')]}{xml:displaymatharray}
\xmlsetsetup{#1}{formula[contains(@rend, 'block' and 'array' and 'nonumber')]}{xml:displaymatharraynonumber}
\xmlsetsetup{#1}{foreign[@xml:lang='he']}{xml:hebrew}
\xmlsetsetup{#1}{foreign[@xml:lang='ru']}{xml:russian}
\xmlsetsetup{#1}{foreign[@xml:lang='zh']}{xml:chinese}
\xmlsetsetup{#1}{foreign[@xml:lang='el']}{xml:greek}
% \xmlsetsetup{#1}{fileDesc/titleStmt}{} % remove unwanted titles
% \xmlsetsetup{#1}{p/lb}{xml:lb:inside:p} % we need linebreaks for orginal mode
% \xmlsetsetup{#1}{pb}{xml:pb}
% dta stuff
% \xmlsetsetup{#1}{hi[contains(@rendition, '\letterhash in')]}{xml:hi:in}
% \xmlsetsetup{#1}{hi[@rendition='\letterhash g']}{xml:hi:g}
% \xmlsetsetup{#1}{hi[@rendition='\letterhash b']}{xml:hi:b}
% \xmlsetsetup{#1}{hi[contains(@rendition, '\letterhash g' and '\letterhash b')]}{xml:hi:b:g}
% \xmlsetsetup{#1}{head/hi[@rendition='\letterhash g']}{xml:normalflush}
% \xmlsetsetup{#1}{hi[contains(@rendition, '\letterhash et')]}{xml:hi:et}
% \xmlsetsetup{#1}{hi[contains(@rendition, '\letterhash aq')]}{xml:hi:aq}
% \xmlsetsetup{#1}{hi[contains(@rendition, '\letterhash k')]}{xml:hi:k}
% \xmlsetsetup{#1}{p[contains(@rendition, '\letterhash c')]}{xml:p:c}
% \xmlsetsetup{#1}{bibl[contains(@rendition, '\letterhash k')]}{xml:bibl:k}
% I have to setup the highlighting patterns for each tag. This is bad.
% A mechanism to match highlighting patterns independently would be
% better.
\stopxmlsetups
% from http://wiki.contextgarden.net/Bibliography_mkiv
\definebtxdataset[eoapubs]
\usebtxdataset[eoapubs][03_daston.bib]
\usebtxdefinitions[apa] % see p.15
\definebtxrendering[eoabibrender][apa][% setup "example" inherits from "apa"
dataset=eoapubs,
specification=apa,
sorttype=authoryear,
% numbering=yes
]
% some other stuff
% \setuppublications[alternative=num, refcommand=authornum]
% \setupbtxrendering[pagestate=start]
\setupbtx[dataset=eoapubs]
% formatting of citations
\setupbtx[apa:cite:authoryear][inbetween=\btxspace\btxspace, left={}, right={},alternative=authoryear]
\setupbtx[apa:list][authorconversion=inverted]
\setupbtxlist[apa][
alternative=paragraph,
width=fit,
distance=1.5em,
numbering=no,
margin=2\emwidth
]
% work in progress
% \startsetups btx:default:list:article
% \texdefinition{btx:default:author}
% \texdefinition{btx:default:title}
% \texdefinition{btx:default:journal}
% \texdefinition{btx:default:year}
% \btxperiod
% \stopsetups
\xmlregistersetup{xml:eoateisetups}
% define registers
\setupregister[command=\Word]
\setupheadtext[index=Subject Index]
\defineregister[person][]
\setupregister[person][style=sansbold, n=2, command=\Word]
\setupheadtext[en][person=Name Index]
\setupheadtext[de][person=Personenregister]
\defineregister[location][]
\setupregister[location][style=sansbold, n=2, command=\Word]
\setupheadtext[en][location=Index of Locations]
\setupheadtext[de][location=Ortsregister]
% from http://wiki.contextgarden.net/Description
\definedescription
[gloss]
[location=serried,
headstyle=bold,
width=broad]
\definedescription[latexdesc][
headstyle=bold, style=normal, align=left, location=hanging,
width=broad, margin=1cm]
% sorting things language-specific
% https://tex.stackexchange.com/questions/352496
\startluacode
sorters.setlanguage("de")
\stopluacode
\startluacode
function remove_leading_hash (target)
return_string = string.gsub(target, "#", "")
tex.sprint(return_string)
end
\stopluacode
\startluacode
function convert_formula(tex_string)
tmp_code = string.gsub(tex_string, "weiter", "\\\\NR[+][a]\\n")
tmp_code2 = string.gsub(tmp_code, "&", "\\NC ")
tex.sprint(tmp_code2)
end
\stopluacode
\startluacode
function simpel(a)
b = "do"
tex.sprint(a .. b)
end
\stopluacode
\startluacode
function getmeas(s)
if string.find(s, "[^0-9]") then
s = s:sub(1,-2)
s = s / 100
s = s.."\\textwidth"
tex.sprint(tex.ctxcatcodes, s)
else
s = s.."pt"
tex.sprint(s)
end
end
\stopluacode
% http://wiki.contextgarden.net/Command/setupcaptions
\setupcaptions[headstyle=\tf, numberstopper=:, minwidth=\textwidth, align=middle]
\setuplayout[
header=\bodyfontsize,
headerdistance=\bodyfontsize,
]
% for clickable urls
\setupinteraction
[state=start,
color=,
style=,
contrastcolor=,]
% the header
\setuppagenumbering[location=, alternative=doublesided]
% taken from http://wiki.contextgarden.net/Proceedings_style
\setupheadertexts[text][{\setupselector[title][n=2]\getmarking[chapter]}][pagenumber]
\setupheader[style=]
\setupindenting[medium, yes]
\setupdelimitedtext[blockquote][style=\tf,before={\setupinterlinespace[line=2.4ex]}]
% setup fonts for other languages
% probably the most simple one
% http://wiki.contextgarden.net/simplefonts
% \usemodule[simplefonts]
% \setmainfontfallback[DejaVu Serif][range={greekandcoptic, greekextended},
% force=yes, rscale=auto]
% \setmainfontfallback[BiauKai][range={cjkcompatibility, cjkcompatibilityforms, cjkcompatibilityideographs},
% force=yes, rscale=auto]
% \setmainfontfallback[Times New Roman][range={cyrillic, cyrillicextendeda, cyrillicextendedb, cyrillicsupplement},force=yes, rscale=auto]
\setupfontfamily[math][XITS Math]
\usetypescript[termes]
\setupbodyfont[termes,11pt]
% https://tex.stackexchange.com/questions/59523/how-to-switch-fonts-when-the-language-switches-in-context
% \definefontfallback [cyrillic_regular] [name:CMUSerifRoman]
% [0x0400:0x04ff,0x0500:0x052f,0x2de0:0x2dff,0xa640:0xa69f] [force=yes]
% \definefontfallback [cyrillic_bold] [name:CMUSerifBold]
% [0x0400:0x04ff,0x0500:0x052f,0x2de0:0x2dff,0xa640:0xa69f] [force=yes]
% \definefontfallback [cyrillic_italic] [name:CMUSerifItalic]
% [0x0400:0x04ff,0x0500:0x052f,0x2de0:0x2dff,0xa640:0xa69f] [force=yes]
% \definefontfallback [cyrillic_bolditalic] [name:CMUSerifBoldItalic]
% [0x0400:0x04ff,0x0500:0x052f,0x2de0:0x2dff,0xa640:0xa69f] [force=yes]
% %% Now we hook the fallbacks into their respective type faces.
% \starttypescript [serif] [mainfont]
% \setups[font:fallback:serif]
% \definefontsynonym [Serif] [name:Latin Modern Roman] [fallbacks=cyrillic_regular]
% \definefontsynonym [SerifBold] [name:Latin Modern Roman Bold] [fallbacks=cyrillic_bold]
% \definefontsynonym [SerifItalic] [name:Latin Modern Roman Italic] [fallbacks=cyrillic_italic]
% \definefontsynonym [SerifBoldItalic] [name:Latin Modern Roman Bold Italic] [fallbacks=cyrillic_bolditalic]
% \stoptypescript
% %% Complete the typescript for all four type faces. Note that we default
% %% to the predefined Latin Modern setups for the three other faces.
% \starttypescript [mainfont]
% \definetypeface [mainfont] [rm] [serif] [mainfont] [default]
% \definetypeface [mainfont] [ss] [sans] [latin-modern] [default]
% \definetypeface [mainfont] [tt] [mono] [latin-modern] [default]
% \definetypeface [mainfont] [mm] [math] [latin-modern] [default]
% \stoptypescript
% %% Finally, we are ready to activate the typescript.
% \setupbodyfont [mainfont,20pt]
%%%%%%%%%%%%%%%%%%%%%%%
% \unprotect
% \installnamespace {lazylanguage}
% \installcommandhandler \????lazylanguage {lazylanguage} \????lazylanguage
% \appendtoks
% \setuevalue {\currentlazylanguage}{\lazylanguage_direct[\currentlazylanguage]}%
% \setuevalue{\e!start\currentlazylanguage}{\lazylanguage_start [\currentlazylanguage]}%
% \setuevalue{\e!stop \currentlazylanguage}{\lazylanguage_stop }%
% \to \everydefinelazylanguage
% \unexpanded\def\lazylanguage_direct[#id]%
% {\edef\currentlazylanguage{#id}%
% \dosingleempty\lazylanguage_direct_indeed}
% \def\lazylanguage_direct_indeed[#options]%
% {\groupedcommand
% {\lazylanguage_start_indeed[#options]}%
% \donothing}
% \unexpanded\def\lazylanguage_start[#id]%
% {\bgroup
% \edef\currentlazylanguage{#id}%
% \dosingleempty\lazylanguage_start_indeed}
% % %% This is the macro that implements the core switching functionality.
% \def\lazylanguage_start_indeed[#options]%
% {\iffirstargument
% \setupcurrentlazylanguage[#options]%
% \fi
% %% Here would be the place where you can hook further language
% %% settings into your command, imitating the pattern of below
% %% expressions.
% \language[\lazylanguageparameter{patterns}]
% \doifsomething{\lazylanguageparameter{bodyfont}}
% {\switchtobodyfont[\lazylanguageparameter{bodyfont}]}}
% \let\lazylanguage_stop\egroup
% \protect
% \definelazylanguage [lru]
% \setuplazylanguage [lru] [
% bodyfont=antykwa,
% patterns=ru,
% ]
% \startlru
% Маленький мальчик нашел пулемет. Больше в деревне никто не живет. \par
% {\italic Маленький мальчик нашел пулемет. Больше в деревне никто не живет.}\par
% {\bold Маленький мальчик нашел пулемет. Больше в деревне никто не живет.}\par
% {\bolditalic Маленький мальчик нашел пулемет. Больше в деревне никто не живет.}\par
% \stoplru
% English {\italic English} {\bold English} {\bolditalic English}
% \stoptext
%%%%%%%%%%%%%%%%%%%%%%%
\startxmlsetups xml:teiHeader
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:fileDesc
\xmlflush{#1}
\stopxmlsetups
% \startxmlsetups xml:title
% \setupinteraction[title={\xmlflush{#1}}]
% \title{\xmlflush{#1}}
% \stopxmlsetups
% \startxmlsetups xml:author
% \xmlflush{#1}
% \stopxmlsetups
\startxmlsetups xml:persName
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:forename
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:surname
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:editionStmt
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:publicationStmt
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:encodingDesc
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:profileDesc
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:langUsage
\xmlflush{#1}
\stopxmlsetups
% setup language of document
\startxmlsetups xml:language
\mainlanguage[\xmlatt{#1}{ident}]
\stopxmlsetups
\installlanguage[deu][de]
\startxmlsetups xml:TEI
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:text
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:byline
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:docAuthor
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:docTitle
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:titlePart
\xmlflush{#1}
\stopxmlsetups
\definemakeup[titlepage][page]
\setupmakeup[titlepage]
[headerstate=empty,
footerstate=empty]
\startxmlsetups xml:titleStmt
\starttitlepagemakeup
\startalignment[center]
{\tfd\xmltext{#1}{title[@type='main']}\par}\blank[big]
{\resetbreakpoints\tfb\setupinterlinespace
\xmltext{#1}{title[@type='sub']}\par}\blank[3*big]
\stopalignment
\vfill
\stoptitlepagemakeup
\stopxmlsetups
\startxmlsetups xml:front
\startfrontmatter
% \xmltext{#1}{TEI/teiHeader/fileDesc/titleStmt/title[@type='main']}
\startalignment[center]
{\bf Edition Open Access\par}\blank[3*big]
\stopalignment
{\noindent\bf Series Editors\par}\blank[big]
\noindent\xmltext{#1}{div[@type='serieseditors']/p}\blank[3*big]
{\noindent\bf Edition Open Access Developent Team\par}\blank[big]
\noindent\xmltext{#1}{div[@type='eoadevteam']/p}\blank[3*big]
\noindent\xmltext{#1}{div[@type='eoainfo']/p}
\page
\startalignment[center]
Title\par
Subtitle\blank[big]
Authors\par
\vfill
Series Number
\stopalignment
\page
Series Number
\vfill
ISBN and stuff
\page
{\noindent\bf \xmltext{#1}{div[@type='mprlinformation']/head}\par}\blank[big]
\noindent\xmltext{#1}{div[@type='mprlinformation']/p}\blank[3*big]
{\noindent\bf \xmltext{#1}{div[@type='scientificboard']/head}\par}\blank[big]
\noindent\xmltext{#1}{div[@type='scientificboard']/p}\blank[3*big]
\page\page
\xmldoif{#1}{div[@type='dedication']}{
\vfill
\startalignment[center]
\xmltext{#1}{div[@type='dedication']/p}
\stopalignment
\vfill
}
% \xmlflush{#1}
\completecontent
\stopfrontmatter
\stopxmlsetups
\startxmlsetups xml:body
\startbodymatter
\xmlflush{#1}
\stopbodymatter
\stopxmlsetups
\startxmlsetups xml:back
\startbackmatter
\startchapter[title=Bibliography]
\placelistofpublications[eoabibrender][method=global]
\completeindex
\completeperson
\completelocation
\stopchapter
% \xmlflush{#1}
\stopbackmatter
\stopxmlsetups
\startxmlsetups xml:div
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:bibliography
\startchapter[title=Bibliography]
\placelistofpublications
\stopchapter
% \xmlflush{#1}
\stopxmlsetups
\setuphead[part]
[align=left,
style=\tfd\bf,
page=yes]
% table of contents, ToC
% http://wiki.contextgarden.net/Table_of_Contents
% alternative=c, space to the page number is filled with dots
\setupcombinedlist[content][list={part,chapter,section}, alternative=c,]
% http://wiki.contextgarden.net/Titles#Formatting_Titles_with_.5Csetuphead
\setuplabeltext [de] [chapter=Kapitel~]
\setuplabeltext [en] [chapter=Chapter~]
\define[2]\MyChapter
{\framed[frame=off,width=broad,align=flushleft]{#1\\#2}}
% \setuphead [chapter] [command=\MyChapter]
\setuphead[chapter]
[command=\MyChapter,
sectionsegments=chapter,
header=empty,
footer=none
number=yes,
align=right,
style=\tfc\bf,
page=right,
after={\blank[8*big]}]
\setuphead[section]
[number=yes,
sectionsegments=chapter:section,
align=right,
style=\tfb\bf ]
\setuphead[subsection]
[number=yes,
sectionsegments=chapter:subsection,
align=right,
style=\tfa\bf]
\setuphead[subsubsection]
[number=no,
align=right,
style=\tfa\bf]
\setuphead[title]
[number=no,
align=right,
style=\tfc\bf,
page=right]
\setuphead[subject]
[number=no,
align=right,
style=\tfb\bf]
\setuphead[subsubject]
[number=no,
align=right,
style=\tfa\bf]
\startxmlsetups xml:normalflush
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:part
\startpart
% \blank[line]\midaligned{\xmlatt{#1}{n}}\blank[big]
\xmlflush{#1}
\stoppart
\stopxmlsetups
% important!
% \startsection
% [title={Here is a section title too long to fit in the header},
% marking={Here is a section title}]
% Similarly, you can send shorter lemmas to the table of contents or to bookmarks. So the relevant keys include
% title marking list bookmark
\startxmlsetups xml:chapter
\startchapter[title={\xmlflush{#1}},% (\xmlattribute{#1}{..}{xml:id})},
reference={\xmlattribute{#1}{..}{xml:id}}]
\stopchapter
% \startchapter[title={\xmlflush{#1}}]\stopchapter
\stopxmlsetups
% \xmlflush{#1}
\startxmlsetups xml:section
\startsection[title={\xmlflush{#1}}, reference={\xmlattribute{#1}{..}{xml:id}}]\stopsection
\stopxmlsetups
\startxmlsetups xml:subsection
\startsubsection[title={\xmlflush{#1}}, reference={\xmlattribute{#1}{..}{xml:id}}]\stopsection
\stopxmlsetups
\startxmlsetups xml:subsubsection
\startsubsubsection[title={\xmlflush{#1}}, reference={\xmlattribute{#1}{..}{xml:id}}]\stopsection
\stopxmlsetups
\startxmlsetups xml:chapternonumber
\starttitle[title={\xmlflush{#1}}]\stoptitle
\stopxmlsetups
\startxmlsetups xml:sectionnonumber
\startsubject[title={\xmlflush{#1}}]\stopsubject
\stopxmlsetups
\startxmlsetups xml:subsectionnonumber
\startsubsubject[title={\xmlflush{#1}}]\stopsubsubject
\stopxmlsetups
\startxmlsetups xml:p
\par
\xmlflush{#1}
\par
\stopxmlsetups
%%%%%%%%%%%%%%%
% text markup %
%%%%%%%%%%%%%%%
% \startxmlsetups xml:foreign
% \xmlflush{#1}
% \stopxmlsetups
\startxmlsetups xml:russian
\language[ru]
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:chinese
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:greek
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:hebrew
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:hi:italic
{\em \xmlflush{#1}}
\stopxmlsetups
\startxmlsetups xml:hi:super
{\high{\xmlflush{#1}}}
\stopxmlsetups
\startxmlsetups xml:hi:sub
{\low{\xmlflush{#1}}}
\stopxmlsetups
\startxmlsetups xml:hi:math
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:hi:bold
{\bf \xmlflush{#1}}
\stopxmlsetups
\startxmlsetups xml:hi:caps
{\cap{\xmlflush{#1}}}
\stopxmlsetups
\startxmlsetups xml:hi:struck
{\overstrike{\xmlflush{#1}}}
\stopxmlsetups
\startxmlsetups xml:hi:spaced
{\cap{\xmlflush{#1}}}
\stopxmlsetups
% text blocks
\startxmlsetups xml:quote
\startblockquote
\xmlflush{#1}
%\par
\stopblockquote
\stopxmlsetups
\startxmlsetups xml:list
\doifelse
{\xmlatt{#1}{type}}
{ordered}
% numbered
{\startitemize[n]\xmlflush{#1}\stopitemize}
% {\doifelse
% {\xmlatt{#1}{type}}
% {gloss}
% % numbered
% { % dies hier gilts zu ändern
% \startgloss{was?}ja\stopgloss
% }
% % not numbered
{\startitemize[1]\xmlflush{#1}\stopitemize}
% }
\stopxmlsetups
\startxmlsetups xml:item
\item \xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:definition
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:gloss
\startgloss{\xmlflush{#1}}
% \xmltext{#1}{../item[position()=\xmlpos{#1}+1]}
% \xmlsnippet{1}{#1}
\stopgloss
\stopxmlsetups
%%%%%%%%%%%%%%%
% referencing %
%%%%%%%%%%%%%%%
\startxmlsetups xml:citation
\doifelse
{\xmlatt{#1}{pages}} {}
{\cite[\ctxlua{remove_leading_hash("\xmlatt{#1}{target}")}]}
{\cite[righttext={\btxcomma \~\xmlatt{#1}{pages}}][\ctxlua{remove_leading_hash("\xmlatt{#1}{target}")}]}
\stopxmlsetups
\startxmlsetups xml:url
\goto{\xmlflush{#1}}[url(\xmlatt{#1}{target})]
\stopxmlsetups
\startxmlsetups xml:secref
\in{}[\ctxlua{remove_leading_hash("\xmlatt{#1}{target}")}]
% there's also the idstring function, but how to get it to work?
% \in{}[\xmlatt{#1}{idstring(target)}]
\stopxmlsetups
\startxmlsetups xml:pageref
\at{}[\ctxlua{remove_leading_hash("\xmlatt{#1}{target}")}]
\stopxmlsetups
\startxmlsetups xml:footnote
\startfootnote\xmlflush{#1}\stopfootnote
\stopxmlsetups
% registers. setup is somewhat hacky. If no sortkey is given, it defaults to x. That's why the text is flushed there
\startxmlsetups xml:index
\doifelse
{\xmlatt{#1}{sortKey}} {}
{
\index[\xmltext{#1}]{\xmlflush{#1}}
}
{
\index[\xmlatt{#1}{sortKey}]{\xmlflush{#1}}
}
\stopxmlsetups
\startxmlsetups xml:indexperson
\doifelse
{\xmlatt{#1}{sortKey}} {}
{
\person[\xmltext{#1}]{\xmlflush{#1}}
}
{
\person[\xmlatt{#1}{sortKey}]{\xmlflush{#1}}
}
\stopxmlsetups
\startxmlsetups xml:indexlocation
\doifelse
{\xmlatt{#1}{sortKey}} {}
{
\location[\xmltext{#1}]{\xmlflush{#1}}
}
{
\location[\xmlatt{#1}{sortKey}]{\xmlflush{#1}}
}
\stopxmlsetups
% tables, code adapted from Thomas Schmitz' My Way document
\startxmlsetups xml:table
\placetable[here][\xmlatt{#1}{xml:id}]{\xmltext{#1}{./head}}
{
\setupTABLE[l][each][align=right,width=.2\textwidth]
\bTABLE[frame=off,split=yes]
\xmlflush{#1}
\eTABLE
}
\stopxmlsetups
\startxmlsetups xml:th
\bTABLEhead
\bTR[bottomframe=on, topframe=on]
\xmlflush{#1}
\eTR
\eTABLEhead
\stopxmlsetups
\startxmlsetups xml:td
\bTR \xmlflush{#1} \eTR
\stopxmlsetups
\startxmlsetups xml:cell
\doifelse
{\xmlattribute{#1}{..}{role}} {label}
{
\bTH \xmlflush{#1} \eTH
}
{
\bTD \xmlflush{#1} \eTD
}
\stopxmlsetups
% images
\startxmlsetups xml:graphic
\externalfigure[\xmlatt{#1}{url}][width=1em]
\stopxmlsetups
\startxmlsetups xml:figure
\doifelse
{\xmlatt{#1}{rend}} {nonumber}
{
% \placefigure
% [here]
% {}
{\externalfigure[\xmlattribute{#1}{./graphic}{url}]
}
}
{
\doifelse
{\xmlatt{#1}{rend}} {landscape}
{
% no good solution found yet.
% doesn't appear to work at all
% \startplacefigure [location={page,180} reference=\xmlatt{#1}{xml:id}, title=\xmltext{#1}{./head}]
% \externalfigure[\xmlattribute{#1}{./graphic}{url}][factor=max]
% \stopplacefigure
%%%%%%%%%%%%%%%%%%%%
% this one rotates also pagenumbers/headers/footers
% \definepapersize[main][A4][A4]
% \definepapersize[diagram][A4,landscape][A4,landscape]
% \page
% \setuppapersize[diagram]
% \placefigure
% [force][figure:MyImage]
% {My image caption.}
% {\externalfigure[\xmlattribute{#1}{./graphic}{url}][factor=max]}
% \page
% \setuppapersize[main]
%%%%%%%%%%%%%%%%%%%%
% rotates image, but not caption
\placefigure
[page]
[\xmlatt{#1}{xml:id}]
{\xmltext{#1}{./head}}
{\externalfigure[\xmlattribute{#1}{./graphic}{url}][orientation=90,height=0.6\textheight]}
}
{
\placefigure
% place is one of: left, right, here, top, bottom, inleft, inright, inmargin, margin, page, opposite, always, force, tall
[force]
[\xmlatt{#1}{xml:id}]
{\xmltext{#1}{./head}}
{\externalfigure[\xmlattribute{#1}{./graphic}{url}]}
% [width=\ctxlua{getmeas("\xmlatt{#1}{width}")}]
}
}
\stopxmlsetups
% math
\startxmlsetups xml:inlinemath
\mathematics{\xmlflushcontext{#1}}
\stopxmlsetups
\startxmlsetups xml:displaymath
\placeformula[\xmlatt{#1}{xml:id}]
\startformula
\xmlflushcontext{#1}
\stopformula
\stopxmlsetups
\startxmlsetups xml:displaymathnonumber
\startformula
\xmlflushcontext{#1}
\stopformula
\stopxmlsetups
% check out http://dl.contextgarden.net/myway/mathalign.pdf
\startxmlsetups xml:displaymathsubeq
% \incrementnumber[formula]
% \placesubformula%[\xmlatt{#1}{xml:id}]
% \ctxlua{simpel("mi")}
\startformula
\startalign
\xmlflushcontext{#1}
% \ctxlua{convert_formula("\xmlflushcontext{#1}")}
\stopalign
\stopformula
\stopxmlsetups
\startxmlsetups xml:displaymatharray
\startformula
\xmlflushcontext{#1}
\stopformula
\stopxmlsetups
\startxmlsetups xml:displaymatharraynonumber
\startformula
\xmlflushcontext{#1}
\stopformula
\stopxmlsetups
% DTA stuff below
% \setupinitial[font=Bold sa 4,distance=3pt,state=start,n=2]
% We need the font FreeSerif to display combining diacritical marks.
% Maybe this should be moved to a style environment
% \startnotmode[fraktur]
% \definefontfamily
% [mainface]
% [rm]
% [FreeSerif]
% \stopnotmode
% \startmode[fraktur]
% \definefontfamily
% [mainface]
% [rm]
% [UnifrakturMaguntia] % If we have sources that needs Fraktur
% \stopmode
% \enabledirectives
% [references.border=red]
% \placebookmarks
% [part,chapter,section,subsection,subsubsection]
% [part,chapter]