summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-02-01 22:02:04 +0000
committerKarl Berry <karl@freefriends.org>2015-02-01 22:02:04 +0000
commitb5083d8d39054ab295db96360fcdfa6f247621f2 (patch)
tree327010a2d3c4c5022556d37f8dbca2dfef4a077f
parent6dbca1c4c7c8c6b66c16baccd89f0867cbcfd945 (diff)
context-fancybreak (1feb15)
git-svn-id: svn://tug.org/texlive/trunk@36188 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/context/third/fancybreak/README35
-rw-r--r--Master/texmf-dist/doc/context/third/fancybreak/fancybreak-doc.pdfbin0 -> 70704 bytes
-rw-r--r--Master/texmf-dist/tex/context/interface/third/t-fancybreak.xml81
-rw-r--r--Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkii272
-rw-r--r--Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkvi438
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/collection-context.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/context-animation.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/context-annotation.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/context-fancybreak.tlpsrc2
12 files changed, 832 insertions, 3 deletions
diff --git a/Master/texmf-dist/doc/context/third/fancybreak/README b/Master/texmf-dist/doc/context/third/fancybreak/README
new file mode 100644
index 00000000000..7ae0aa76f5a
--- /dev/null
+++ b/Master/texmf-dist/doc/context/third/fancybreak/README
@@ -0,0 +1,35 @@
+Modulename : t-fancybreak
+Author : Wolfgang Schuster
+License : GNU General Public License
+
+Description
+-----------
+
+Fanycbreak is a module for ConTeXt to insert thought
+breaks in texts. With parameters one can adjust the
+spacing around the content and set a default symbol.
+
+Usage
+-----
+
+\usemodule[fancybreak]
+
+\starttext
+\input knuth\par
+\fancybreak{$* * *$}
+\input zapf\par
+\fancybreak{+++++++}
+\input ward\par
+\stoptext
+
+Options
+-------
+
+- spacebefore
+- spaceafter
+- spaceinbetween
+- align
+- style
+- color
+- symbol
+- indentnext
diff --git a/Master/texmf-dist/doc/context/third/fancybreak/fancybreak-doc.pdf b/Master/texmf-dist/doc/context/third/fancybreak/fancybreak-doc.pdf
new file mode 100644
index 00000000000..dcb4c18ab2f
--- /dev/null
+++ b/Master/texmf-dist/doc/context/third/fancybreak/fancybreak-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/interface/third/t-fancybreak.xml b/Master/texmf-dist/tex/context/interface/third/t-fancybreak.xml
new file mode 100644
index 00000000000..dfedff2b36c
--- /dev/null
+++ b/Master/texmf-dist/tex/context/interface/third/t-fancybreak.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2010.06.21">
+
+<cd:command name="fancybreak" generated="yes" file="t-fancybreak.tex">
+ <cd:sequence>
+ <cd:variable value="fancybreak"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments n="1" list="yes" optional="yes">
+ <cd:inherit name="setupfancybreak"/>
+ </cd:assignments>
+ <cd:content n="2" optional="yes"/>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="fancybreak" generated="yes" type="environment" file="t-fancybreak.tex">
+ <cd:sequence>
+ <cd:variable value="fancybreak"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments n="1" list="yes" optional="yes">
+ <cd:inherit name="setupfancybreak"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupfancybreak" file="t-fancybreak.tex">
+ <cd:sequence>
+ <cd:string value="setupfancybreak"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" optional="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="spacebefore">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceafter">
+ <cd:inherit name="blank" n="1" default="nowhite"/>
+ </cd:parameter>
+ <cd:parameter name="spaceinbetween">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="align">
+ <cd:inherit name="setupalign" n="1" default="middle"/>
+ </cd:parameter>
+ <cd:parameter name="indentnext">
+ <cd:constant type="yes" default="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="auto"/>
+ </cd:parameter>
+ <cd:parameter name="symbol">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="style">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="color">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="definefancybreak" file="t-fancybreak.tex">
+ <cd:sequence>
+ <cd:string value="definefancybreak"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes" optional="yes">
+ <cd:inherit name="setupfanycbreak" n="2"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+</cd:interface> \ No newline at end of file
diff --git a/Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkii b/Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkii
new file mode 100644
index 00000000000..66ea139e7af
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkii
@@ -0,0 +1,272 @@
+%D \module
+%D [ file=t-fancybreak,
+%D version=2013.04.27,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Fancybreak,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2010 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+%M \usemodule[fancybreak]
+%M \loadsetups[t-fancybreak.xml]
+
+%D \subject{Examples}
+%D
+%D \subsubject{The \letterbackslash fancybreak command}
+%D
+%D \starttyping
+%D The Earth, as a habitat for animal life, is in old age …
+%D \fancybreak{$* * *$}
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \input ward
+%D \fancybreak{$* * *$}
+%D \input ward
+%D
+%D \subsubject{The “spacebefore” and “spaceafter” keys}
+%D
+%D \starttyping
+%D \setupfancybreak[spacebefore=line,spaceafter=line]
+%D
+%D The Earth, as a habitat for animal life, is in old age …
+%D \fancybreak{$* * *$}
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupfancybreak[spacebefore=line,spaceafter=line]
+%D
+%D \input ward
+%D \fancybreak{$* * *$}
+%D \input ward
+%D
+%D \stop
+%D
+%D \subsubject{The argumentless version of the \letterbackslash fancybreak command}
+%D
+%D \starttyping
+%D The Earth, as a habitat for animal life, is in old age …
+%D \fancybreak
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \input ward
+%D \fancybreak
+%D \input ward
+%D
+%D \subsubject{The “spaceinbetween” key}
+%D
+%D \starttyping
+%D \setupfancybreak[spaceinbetween=3*line]
+%D
+%D The Earth, as a habitat for animal life, is in old age …
+%D \fancybreak
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupfancybreak[spaceinbetween=3*line]
+%D
+%D \input ward
+%D \fancybreak
+%D \input ward
+%D
+%D \stop
+%D
+%D \subsubject{The “symbol” key}
+%D
+%D \starttyping
+%D \setupfancybreak[symbol=star]
+%D
+%D The Earth, as a habitat for animal life, is in old age …
+%D \fancybreak
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupfancybreak[symbol=star]
+%D
+%D \input ward
+%D \fancybreak
+%D \input ward
+%D
+%D \stop
+%D
+%D \subsubject{How to create new \letterbackslash fancybreak commands}
+%D
+%D \starttyping
+%D \definefancybreak[starbreak] [symbol=star]
+%D \definefancybreak[squarebreak][symbol=square]
+%D
+%D The Earth, as a habitat for animal life, is in old age …
+%D \starbreak
+%D The Earth, as a habitat for animal life, is in old age …
+%D \squarebreak
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \start
+%D
+%D \definefancybreak[starbreak] [symbol=star]
+%D \definefancybreak[squarebreak][symbol=square]
+%D
+%D \input ward
+%D \starbreak
+%D \input ward
+%D \squarebreak
+%D \input ward
+%D
+%D \stop
+
+%D \subject{Implementation}
+
+\writestatus{loading}{ConTeXt User Module / Fancybreak}
+
+\unprotect
+
+\startinterface all
+ \setinterfacevariable {fancybreak} {fancybreak}
+\stopinterface
+
+\def\????fancybreak{@@@@fancybreak}
+
+\def\fancybreakparameter#1{\csname\????fancybreak\currentfancybreak#1\endcsname}
+
+%D \macros
+%D {setupfancybreak}
+%D
+%D \subsubject{\letterbackslash setupfancybreak}
+%D
+%D With the command \type{\setupfancybreak} one can change the settings of
+%D a previous created command, the two argument version change only the values
+%D of a certain command while the one argument version change the values of
+%D all commands.
+%D
+%D \showsetup{setupfancybreak}
+
+\unexpanded\def\setupfancybreak
+ {\dodoubleempty\dosetupfancybreak}
+
+\def\dosetupfancybreak[#1][#2]%
+ {\ifsecondargument
+ \dodoubleargumentwithset\dodosetupfancybreak[#1][#2]%
+ \else
+ \dodosetupfancybreak[][#1]%
+ \fi}
+
+\def\dodosetupfancybreak[#1][#2]%
+ {\getparameters[\????fancybreak#1][#2]}
+
+%D \macros
+%D {definefancybreak}
+%D
+%D \subsubject{\letterbackslash definefancybreak}
+%D
+%D The command \type{\fancybreak} is not hardcoded in the module but created with
+%D \type{\definefancybreak}. The command takes two arguments, the first is the name
+%D of the new command and the second parameter to change the style of the commands
+%D content and distances to the surrounding text.
+%D
+%D In \MKII\ users can only change the spacing before and after the content and
+%D the alignment of it while \MKIV\ user can also change the style and color of it.
+%D
+%D \showsetup{definefancybreak}
+
+\unexpanded\def\definefancybreak
+ {\dodoubleempty\dodefinefancybreak}
+
+\def\dodefinefancybreak[#1][#2]%
+ {\copyparameters
+ [\????fancybreak#1][\????fancybreak]
+ [\c!spacebefore,\c!spaceafter,\c!spaceinbetween,\c!align,\c!indentnext,\c!symbol]%
+ \getparameters[\????fancybreak#1][#2]%
+ \setvalue {#1}{\dodoubleempty\dofancybreak [#1]}%
+ \setvalue{\e!start#1}{\dodoubleempty\dostartfancybreak[#1]}%
+ \setvalue{\e!stop #1}{\dostopfancybreak }}
+
+%D \macros
+%D {fancybreak}
+%D
+%D \subsubject{\letterbackslash fancybreak}
+%D
+%D The main macro of the module is the \type{\fancybreak} command (or a user defined
+%D variant of it), it takes one argument which can be optional.
+%D
+%D \showsetup{fancybreak}
+%D \showsetup{startfancybreak}
+
+\def\dofancybreak[#1][#2]%
+ {\par
+ \begingroup
+ \edef\currentfancybreak{#1}%
+ \ifsecondargument
+ \doifassignmentelse{#2}
+ {\getparameters[\????fancybreak\currentfancybreak][#2]}
+ {\setvalue{\????fancybreak\currentfancybreak\c!spaceinbetween}{#2}}%
+ \fi
+ \doifnextbgroupelse\dodofancybreak\nodofancybreak}
+
+\def\dodofancybreak
+ {\forgetall % \forgetparindent
+ \dowithnextboxcontent
+ {\setupalign[\fancybreakparameter\c!align]}
+ {\blank[\fancybreakparameter\c!spacebefore]%
+ \flushnextbox
+ \blank[\fancybreakparameter\c!spaceafter ]%
+ \checknextindentation[\fancybreakparameter\c!indentnext]%
+ \endgroup
+ \dorechecknextindentation}
+ \vbox}
+
+\def\nodofancybreak
+ {\doifsymboldefinedelse{\fancybreakparameter\c!symbol}
+ {\dodofancybreak{\symbol[\fancybreakparameter\c!symbol]}}
+ {\blank[\fancybreakparameter\c!spaceinbetween]%
+ \checknextindentation[\fancybreakparameter\c!indentnext]%
+ \endgroup
+ \dorechecknextindentation}}
+
+\def\dostartfancybreak[#1][#2]%
+ {\par
+ \begingroup
+ \edef\currentfancybreak{#1}%
+ \ifsecondargument
+ \getparameters[\????fancybreak#1][#2]%
+ \fi
+ \dodofancybreak\bgroup}
+
+\def\dostopfancybreak
+ {\egroup}
+
+\definefancybreak[\v!fancybreak]
+
+\setupfancybreak
+ [ \c!spacebefore=,
+ \c!spaceafter=\v!nowhite,
+ \c!spaceinbetween=\v!line,
+ \c!align=\v!middle,
+ \c!indentnext=\v!yes,
+ \c!symbol=]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkvi b/Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkvi
new file mode 100644
index 00000000000..d3ea45253e5
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkvi
@@ -0,0 +1,438 @@
+%D \module
+%D [ file=t-fancybreak,
+%D version=2013.12.06,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Fancybreak,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2010 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+%M \usemodule[fancybreak]
+%M \loadsetups[t-fancybreak.xml]
+
+%D \subject{Examples}
+%D
+%D \macros
+%D {fancybreak}
+%D
+%D \subsubject{The \letterbackslash fancybreak command}
+%D
+%D \starttyping
+%D Making oil requires a specific series of geological accidents ...
+%D \fancybreak{$* * *$}
+%D Making oil requires a specific series of geological accidents ...
+%D \stoptyping
+%D
+%D results in
+%D
+%D \startexample
+%D \input montgomery
+%D \fancybreak{$* * *$}
+%D \input montgomery
+%D \stopexample
+%D
+%D \extras
+%D {spacebefore,spaceafter}
+%D
+%D \subsubject{The “spacebefore” and “spaceafter” keys}
+%D
+%D \starttyping
+%D \setupfancybreak[spacebefore=line,spaceafter=line]
+%D
+%D The Earth, as a habitat for animal life, is in old age …
+%D \fancybreak{$* * *$}
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D results in
+%D
+%D \start
+%D
+%D \setupfancybreak[spacebefore=line,spaceafter=line]
+%D
+%D \startexample
+%D \input ward
+%D \fancybreak{$* * *$}
+%D \input ward
+%D \stopexample
+%D
+%D \stop
+%D
+%D \extras
+%D {style}
+%D
+%D \subsubject{The “style” key}
+%D
+%D \starttyping
+%D \setupfancybreak[style=bold]
+%D
+%D The warm water spills north and south through a series of ocean currents ...
+%D \fancybreak{* * *}
+%D The warm water spills north and south through a series of ocean currents ...
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupfancybreak[style=bold,spacebefore=medium]
+%D
+%D \input linden
+%D \fancybreak{* * *}
+%D \input linden
+%D
+%D \stop
+%D
+%D \extras
+%D {color}
+%D
+%D \subsubject{The “color” key}
+%D
+%D \starttyping
+%D \setupfancybreak[color=red]
+%D
+%D Had our solar system included two suns, the problem would ...
+%D \fancybreak{* * *}
+%D Had our solar system included two suns, the problem would ...
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupfancybreak[color=red,spacebefore=medium]
+%D
+%D \input thuan
+%D \fancybreak{* * *}
+%D \input thuan
+%D
+%D \stop
+%D
+%D \extras
+%D {indentnext}
+%D
+%D \subsubject{The “indentnext” key}
+%D
+%D \starttyping
+%D The Earth, as a habitat for animal life, is in old age …
+%D \fancybreak{$* * *$}
+%D The Earth, as a habitat for animal life, is in old age …
+%D \fancybreak[indentnext=no]{$* * *$}
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupindenting[yes,medium]
+%D
+%D \input ward
+%D \fancybreak{$* * *$}
+%D \input ward
+%D \fancybreak[indentnext=no]{$* * *$}
+%D \input ward
+%D
+%D \stop
+%D
+%D \macros
+%D {fancybreak}
+%D
+%D \subsubject{The argumentless version of the \letterbackslash fancybreak command}
+%D
+%D \starttyping
+%D Imagine trying to live in a world dominated by dihydrogen oxide ...
+%D \fancybreak
+%D Imagine trying to live in a world dominated by dihydrogen oxide ...
+%D \stoptyping
+%D
+%D \input bryson
+%D \fancybreak
+%D \input bryson
+%D
+%D \extras
+%D {spaceinbetween}
+%D
+%D \subsubject{The “spaceinbetween” key}
+%D
+%D \starttyping
+%D \setupfancybreak[spaceinbetween=3*line]
+%D
+%D If [in 2600] you stacked all the new books being published ...
+%D \fancybreak
+%D If [in 2600] you stacked all the new books being published ...
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupfancybreak[spaceinbetween=3*line]
+%D
+%D \input hawking
+%D \fancybreak
+%D \input hawking
+%D
+%D \stop
+%D
+%D \extras
+%D {symbol}
+%D
+%D \subsubject{The “symbol” key}
+%D
+%D \starttyping
+%D \setupfancybreak[symbol=star]
+%D
+%D This nation, turning 100 years old, had no {\em Odyssey}, ...
+%D \fancybreak
+%D This nation, turning 100 years old, had no {\em Odyssey}, ...
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupfancybreak[symbol=star]
+%D
+%D \input davis
+%D \fancybreak
+%D \input davis
+%D
+%D \stop
+%D
+%D \macros
+%D {startfancybreak}
+%D
+%D \subsubject{The fancybreak environment}
+%D
+%D \starttyping
+%D \useMPlibrary[txt]
+%D
+%D \setupMPvariables[EnglishRule][width=.6\hsize]
+%D
+%D \setupfancybreak[spacebefore=line,spaceafter=line]
+%D
+%D The Earth, as a habitat for animal life, is in old age …
+%D
+%D \startfancybreak
+%D \dontleavehmode\useMPgraphic{EnglishRule}
+%D \stopfancybreak
+%D
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \start
+%D
+%D \setupfancybreak[spacebefore=line,spaceafter=line]
+%D
+%D \useMPlibrary[txt]
+%D
+%D \setupMPvariables[EnglishRule][width=.6\hsize]
+%D
+%D \input ward
+%D
+%D \startfancybreak
+%D \dontleavehmode\useMPgraphic{EnglishRule}
+%D \stopfancybreak
+%D
+%D \input ward
+%D
+%D \stop
+%D
+%D \macros
+%D {definefancybreak}
+%D
+%D \subsubject{How to create new \letterbackslash fancybreak commands}
+%D
+%D \starttyping
+%D \definefancybreak[starbreak] [symbol=star]
+%D \definefancybreak[squarebreak][symbol=square]
+%D
+%D The Earth, as a habitat for animal life, is in old age …
+%D \starbreak
+%D The Earth, as a habitat for animal life, is in old age …
+%D \squarebreak
+%D The Earth, as a habitat for animal life, is in old age …
+%D \stoptyping
+%D
+%D \start
+%D
+%D \definefancybreak[starbreak] [symbol=star]
+%D \definefancybreak[squarebreak][symbol=square]
+%D
+%D \input ward
+%D \starbreak
+%D \input bryson
+%D \squarebreak
+%D \input zapf
+%D
+%D \stop
+%D
+%D \subject{Implementation}
+
+\writestatus{loading}{ConTeXt User Module / Fancybreak}
+
+\unprotect
+
+\startinterface all
+ \setinterfacevariable {fancybreak} {fancybreak}
+\stopinterface
+
+\installnamespace {fancybreak}
+\installnamespace {fancybreakalternative}
+\installnamespace {fancybreakrenderings}
+
+\installcommandhandler \????fancybreak {fancybreak} \????fancybreak
+\installcommandhandler \????fancybreakalternative {fancybreakalternative} \????fancybreakalternative
+
+%D \macros
+%D {setupfancybreak}
+%D
+%D \subsubject{\letterbackslash setupfancybreak}
+%D
+%D With the command \type{\setupfancybreak} one can change the settings of
+%D a previous created command, the two argument version change only the values
+%D of a certain command while the one argument version change the values of
+%D all commands.
+%D
+%D \showsetup{setupfancybreak}
+%D
+%D \macros
+%D {definefancybreak}
+%D
+%D \subsubject{\letterbackslash definefancybreak}
+%D
+%D The command \type{\fancybreak} is not hardcoded in the module but created with
+%D \type{\definefancybreak}. The command takes two arguments, the first is the name
+%D of the new command and the second parameter to change the style of the commands
+%D content and distances to the surrounding text.
+%D
+%D In \MKII\ users can only change the spacing before and after the content and
+%D the alignment of it while \MKIV\ user can also change the style and color of it.
+%D
+%D \showsetup{definefancybreak}
+
+\appendtoks
+ \setuevalue {\currentfancybreak}{\fancybreak_direct{\currentfancybreak}}%
+ \setuevalue{\e!start\currentfancybreak}{\fancybreak_start {\currentfancybreak}}%
+ \setuevalue{\e!stop \currentfancybreak}{\fancybreak_stop }%
+\to \everydefinefancybreak
+
+%D \macros
+%D {fancybreak}
+%D
+%D \subsubject{\letterbackslash fancybreak}
+%D
+%D The main macro of the module is the \type{\fancybreak} command (or a user defined
+%D variant of it), it takes one argument which can be optional.
+%D
+%D \showsetup{fancybreak}
+%D \showsetup{startfancybreak}
+
+\definefancybreakalternative [\s!default] [\c!renderingsetup=\????fancybreakrenderings:\s!default]
+
+\startsetups[\????fancybreakrenderings:\s!default]
+ \blank[\fancybreakparameter\c!spacebefore]
+ \flushnextbox
+ \blank[\fancybreakparameter\c!spaceafter ]
+\stopsetups
+
+\definefancybreakalternative [\v!test] [\c!renderingsetup=\????fancybreakrenderings:\v!test]
+
+\startsetups[\????fancybreakrenderings:\v!test]
+ \setbox\scratchboxone\vbox{\blank[\fancybreakparameter\c!spacebefore]}
+ \setbox\scratchboxtwo\vbox{\blank[\fancybreakparameter\c!spaceafter ]}
+ \ifzeropt\pagetotal
+ % begin of new page
+ \else
+ \ifdim\dimexpr\pagegoal-\pagetotal\relax<\dimexpr\nextboxhtdp+\ht\scratchboxone+\ht\scratchboxtwo\relax
+ \page % not enough space for the content
+ \else
+ \texsetup{\????fancybreakrenderings:\s!default}
+ \fi
+ \fi
+\stopsetups
+
+\definefancybreakalternative [\v!auto] [\c!renderingsetup=\????fancybreakrenderings:\v!auto]
+
+\startsetups[\????fancybreakrenderings:\v!auto]
+ \setexpandedfancybreakparameter\c!spacebefore{\the\dimexpr\nextboxhtdp/2\relax}
+ \setexpandedfancybreakparameter\c!spaceafter {\the\dimexpr\nextboxhtdp \relax}
+ \texsetup{\????fancybreakrenderings:\v!test}
+\stopsetups
+
+\unexpanded\def\fancybreak_direct#environment%
+ {\edef\currentfancybreak{#environment}%
+ \dosingleempty\fancybreak_direct_indeed}
+
+\def\fancybreak_direct_indeed[#parameters]%
+ {\par
+ \begingroup
+ \iffirstargument
+ \doifassignmentelse{#parameters}
+ {\setupcurrentfancybreak[#parameters]}
+ {\setfancybreakparameter\c!spaceinbetween{#parameters}}%
+ \fi
+ \doifnextbgroupelse\fancybreak_direct_yes\fancybreak_direct_nop}
+
+\def\fancybreak_direct_yes
+ {\forgetparindent
+ \dowithnextboxcontent
+ {\dostarttagged\t!division\currentfancybreak
+ \usealignparameter\fancybreakparameter
+ \usefancybreakstyleandcolor\c!style\c!color}
+ {\edef\currentfancybreakalternative{\fancybreakparameter\c!alternative}%
+ \ifcsname\currentfancybreakalternativehash\s!parent\endcsname
+ % valid argument for the alternative key
+ \else
+ \let\currentfancybreakalternative\s!default
+ \fi
+ \edef\p_fancybreak_renderingsetup{\fancybreakalternativeparameter\c!renderingsetup}%
+ \texsetup\p_fancybreak_renderingsetup
+ \dostoptagged
+ \checknextindentation[\fancybreakparameter\c!indentnext]%
+ \endgroup
+ \dorechecknextindentation}
+ \vbox}
+
+\def\fancybreak_direct_nop
+ {\doifsymboldefinedelse{\fancybreakparameter\c!symbol}
+ {\fancybreak_direct_yes{\symbol[\fancybreakparameter\c!symbol]}}
+ {\blank[\fancybreakparameter\c!spaceinbetween]%
+ \checknextindentation[\fancybreakparameter\c!indentnext]%
+ \endgroup
+ \dorechecknextindentation}}
+
+\unexpanded\def\fancybreak_start#environment%
+ {\edef\currentfancybreak{#environment}%
+ \dosingleempty\fancybreak_start_indeed}
+
+\def\fancybreak_start_indeed[#parameters]%
+ {\par
+ \begingroup
+ \iffirstargument
+ \setupcurrentfancybreak[#parameters]%
+ \fi
+ \fancybreak_direct_yes\bgroup}
+
+\unexpanded\def\fancybreak_stop
+ {\egroup}
+
+\definefancybreak[\v!fancybreak]
+
+\setupfancybreak
+ [ \c!spacebefore=,
+ \c!spaceafter=\v!nowhite,
+ \c!spaceinbetween=\v!line,
+ \c!align=\v!middle,
+ \c!indentnext=\v!yes,
+ \c!symbol=]
+
+\protect \endinput
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 0ecfd5a7e8c..3bfca1acfda 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -139,7 +139,7 @@ my @TLP_working = qw(
context-account context-algorithmic context-animation context-annotation
context-bnf context-chromato
context-construction-plan context-cyrillicnumbers
- context-degrade context-filter context-fixme
+ context-degrade context-fancybreak context-filter context-fixme
context-french context-fullpage
context-games context-gantt context-gnuplot
context-letter context-lettrine context-lilypond context-mathsets
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index d83c09fa899..2e0b0bee6c6 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -264,6 +264,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'context-cyrillicnumbers', "&MAKEcopy",
'context-construction-plan',"&MAKEcopy",
'context-degrade', "&MAKEcopy",
+ 'context-fancybreak', "&MAKEcopy",
'context-filter', "&MAKEcopy",
'context-fixme', "&MAKEcopy",
'context-french', "&MAKEcopy",
diff --git a/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc b/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc
index 796b657f34c..d1c1ed352d3 100644
--- a/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc
+++ b/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc
@@ -34,6 +34,7 @@ docpattern TLCore t texmf-dist doc %NAME%
# pkg name: context-foobar
# %context-:NAME% expands to foobar
runpattern ConTeXt f texmf-dist/tex/context/interface/third/*%context-:NAME%.xml
+runpattern ConTeXt f texmf-dist/tex/context/interface/third/t-%NAME%.xml
runpattern ConTeXt d texmf-dist/tex/context/third/%context-:NAME%
runpattern ConTeXt d texmf-dist/scripts/context/lua/third/%context-:NAME%
runpattern ConTeXt d texmf-dist/metapost/context/third/%context-:NAME%
diff --git a/Master/tlpkg/tlpsrc/collection-context.tlpsrc b/Master/tlpkg/tlpsrc/collection-context.tlpsrc
index 31fec21c283..8bc038c08cd 100644
--- a/Master/tlpkg/tlpsrc/collection-context.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-context.tlpsrc
@@ -16,6 +16,7 @@ depend context-chromato
depend context-construction-plan
depend context-cyrillicnumbers
depend context-degrade
+depend context-fancybreak
depend context-filter
depend context-fixme
depend context-french
diff --git a/Master/tlpkg/tlpsrc/context-animation.tlpsrc b/Master/tlpkg/tlpsrc/context-animation.tlpsrc
index 86c4253fbee..80e71c2e536 100644
--- a/Master/tlpkg/tlpsrc/context-animation.tlpsrc
+++ b/Master/tlpkg/tlpsrc/context-animation.tlpsrc
@@ -1,3 +1,2 @@
category ConTeXt
-runpattern +f texmf-dist/tex/context/interface/third/t-animation.xml
depend context
diff --git a/Master/tlpkg/tlpsrc/context-annotation.tlpsrc b/Master/tlpkg/tlpsrc/context-annotation.tlpsrc
index 92d22763ef6..80e71c2e536 100644
--- a/Master/tlpkg/tlpsrc/context-annotation.tlpsrc
+++ b/Master/tlpkg/tlpsrc/context-annotation.tlpsrc
@@ -1,3 +1,2 @@
category ConTeXt
-runpattern +f texmf-dist/tex/context/interface/third/t-annotation.xml
depend context
diff --git a/Master/tlpkg/tlpsrc/context-fancybreak.tlpsrc b/Master/tlpkg/tlpsrc/context-fancybreak.tlpsrc
new file mode 100644
index 00000000000..80e71c2e536
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/context-fancybreak.tlpsrc
@@ -0,0 +1,2 @@
+category ConTeXt
+depend context