diff options
author | Karl Berry <karl@freefriends.org> | 2015-02-01 22:02:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-02-01 22:02:04 +0000 |
commit | b5083d8d39054ab295db96360fcdfa6f247621f2 (patch) | |
tree | 327010a2d3c4c5022556d37f8dbca2dfef4a077f | |
parent | 6dbca1c4c7c8c6b66c16baccd89f0867cbcfd945 (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/README | 35 | ||||
-rw-r--r-- | Master/texmf-dist/doc/context/third/fancybreak/fancybreak-doc.pdf | bin | 0 -> 70704 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/context/interface/third/t-fancybreak.xml | 81 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkii | 272 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/third/fancybreak/t-fancybreak.mkvi | 438 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-context.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/context-animation.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/context-annotation.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/context-fancybreak.tlpsrc | 2 |
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 Binary files differnew file mode 100644 index 00000000000..dcb4c18ab2f --- /dev/null +++ b/Master/texmf-dist/doc/context/third/fancybreak/fancybreak-doc.pdf 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 |