summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/strc-lnt.mklx
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/strc-lnt.mklx')
-rw-r--r--tex/context/base/mkiv/strc-lnt.mklx359
1 files changed, 0 insertions, 359 deletions
diff --git a/tex/context/base/mkiv/strc-lnt.mklx b/tex/context/base/mkiv/strc-lnt.mklx
deleted file mode 100644
index f24c93ee4..000000000
--- a/tex/context/base/mkiv/strc-lnt.mklx
+++ /dev/null
@@ -1,359 +0,0 @@
-%D \module
-%D [ file=strc-lnt,
-%D version=2002.05.10,
-%D title=\CONTEXT\ Structure Macros,
-%D subtitle=Line Notes,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-% todo: mkvi #
-
-\writestatus{loading}{ConTeXt Structure Macros / Line Notes}
-
-%D This module loads on top of the footnote and line numbering macros.
-
-\unprotect
-
-\installcorenamespace{linenote}
-
-\aliased\let\setuplinenote\setupnote
-
-\newcount\c_strc_linenotes
-\newtoks\everydefinelinenote
-
-\permanent\tolerant\protected\def\definelinenote[#1]#*[#2]#*[#3]%
- {\ifarguments
- % error
- \orelse\ifcsname\??linenote#1\endcsname
- % there might be files that define the default 'linenote'
- \ifparameters\or\or
- \setupnote[#1][#2]%
- \or
- \setupnote[#1][#3]%
- \fi
- \else
- \ifparameters\or
- \definenote[#1]%
- \or
- \definenote[#1][#2]%
- \or
- \definenote[#1][#2][#3]%
- \fi
- \pushmacro\currentnote
- \edef\currentnote{#1}
- \letcsname\??linenote\currentnote\expandafter\endcsname\csname\currentnote\endcsname % use copy command
- \frozen\instance\setuevalue {\currentnote}{\strc_linenotes_direct{\currentnote}}%
- \frozen\instance\setuevalue{\e!start\currentnote}{\strc_linenotes_start {\currentnote}}%
- \frozen\instance\setuevalue{\e!stop \currentnote}{\strc_linenotes_stop }%
- \the\everydefinelinenote
- \popmacro\currentnote
- \fi}
-
-\protected\def\strc_linenotes_direct#1#2%
- {\global\advance\c_strc_linenotes\plusone
- \strc_linenotes_indeed{#1}{\the\c_strc_linenotes}{#2}%
- \strc_linenotes_traced\empty
- \normalexpanded{\someline[\the\c_strc_linenotes]}}
-
-\protected\def\strc_linenotes_start#1[#2]#3%
- {\global\advance\c_strc_linenotes\plusone
- \keepunwantedspaces
- \strc_linenotes_indeed{#1}{#2}{#3}%
- \strc_linenotes_traced{#2}%
- \startline[#2]}
-
-\protected\def\strc_linenotes_stop[#1]%
- {\stopline[#1]}
-
-\let\m_page_lines_previous_to \relax
-\let\m_page_lines_previous_from\relax
-
-\let\m_page_lines_current_to \relax
-\let\m_page_lines_current_from \relax
-
-\newconditional\c_page_lines_current_to
-\newconditional\c_page_lines_current_from
-
-\installcorenamespace{linenotespreviousfrom}
-\installcorenamespace{linenotespreviousto}
-
-\letvalue\??linenotespreviousfrom\empty
-\letvalue\??linenotespreviousto \empty
-
-% maybe do this in lua
-
-\def\page_lines_in_from{\in[lr:b:\currentlinenotereference]}
-\def\page_lines_in_to {\in[lr:e:\currentlinenotereference]}
-
-\protected\def\strc_linenotes_range_normal#1% order
- {\doifelsereferencefound{lr:b:\currentlinenotereference}\settrue\setfalse\c_page_lines_current_from
- \ifconditional\c_page_lines_current_from
- \xdef\m_page_lines_current_from{\currentreferencelinenumber}%
- \doifelsereferencefound{lr:e:\currentlinenotereference}\settrue\setfalse\c_page_lines_current_to
- \ifconditional\c_page_lines_current_to
- \xdef\m_page_lines_current_to{\currentreferencelinenumber}%
- \page_lines_in_from
- \ifx\m_page_lines_current_from\m_page_lines_current_to \else
- \endash
- \page_lines_in_to
- \fi
- \else
- \page_lines_in_from
- \fi
- \else
- \page_lines_in_from
- \fi}
-
-\protected\def\strc_linenotes_range_sparse#1% order
- {\doifelsereferencefound{lr:b:\currentlinenotereference}\settrue\setfalse\c_page_lines_current_from
- \ifconditional\c_page_lines_current_from
- \xdef\m_page_lines_current_from{\currentreferencelinenumber}%
- \doifelsereferencefound{lr:e:\currentlinenotereference}\settrue\setfalse\c_page_lines_current_to
- \ifconditional\c_page_lines_current_to
- \xdef\m_page_lines_current_to{\currentreferencelinenumber}%
- \ifx\m_page_lines_previous_from\m_page_lines_current_from
- \ifx\m_page_lines_previous_to\m_page_lines_current_to \else
- \page_lines_in_from
- \ifx\m_page_lines_current_from\m_page_lines_current_to\else\endash\page_lines_in_to\fi
- \fi
- \else
- \page_lines_in_from
- \ifx\m_page_lines_current_from\m_page_lines_current_to\else\endash\page_lines_in_to\fi
- \fi
- \else
- \page_lines_in_from
- \fi
- \else
- \ifx\m_page_lines_previous_from\m_page_lines_current_from \else
- \page_lines_in_from
- \fi
- \fi}
-
-\let\currentlinenotereference\empty
-
-\protected\def\strc_linenotes_indeed#1#2#3%
- {\begingroup
- % we keep things local so we can use it as regular note too
- \edef\currentnotation{#1}%
- \edef\currentlinenotereference{#2}%
- \xdef\m_page_lines_previous_from{\begincsname\??linenotespreviousfrom\currentnotation\endcsname}%
- \xdef\m_page_lines_previous_to {\begincsname\??linenotespreviousto \currentnotation\endcsname}%
- \strc_linenotes_check_compression
- \let\currentnote\currentnotation
- \letnotationparameter\c!numbercommand\linenotelinenumber% todo: deep hook
- \letnoteparameter \c!textcommand \gobbleoneargument % todo: deep hook
- \csname\??linenote\currentnotation\endcsname{#3}%
- \global\letcsname\??linenotespreviousfrom\currentnotation\endcsname\m_page_lines_current_from
- \global\letcsname\??linenotespreviousto \currentnotation\endcsname\m_page_lines_current_to
- \endgroup}
-
-% compression
-
-\installcorenamespace{linenotescompressmethod}
-
-% compress=yes|no
-% compressmethod=separator|stopper
-
-\setvalue{\??linenotescompressmethod\v!separator}%
- {\edef\p_compressseparator{\noteparameter\c!compressseparator}%
- \scratchskip\noteparameter\c!compressdistance\relax
- \ifempty\p_compressseparator
- \hskip\scratchskip
- \else
- \hskip.5\scratchskip
- \begingroup\p_compressseparator\endgroup
- \hskip.5\scratchskip
- \fi}
-
-\setvalue{\??linenotescompressmethod\v!stopper}%
- {\edef\p_compressstopper{\noteparameter\c!compressstopper}%
- \scratchskip\noteparameter\c!compressdistance\relax
- \ifempty\p_compressstopper
- \hskip\scratchskip
- \else
- \begingroup\p_compressstopper\endgroup
- \hskip.5\scratchskip
- \fi}
-
-\setvalue{\??linenotescompressmethod\v!space}%
- {\hskip\noteparameter\c!compressdistance\relax}
-
-\def\strc_linenotes_check_compression
- {\edef\p_linenotes_compress {\noteparameter\c!compress}%
- \edef\p_linenotes_compressmethod{\noteparameter\c!compressmethod}%
- \ifx\p_linenotes_compress\v!yes
- \let\linenotelinenumber\strc_linenotes_range_sparse
- \else
- \let\linenotelinenumber\strc_linenotes_range_normal
- \fi
- \ifcsname\??linenotescompressmethod\p_linenotes_compressmethod\endcsname \else
- \let\p_linenotes_compressmethod\v!space
- \fi}
-
-\def\strc_linenotes_inbetween % \ifcsname\??linenote\currentnote\expandafter\endcsname
- {\begincsname\??linenotescompressmethod\p_linenotes_compressmethod\endcsname}
-
-\def\strc_notes_compress_distance{\emwidth \s!plus .5\emwidth \s!minus .25\emwidth}
-
-\setupnotes
- [%c\compress=\v!no,
- \c!compressdistance=\strc_notes_compress_distance,
- \c!compressseparator=\symbol{\v!compressseparator},
- \c!compressstopper=\symbol{\v!compressstopper}]
-
-\appendtoks
- \letnoteparameter\c!inbetween\strc_linenotes_inbetween
-\to \everydefinelinenote
-
-% where to hook this one in? resetcounter has no hook:
-
-\permanent\protected\def\doresetlinenotecompression#1% \strc_linenotes_reset_previous
- {\global\letcsname\??linenotespreviousfrom#1\endcsname\empty
- \global\letcsname\??linenotespreviousto #1\endcsname\empty}
-
-\definesymbol
- [\v!compressseparator]
- [\hbox{\vl\thinspace\vl}] % \space removed
-
-\definesymbol
- [\v!compressstopper]
- [,]
-
-% \setupnotations
-% [%c\compress=\v!no,
-% \c!compressseparator=\symbol\v!compressseparator]
-
-\let\strc_linenotes_traced\gobbleoneargument
-
-\def\strc_linenotes_traced_indeed#1%
- {\iftracelinenotes
- \hpack to \zeropoint
- {\forgetall
- \hsize\zeropoint
- \hss
- \vpack to \strutheight{\llap{\red\infofont\setstrut\the\c_strc_linenotes}\vss}%
- {\color[blue]{\vl}}%
- \vpack to \strutheight{\rlap{\red\infofont\setstrut#1}\vss}%
- \hss}%
- \prewordbreak
- \fi}
-
-\permanent\protected\def\tracelinenotes
- {\let\strc_linenotes_traced\strc_linenotes_traced_indeed}
-
-% We predefine one, namely \type {\linenote} cum suis.
-
-\definelinenote[\v!linenote]
-
-%D Use these when not properly nested:
-
-\aliased\let\fromlinenote\startlinenote
-\aliased\let\tolinenote \stoplinenote
-
-% beware: line numbers are added later on so grouping setups is a bad idea
-%
-% \startbuffer[test]
-% \startlinenumbering[100]
-% test \linenote {oeps 1} test test test test test test
-% test \startlinenote [well] {oeps X} test test test test test test
-% test \linenote {oeps 2} test test test test test test
-% test \linenote {oeps 3} test test test test test test
-% test \linenote {oeps 4} test test test test test test
-% test \linenote {oeps 5} test test test test test test
-% test \stoplinenote [well] test test test test test test
-% \stoplinenumbering
-% \stopbuffer
-%
-% \typebuffer[test] \getbuffer[test] \page
-%
-% \startbuffer[setup]
-% \setuplinenumbering
-% [align=flushleft]
-% \stopbuffer
-%
-% \typebuffer[setup] \getbuffer[setup,test] \page
-%
-% \startbuffer[setup]
-% \setuplinenumbering
-% [width=4em,
-% distance=1em,
-% align=flushright]
-% \stopbuffer
-%
-% \typebuffer[setup] \getbuffer[setup,test] \page
-%
-% \startbuffer[setup]
-% \setuplinenumbering
-% [width=4em,
-% align=flushleft]
-% \stopbuffer
-%
-% \typebuffer[setup] \getbuffer[setup,test] \page
-%
-% \startbuffer[setup]
-% \setuplinenumbering
-% [width=2em,
-% distance=.5em,
-% align=middle]
-% \stopbuffer
-%
-% \typebuffer[setup] \getbuffer[setup,test] \page
-%
-% \startbuffer[setup]
-% \setuplinenumbering
-% [conversion=romannumerals,
-% start=1,
-% step=1,
-% location=text,
-% style=slanted,
-% color=blue,
-% width=1.5em]
-% \stopbuffer
-%
-% \typebuffer[setup] \getbuffer[setup] \startnarrower\getbuffer[test]\stopnarrower \page
-%
-% \startbuffer[setup]
-% \setuplinenumbering
-% [width=4em,
-% left=--,
-% right=--,
-% align=middle]
-% \stopbuffer
-%
-% \typebuffer[setup] \getbuffer[setup,test] \page
-%
-% \startbuffer[setup-1]
-% \setuplinenumbering
-% [style=\bfxx,
-% command=\WatchThis]
-% \stopbuffer
-%
-% \startbuffer[setup-2]
-% \def\WatchThis#1%
-% {\ifodd\linenumber
-% \definecolor[linecolor][red]%
-% \else
-% \definecolor[linecolor][green]%
-% \fi
-% \inframed
-% [offset=1pt,frame=off,background=color,backgroundcolor=linecolor]
-% {#1}}
-% \stopbuffer
-%
-% \typebuffer[setup-1,setup-2] \getbuffer[setup-1,setup-2,test] \page
-%
-% \startbuffer[setup-1]
-% \setuplinenumbering
-% [location=inright,
-% style=\bfxx,
-% command=\WatchThis]
-% \stopbuffer
-%
-% \typebuffer[setup-1] \getbuffer[setup-1,setup-2,test] \page
-
-\protect \endinput