summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/tabl-xnt.mkvi
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/tabl-xnt.mkvi')
-rw-r--r--tex/context/base/mkiv/tabl-xnt.mkvi135
1 files changed, 135 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/tabl-xnt.mkvi b/tex/context/base/mkiv/tabl-xnt.mkvi
new file mode 100644
index 000000000..fd2de5a13
--- /dev/null
+++ b/tex/context/base/mkiv/tabl-xnt.mkvi
@@ -0,0 +1,135 @@
+% macros=mkvi
+
+%D \module
+%D [ file=tabl-xtb,
+%D version=2011.10.28,
+%D title=\CONTEXT\ Table Macros,
+%D subtitle=Natural to Xtreme Tables,
+%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.
+
+\writestatus{loading}{ConTeXt Table Macros / Natural to Xtreme Tables}
+
+\unprotect
+
+%D Don't expect wonders but it might come in handy:
+%D
+%D \starttyping
+%D \mapTABLEtoxtable
+%D \restoreTABLEfromxtable
+%D \stoptyping
+%D
+%D We stick to a simple example:
+%D
+%D \startbuffer
+%D \bTABLE
+%D \bTR
+%D \bTD[width=1cm,background=color,backgroundcolor=red] one \eTD
+%D \bTD[width=2cm] two \eTD
+%D \eTR
+%D \bTR
+%D \bTD alpha \eTD
+%D \bTD beta \eTD
+%D \eTR
+%D \eTABLE
+%D \stopbuffer
+%D
+%D \typebuffer
+%D
+%D \startbuffer
+%D \startlinecorrection
+%D \getbuffer
+%D \stoplinecorrection
+%D
+%D \startlinecorrection
+%D \mapTABLEtoxtable \getbuffer
+%D \stoplinecorrection
+%D \stopbuffer
+%D
+%D \typebuffer \getbuffer
+
+\let\tabl_x_normal_bTABLEhead\bTABLEhead
+\let\tabl_x_normal_eTABLEhead\eTABLEhead
+\let\tabl_x_normal_bTABLEnext\bTABLEnext
+\let\tabl_x_normal_eTABLEnext\eTABLEnext
+\let\tabl_x_normal_bTABLEfoot\bTABLEfoot
+\let\tabl_x_normal_eTABLEfoot\eTABLEfoot
+\let\tabl_x_normal_bTABLEbody\bTABLEbody
+\let\tabl_x_normal_eTABLEbody\eTABLEbody
+\let\tabl_x_normal_bTR \bTR
+\let\tabl_x_normal_eTR \eTR
+\let\tabl_x_normal_bTD \bTD
+\let\tabl_x_normal_eTD \eTD
+\let\tabl_x_normal_bTH \bTH
+\let\tabl_x_normal_eTH \eTH
+\let\tabl_x_normal_setupTABLE\setupTABLE
+\let\tabl_x_normal_bTABLE \bTABLE
+\let\tabl_x_normal_eTABLE \eTABLE
+
+\unexpanded\def\restoreTABLEfromxtable
+ {\let\bTABLEhead\tabl_x_normal_bTABLEhead
+ \let\eTABLEhead\tabl_x_normal_eTABLEhead
+ \let\bTABLEnext\tabl_x_normal_bTABLEnext
+ \let\eTABLEnext\tabl_x_normal_eTABLEnext
+ \let\bTABLEfoot\tabl_x_normal_bTABLEfoot
+ \let\eTABLEfoot\tabl_x_normal_eTABLEfoot
+ \let\bTABLEbody\tabl_x_normal_bTABLEbody
+ \let\eTABLEbody\tabl_x_normal_eTABLEbody
+ \let\bTR \tabl_x_normal_bTR
+ \let\eTR \tabl_x_normal_eTR
+ \let\bTD \tabl_x_normal_bTD
+ \let\eTD \tabl_x_normal_eTD
+ \let\bTH \tabl_x_normal_bTH
+ \let\eTH \tabl_x_normal_eTH
+ \let\setupTABLE\tabl_x_normal_setupTABLE
+ \let\bTABLE \tabl_x_normal_bTABLE
+ \let\eTABLE \tabl_x_normal_eTABLE}
+
+\unexpanded\def\mapTABLEtoxtable
+ {\let\bTABLEhead\startxtablehead
+ \let\eTABLEhead\stopxtablehead
+ \let\bTABLEnext\startxtablefoot
+ \let\eTABLEnext\stopxtablefoot
+ \let\bTABLEfoot\startxtablefoot
+ \let\eTABLEfoot\stopxtablefoot
+ \let\bTABLEbody\startxtablebody
+ \let\eTABLEbody\stopxtablebody
+ \let\bTR \startxrow
+ \let\eTR \stopxrow
+ \let\bTD \startxcell
+ \let\eTD \stopxcell
+ \let\bTH \tabl_x_TABLE_TH_start_cell
+ \let\eTH \tabl_x_TABLE_TH_stop_cell
+ \let\setupTABLE\tabl_x_TABLE_setup
+ \let\bTABLE \tabl_x_TABLE_start
+ \let\eTABLE \tabl_x_TABLE_stop}
+
+\unexpanded\def\tabl_x_TABLE_setup{\dosingleempty\tabl_x_TABLE_setup_indeed}
+\unexpanded\def\tabl_x_TABLE_start{\dosingleempty\tabl_x_TABLE_start_indeed}
+\unexpanded\def\tabl_x_TABLE_stop {\stopxtable}
+
+\unexpanded\def\tabl_x_TABLE_TH_start_cell
+ {\startxcellgroup[\c!foregroundstyle=\v!bold]%
+ \startxcell}
+
+\unexpanded\def\tabl_x_TABLE_TH_stop_cell
+ {\stopxcell
+ \stopxcellgroup}
+
+\unexpanded\def\tabl_x_TABLE_setup_indeed[#settings]%
+ {\iffirstargument
+ \setupxtable[#settings]%
+ \fi}
+
+\unexpanded\def\tabl_x_TABLE_start_indeed[#settings]%
+ {\bgroup
+ \tabl_x_prepare{#settings}%
+ \edef\tabl_x_current_buffer{\tabl_x_default_buffer}%
+ \buff_pickup\tabl_x_current_buffer{bTABLE}{eTABLE}\relax\tabl_x_process\zerocount}
+
+\protect \endinput