Re: [NTG-context] Multiple pleas for help (long)
Am 01.06.10 00:29, schrieb Scott Steele:
If anyone has any insight on how to keep the footnotes from having
their numbers in the margin and from having line-breaks after each
one, that is the only issue from the original email that is still
unsolved, I think.
———
In Latex, \fancybreak was part of a package called, I believe,
fancyheader or fancypage. It produced a break frequently seen in
published prose (I'm currently reading {\em Bluebeard} where Kurt
Vonnegut uses it liberally) with significant vertical space between
two paragraphs and, centered both in that vertical space as well as
horizontally, a number of well-spaced marks. There are usually 3
marks, and they are frequently asterisks or traditional
dingbats/fleurons. This sort of break is generally used when the
author wishes to indicate a break more significant than a change in
paragraph but short of an outright new chapter.
\def\FancyBreak{\par\blank\hfill* * *\hfill\hfill\par\blank}
\starttext
\input tufte
\FancyBreak
\input tufte
\stoptext
I don't understand why I need the two consecutive \hfill's at the end
for the marks to be centered, but the definition works well for me.
\unprotect
\def\????fb{@@@@fb}
\getparameters
[\????fb] [\c!spacebefore=, \c!spaceafter=]
\def\fancybreakparameter#1%
{\csname\????fb\ifcsname\????fb\currentfancybreak#1\endcsname\currentfancybreak\fi#1\endcsname}
\def\setupfancybreak
{\dodoubleempty\dosetupfancybreak}
\def\dosetupfancybreak[#1][#2]%
{\ifsecondargument \getparameters[\????fb#1][#2]% \else \getparameters[\????fb][#1]% \fi}
\def\definefancybreak
{\dodoubleempty\dodefinefancybreak}
\def\dodefinefancybreak[#1][#2]%
{\ifsecondargument \getparameters[\????fb#1][#2]% \fi \setvalue{#1}{\dofancybreak{#1}}}
\def\dofancybreak#1%
{\begingroup \edef\currentfancybreak{#1}% \everyvbox{\raggedcenter}% \dowithnextbox {\blank[\fancybreakparameter\c!spacebefore]% \flushnextbox \blank[\fancybreakparameter\c!spaceafter]% \endgroup} \normalvbox}
\definefancybreak[fancybreak]
\protect
\starttext
\input knuth \fancybreak{$* * *$} \input ward \stoptext
Wolfgang
___________________________________________________________________________________
Thanks a lot for all of that! I'm having trouble getting it to run, though. I tried copy/pasting it into the Context Live site but get ! Argument of \fancybreakparameter has an extra }. <inserted text> \par <to be read again> } \edefconvertedargument #1#2->\edef #1{#2} \edef #1{\detokenize \@EA {#1}} \docomplexdoblank ...convertedargument \ascii {#1} \ifcsname \??bo \??bo \asc... \dodowithnextbox ...reakparameter \c!spacebefore ] \flushnextbox \blank [\fan... l.52 \fancybreak{$* * *$} ? ! Emergency stop. <inserted text> \par <to be read again> } \edefconvertedargument #1#2->\edef #1{#2} \edef #1{\detokenize \@EA {#1}} \docomplexdoblank ...convertedargument \ascii {#1} \ifcsname \??bo \??bo \asc... \dodowithnextbox ...reakparameter \c!spacebefore ] \flushnextbox \blank [\fan... l.52 \fancybreak{$* * *$} Thanks, Scott ----- This is a work of fiction. Names, characters, places, and incidents either are the product of the writer's imagination or are used fictitiously, and any resemblance to actual persons, living or dead, businesses, companies, events, or locales is entirely coïncidental.
Am 07.06.10 02:03, schrieb Scott Steele:
Thanks a lot for all of that! I'm having trouble getting it to run, though. I tried copy/pasting it into the Context Live site but get [...]
The mail client messed up my code, here is a slightly modified version: \unprotect \def\v!fancybreak{fancybreak} \def\????fb{@@@@fb} \getparameters [\????fb] [\c!spacebefore=, \c!spaceafter=, \c!align=\v!middle, \c!indentnext=\v!yes] \def\fancybreakparameter #1{\csname\dofancybreakparameter{\????fb\currentfancybreak}#1\endcsname} \def\dofancybreakparameter #1#2{\ifcsname#1#2\endcsname#1#2\else\expandafter\dodofancybreakparameter\csname#1\s!parent\endcsname#2\fi} \def\dodofancybreakparameter#1#2{\ifx#1\relax\s!empty\else\dofancybreakparameter#1#2\fi} \unexpanded\def\setupfancybreak {\dodoubleempty\dosetupfancybreak} \def\dosetupfancybreak[#1][#2]% {\ifsecondargument \getparameters[\????fb#1][#2]% \else \getparameters[\????fb][#1]% \fi} \unexpanded\def\definefancybreak {\dodoubleempty\dodefinefancybreak} \def\dodefinefancybreak[#1][#2]% {\getparameters[\????fb#1][\s!parent=\????fb,#2]% \setvalue{#1}{\dofancybreak{#1}}} \unexpanded\def\dofancybreak#1% {\begingroup \edef\currentfancybreak{#1}% \everyvbox{\setupalign[\fancybreakparameter\c!align]}% \dowithnextbox {\blank[\fancybreakparameter\c!spacebefore]% \flushnextbox \blank[\fancybreakparameter\c!spaceafter]% \checknextindentation[\fancybreakparameter\c!indentnext] \dorechecknextindentation \endgroup} \normalvbox} \definefancybreak[\v!fancybreak] \protect \starttext \input knuth \fancybreak{$* * *$} \input ward \page \setupindenting[yes,medium] \input knuth \fancybreak{$* * *$} \input ward \stoptext Wolfgang
Am 07.06.10 02:03, schrieb Scott Steele:
> In Latex, \fancybreak was part of a package called, I believe, > fancyheader or fancypage. It produced a break frequently seen in > published prose (I'm currently reading {\em Bluebeard} where Kurt > Vonnegut uses it liberally) with significant vertical space between > two paragraphs and, centered both in that vertical space as well as > horizontally, a number of well-spaced marks. There are usually 3 > marks, and they are frequently asterisks or traditional > dingbats/fleurons. This sort of break is generally used when the > author wishes to indicate a break more significant than a change in > paragraph but short of an outright new chapter.
\unprotect [...] \protect
\starttext \input knuth \fancybreak{$* * *$} \input ward \stoptext
Wolfgang
Thanks a lot for all of that! I'm having trouble getting it to run, though. I tried copy/pasting it into the Context Live site but get
I wrote now a module for this, you can download it from here: http://bitbucket.org/wolfs/fancybreak Wolfgang
participants (2)
-
Scott Steele
-
Wolfgang Schuster