summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-02-05 00:23:37 +0000
committerKarl Berry <karl@freefriends.org>2011-02-05 00:23:37 +0000
commit17d8cf93442b753a28ae1b52adc9f0471fdbcc8f (patch)
treeff974918629e71d1928cfc4c194bf3a384c02fbb
parent59ff7c39f8c60b525dc83055c9f100e5452297f6 (diff)
new latex package collcell (4feb11)
git-svn-id: svn://tug.org/texlive/trunk@21300 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/collcell/README45
-rw-r--r--Master/texmf-dist/doc/latex/collcell/collcell.pdfbin0 -> 129764 bytes
-rw-r--r--Master/texmf-dist/source/latex/collcell/collcell.dtx262
-rw-r--r--Master/texmf-dist/source/latex/collcell/collcell.ins49
-rw-r--r--Master/texmf-dist/tex/latex/collcell/collcell.sty103
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collcell.tlpsrc0
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
8 files changed, 461 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/collcell/README b/Master/texmf-dist/doc/latex/collcell/README
new file mode 100644
index 00000000000..01b7b6235f5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/collcell/README
@@ -0,0 +1,45 @@
+The collcell Package
+--------------------
+Copyright (C) 2009-2011 by Martin Scharrer <martin@scharrer-online.de>
+http://www.ctan.org/pkg/collcell/
+Version v0.1 -- 2011/02/04
+
+This small package provides macros which collect the cell content of
+a tabular and provide it to a macro as argument. It was inspired by the
+\collect@body macro defined by the amsmath or the environ package,
+which can be used to collect the body of an environment. Special care
+is taken to remove all aligning macros inserted by tabular from the cell
+content. The macros also work in the last column of a table. They do not
+support verbatim material inside the cells.
+
+
+Usage
+
+This package provides the macros \collectcell and \endcollectcell which are
+supposed to be used with the >{ } and <{ } tabular column declarations of the
+array package. This can be done either in the argument of tabular or using
+\newcolumntype.
+
+The following code defines a 'E' column which passes the contents of its cell to
+\usermacro as an argument. The macro can the process the content as usual.
+
+% Preamble:
+\usepackage{array}
+\usepackage{collcell}
+% Preamble or document:
+\newcolumntype{E}{>{\collectmacro\usermacro}c<{\endcollectmacro}}
+% Document:
+\begin{tabular}{lE}
+A & Example \\ % Same as \usermacro{Example}
+B & Text \\ % Same as \usermacro{Text}
+\end{tabular}
+
+For example \usermacro could be \fbox and wrap the cell content in a frame box.
+More complicated macros are also supported as long they take one argument. This
+package was originally programmed to be used with the \tikztiming macro of the
+tikz-timing package. This macro takes some complex user input and draws a timing
+diagram from it
+
+Note that if such a cell contains a tabular environment by itself, the
+environment must be wrapped in braces '{ }' to ensure proper operation.
+
diff --git a/Master/texmf-dist/doc/latex/collcell/collcell.pdf b/Master/texmf-dist/doc/latex/collcell/collcell.pdf
new file mode 100644
index 00000000000..9c03608085e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/collcell/collcell.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/collcell/collcell.dtx b/Master/texmf-dist/source/latex/collcell/collcell.dtx
new file mode 100644
index 00000000000..2bf3c89d5a5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/collcell/collcell.dtx
@@ -0,0 +1,262 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2009-2011 by Martin Scharrer <martin@scharrer-online.de>
+% ----------------------------------------------------------------------
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008/05/04 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Martin Scharrer.
+%
+% This work consists of the files collcell.dtx, collcell.ins
+% and the derived file collcell.sty.
+%
+% \fi
+%%^^A $Id: collcell.dtx 2129 2011-02-04 11:36:33Z martin $
+%
+% \iffalse
+%<package>\ProvidesPackage{collcell}
+%<*driver>
+\ProvidesFile{collcell.dtx}
+%</driver>
+ [2011/02/04 v0.1 Collect the content of a tabular cell]
+%<*driver>
+\documentclass{ydoc}
+\GetFileInfo{\jobname.dtx}
+\usepackage{collcell}[\filedate]
+
+\EnableCrossrefs
+%\CodelineIndex
+\RecordChanges
+%\OnlyDescription
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \PrintChanges
+ %\newpage\PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v0.0}{2009/08/13}{Created package}
+% \changes{v0.1}{2011/02/04}{First released version}
+%
+%
+% \DoNotIndex{\newcommand,\newenvironment,\def,\edef,\xdef,\DeclareRobustCommand}
+%
+% \GetFileInfo{\jobname.dtx}
+% \ifpdf
+% \hypersetup{%
+% pdfauthor = {Martin Scharrer <martin@scharrer-online.de>},
+% pdftitle = {The collcell package},
+% pdfsubject = {Documentation of LaTeX package collcell},
+% pdfkeywords = {collcell, LaTeX, TeX}
+% }%
+% \fi
+% \clearpage
+% \null
+% \vspace*{-2em}
+% \begin{center}
+% {\LARGE The \textsf{collcell} Package\\[\medskipamount]}
+% {\large Martin Scharrer \\[\medskipamount]\normalsize
+% \url{martin@scharrer-online.de}\\[.8ex]
+% \url{http://www.ctan.org/pkg/collcell/}\\[\medskipamount]}
+% {\large Version \fileversion\ -- \filedate}\\
+% \end{center}
+% \vspace{1.2em}%
+%
+% \begin{abstract}
+% This small package provides macros which collect the cell content of a tabular
+% and provide it to a macro as argument. It was inspired by the |\collect@body|
+% macro defined by the \pkg{amsmath} or the \pkg{environ} package, which can be used
+% to collect the body of an environment. Special care is taken to remove all aligning
+% macros inserted by tabular from the cell content. The macros also work in the last
+% column of a table. They do not support verbatim material inside the cells.
+% \end{abstract}
+%
+% \section{Usage}
+% This package provides the macros \Macro\collectcell and \Macro\endcollectcell
+% which are supposed to be used with the |>{ }| and |<{ }| tabular column declarations of
+% the \pkg{array} package. This can be done either in the argument of tabular or using
+% \Macro\newcolumntype.
+%
+% The following code defines a `|E|' column which passes the contents of its cell
+% to \Macro\usermacro as an argument. The macro can the process the content as usual.
+%
+% \par\bigskip
+% \noindent
+% |% Preamble:|\\
+% |\usepackage{array}|\\
+% |\usepackage{collcell}|\\
+% |% Preamble or document:|\\
+% |\newcolumntype{E}{>{\collectmacro\usermacro}c<{\endcollectmacro}}|\\
+% ||\\
+% |% Document:|\\
+% |\begin{tabular}{lE}|\\
+% | A & Example \\ % Same as \usermacro{Example} |\\
+% | B & Text \\ % Same as \usermacro{Text} |\\
+% |\end{tabular}|\\
+% \par\medskip
+%
+% For example \Macro\usermacro could be \Macro\fbox and wrap the cell content in a frame box.
+% More complicated macros are also supported as long they take one argument. This package
+% was originally programmed to be used with the \Macro\tikztiming macro of the \pkg{tikz-timing} package.
+% This macro takes some complex user input and draws a timing diagram from it
+%
+% Note that if such a cell contains a tabular environment by itself, the environment must be wrapped
+% in braces `|{ }|' to ensure proper operation.
+%
+%
+% \StopEventually{}
+% \clearpage
+% \iffalse
+%<*package>
+% \fi
+% \section{Implementation}
+% \begin{macrocode}
+\newtoks\collect@cell@toks
+% \end{macrocode}
+%
+% \begin{macro}{\collectcell}
+% \begin{macrocode}
+\newenvironment{collectcell}{}{}
+\def\collectcell#1#2\ignorespaces{%
+ \collect@cell@toks{}%
+ \let\collect@cell@spaces\empty
+ \def\collect@cell@end{%
+ \expandafter\scantokens\expandafter
+ {\expandafter#1\expandafter{\the\collect@cell@toks}}%
+ }
+ \def\collect@cell@next{\collect@cell@look}%
+ \collect@cell@next
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\endcollectcell}
+% Holds unique signature which will expand to nothing.
+% \begin{macrocode}
+\def\endcollectcell{\@gobble{endcollectcell}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\collect@cell@look}
+% \begin{macrocode}
+\def\collect@cell@look{%
+ \futurelet\collect@cell@lettoken\collect@cell@look@
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\collect@cell@eatspace}
+% \begin{macrocode}
+\begingroup
+\def\:{\collect@cell@eatspace}
+\expandafter\gdef\: {\collect@cell@look}
+\endgroup
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\collect@cell@look@}
+% \begin{macrocode}
+\def\collect@cell@look@{%
+ \ifx\collect@cell@lettoken\@sptoken
+ \edef\collect@cell@spaces{\collect@cell@spaces\space}%
+ \def\collect@cell@next{\collect@cell@eatspace}%
+ \else
+ \ifx\collect@cell@lettoken\bgroup
+ \def\collect@cell@next{\collect@cell@group}%
+ \else
+ \def\collect@cell@next{\collect@cell@arg}%
+ \fi
+ \fi
+ \collect@cell@next
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\collect@cell@group}
+% \begin{macrocode}
+\def\collect@cell@group#1{%
+ \begingroup
+ \def\@tempa{#1}%
+ \def\@tempb{\bgroup}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \def\collect@cell@next{\collect@cell@arg\bgroup}%
+ \else
+ \endgroup
+ \def\collect@cell@next{\collect@cell@arg{{#1}}}%
+ \fi
+ \collect@cell@next
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\collect@cell@addarg}
+% \begin{macrocode}
+\def\collect@cell@addarg#1{%
+ \expandafter\expandafter\expandafter\collect@cell@toks
+ \expandafter\expandafter\expandafter
+ {\expandafter\the\expandafter\collect@cell@toks\collect@cell@spaces#1}%
+ \let\collect@cell@spaces\empty
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\collect@cell@arg}
+% \begin{macrocode}
+\def\collect@cell@arg#1{%
+ \ifx\collect@cell@lettoken\\
+ \def\collect@cell@next{\collect@cell@end#1}%
+ \else
+ \ifx\collect@cell@lettoken\unskip
+ \def\collect@cell@next{%
+ \@ifnextchar\endcollectcell
+ {\collect@cell@end#1}%
+ {\collect@cell@addarg{#1}\collect@cell@look}%
+ }%
+ \else
+ \collect@cell@addarg{#1}%
+ \def\collect@cell@next{\collect@cell@look}%
+ \fi
+ \fi
+ \collect@cell@next
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \Finale
+% \iffalse
+%</package>
+% \fi
+
diff --git a/Master/texmf-dist/source/latex/collcell/collcell.ins b/Master/texmf-dist/source/latex/collcell/collcell.ins
new file mode 100644
index 00000000000..4f8eba3b565
--- /dev/null
+++ b/Master/texmf-dist/source/latex/collcell/collcell.ins
@@ -0,0 +1,49 @@
+%% $Id: collcell.ins 2128 2011-02-04 11:33:51Z martin $
+\input docstrip.tex
+\preamble
+
+Copyright (C) 2011 by Martin Scharrer <martin@scharrer-online.de>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008/05/04 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Martin Scharrer.
+
+This work consists of the files collcell.dtx, collcell.ins
+and the derived file collcell.sty.
+
+\endpreamble
+\keepsilent
+
+\generate{%
+ \file{collcell.sty}{\from{collcell.dtx}{package}}%
+}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* collcell.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file collcell.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
+
+%% vim: ft=tex
+
diff --git a/Master/texmf-dist/tex/latex/collcell/collcell.sty b/Master/texmf-dist/tex/latex/collcell/collcell.sty
new file mode 100644
index 00000000000..8bfad2e0d8f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/collcell/collcell.sty
@@ -0,0 +1,103 @@
+%%
+%% This is file `collcell.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% collcell.dtx (with options: `package')
+%%
+%% Copyright (C) 2011 by Martin Scharrer <martin@scharrer-online.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files collcell.dtx, collcell.ins
+%% and the derived file collcell.sty.
+%%
+%%^^A $Id: collcell.dtx 2129 2011-02-04 11:36:33Z martin $
+\ProvidesPackage{collcell}
+ [2011/02/04 v0.1 Collect the content of a tabular cell]
+\newtoks\collect@cell@toks
+\newenvironment{collectcell}{}{}
+\def\collectcell#1#2\ignorespaces{%
+ \collect@cell@toks{}%
+ \let\collect@cell@spaces\empty
+ \def\collect@cell@end{%
+ \expandafter\scantokens\expandafter
+ {\expandafter#1\expandafter{\the\collect@cell@toks}}%
+ }
+ \def\collect@cell@next{\collect@cell@look}%
+ \collect@cell@next
+}
+\def\endcollectcell{\@gobble{endcollectcell}}
+\def\collect@cell@look{%
+ \futurelet\collect@cell@lettoken\collect@cell@look@
+}
+\begingroup
+\def\:{\collect@cell@eatspace}
+\expandafter\gdef\: {\collect@cell@look}
+\endgroup
+\def\collect@cell@look@{%
+ \ifx\collect@cell@lettoken\@sptoken
+ \edef\collect@cell@spaces{\collect@cell@spaces\space}%
+ \def\collect@cell@next{\collect@cell@eatspace}%
+ \else
+ \ifx\collect@cell@lettoken\bgroup
+ \def\collect@cell@next{\collect@cell@group}%
+ \else
+ \def\collect@cell@next{\collect@cell@arg}%
+ \fi
+ \fi
+ \collect@cell@next
+}
+\def\collect@cell@group#1{%
+ \begingroup
+ \def\@tempa{#1}%
+ \def\@tempb{\bgroup}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \def\collect@cell@next{\collect@cell@arg\bgroup}%
+ \else
+ \endgroup
+ \def\collect@cell@next{\collect@cell@arg{{#1}}}%
+ \fi
+ \collect@cell@next
+}
+\def\collect@cell@addarg#1{%
+ \expandafter\expandafter\expandafter\collect@cell@toks
+ \expandafter\expandafter\expandafter
+ {\expandafter\the\expandafter\collect@cell@toks\collect@cell@spaces#1}%
+ \let\collect@cell@spaces\empty
+}
+\def\collect@cell@arg#1{%
+ \ifx\collect@cell@lettoken\\
+ \def\collect@cell@next{\collect@cell@end#1}%
+ \else
+ \ifx\collect@cell@lettoken\unskip
+ \def\collect@cell@next{%
+ \@ifnextchar\endcollectcell
+ {\collect@cell@end#1}%
+ {\collect@cell@addarg{#1}\collect@cell@look}%
+ }%
+ \else
+ \collect@cell@addarg{#1}%
+ \def\collect@cell@next{\collect@cell@look}%
+ \fi
+ \fi
+ \collect@cell@next
+}
+
+\endinput
+%%
+%% End of file `collcell.sty'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 43f626b171f..e4f597b9f36 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -84,7 +84,7 @@ my @TLP_working = qw(
clock clrscode cm-super cm-unicode
cmap cmbright cmcyr cmdstring cmdtrack cmll cmpica cmsd cmtiup
codedoc codepage
- collref colordoc colorinfo colorsep colortab colortbl colorwav
+ collcell collref colordoc colorinfo colorsep colortab colortbl colorwav
combelow combine combinedgraphics comfortaa comma commath comment
compactbib
complexity comprehensive computational-complexity
diff --git a/Master/tlpkg/tlpsrc/collcell.tlpsrc b/Master/tlpkg/tlpsrc/collcell.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/collcell.tlpsrc
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 71bfff510a5..7280a2c1410 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -103,6 +103,7 @@ depend cmdtrack
depend cmsd
depend codedoc
depend codepage
+depend collcell
depend colordoc
depend colorinfo
depend colortab