summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/conteq
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-07-17 22:38:26 +0000
committerKarl Berry <karl@freefriends.org>2015-07-17 22:38:26 +0000
commitf96a05fb5d050b38a4808a0f260c0ecee26b7fde (patch)
treed6f437ec53490c134127548c2c97ddd78360326f /Master/texmf-dist/tex/latex/conteq
parente49b1ec410f73a528d88a0a9d082b4eb259ab051 (diff)
conteq (17jul15)
git-svn-id: svn://tug.org/texlive/trunk@37868 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/conteq')
-rw-r--r--Master/texmf-dist/tex/latex/conteq/conteq.sty242
1 files changed, 121 insertions, 121 deletions
diff --git a/Master/texmf-dist/tex/latex/conteq/conteq.sty b/Master/texmf-dist/tex/latex/conteq/conteq.sty
index 68dbb6e6ce9..1b7f88a6de5 100644
--- a/Master/texmf-dist/tex/latex/conteq/conteq.sty
+++ b/Master/texmf-dist/tex/latex/conteq/conteq.sty
@@ -14,153 +14,154 @@
%% ----------------------------------------------------------------
%%
\NeedsTeXFormat{LaTeX2e}
-\RequirePackage{expl3}
+\RequirePackage{expl3}[2012/07/02]
\ProvidesExplPackage
{conteq} % Package name
- {2013/05/23} % Release date
- {0.1} % Release version
+ {2015/07/17} % Release date
+ {0.1.1} % Release version
{Various layouts for continued equalities} % Description
-
-
-
-
-
-
-
-
-
\RequirePackage{amsmath}
\RequirePackage{environ}
-
\msg_new:nnn
- {conteq}
- {empty}
- { \msg_warning_text:n{conteq}:~Empty~conteq~environment~\msg_line_context: }
+ { conteq }
+ { empty }
+ { Empty~conteq~environment~\msg_line_context: }
\msg_new:nnn
- {conteq}
- {ignoreddata}
- { \msg_warning_text:n{conteq}:~Ignored~text~\msg_line_context: }
+ { conteq }
+ { ignoreddata }
+ { Ignored~text~\msg_line_context: }
\msg_new:nnn
- {conteq}
- {undefinedlayout}
- { \msg_critical_text:n{conteq}:~Undefined~layout~``#1''~\msg_line_context: }
-
-\tl_new:N \l_conteq_default_layout_tl
-\tl_new:N \l_conteq_layout_tl
-\tl_new:N \l_conteq_body_tl
-\tl_new:N \l_conteq_lines_seq
-\tl_new:N \l_conteq_cells_seq
-\tl_new:N \l_conteq_head_tl
-\tl_new:N \l_conteq_lastline_tl
-\tl_new:N \l_conteq_rhs_tl
-\tl_new:N \l_conteq_expl_tl
-\tl_new:N \l_conteq_result_tl
-
-\cs_new_protected:Nn \conteq_set_default_layout:n {
- \tl_set:Nn \l_conteq_default_layout_tl {#1}
-}
-\cs_new_eq:NN \ConteqSetDefaultLayout \conteq_set_default_layout:n
-\cs_new_protected:Nn \conteq_define_layout:nnnnnnn {
- \cs_new_protected:cn {conteq_#1_begin:} { #2 }
- \cs_new_protected:cn {conteq_#1_lhs:n} { #3 }
- \cs_new_protected:cn {conteq_#1_rhs_only:n} { #4 }
- \cs_new_protected:cn {conteq_#1_rhs_expl:nn} { #5 }
- \cs_new_protected:cn {conteq_#1_nl:} { #6 }
- \cs_new_protected:cn {conteq_#1_end:} { #7 }
-}
-\cs_new_eq:NN \ConteqDefineLayout \conteq_define_layout:nnnnnnn
-\cs_new:Npn \conteq_args_once:Nn #1#2 {
- \exp_not:o {#1 {#2}}
-}
-\cs_generate_variant:Nn \conteq_args_once:Nn {NV}
+ { conteq }
+ { undefined layout }
+ { Undefined~layout~``#1''~\msg_line_context: }
+
+\tl_new:N \l__conteq_default_layout_tl
+\tl_new:N \l__conteq_layout_tl
+\tl_new:N \l__conteq_body_tl
+\tl_new:N \l__conteq_lines_seq
+\tl_new:N \l__conteq_cells_seq
+\tl_new:N \l__conteq_head_tl
+\tl_new:N \l__conteq_lastline_tl
+\tl_new:N \l__conteq_rhs_tl
+\tl_new:N \l__conteq_expl_tl
+\tl_new:N \l__conteq_result_tl
+
+\cs_new_protected:Nn \__conteq_set_default_layout:n
+ {
+ \tl_set:Nn \l__conteq_default_layout_tl {#1}
+ }
+\cs_new_eq:NN \ConteqSetDefaultLayout \__conteq_set_default_layout:n
+\tl_const:Nn \c__conteq_prefix_tl { __conteq_layouts }
-\cs_new:Npn \conteq_args_once:Nnn #1#2#3 {
- \exp_not:o {#1 {#2}{#3}}
-}
-\cs_generate_variant:Nn \conteq_args_once:Nnn {NVV}
-\cs_new_protected:Npn \conteq_print_line:Nnn #1#2#3 {
- \seq_set_split:Nnn \l_conteq_cells_seq { & } {#2}
- \seq_pop_left:NN \l_conteq_cells_seq \l_conteq_rhs_tl
- \tl_clear:N \l_conteq_expl_tl
- \seq_if_empty:NF \l_conteq_cells_seq {
- \seq_pop_left:NN \l_conteq_cells_seq \l_conteq_expl_tl
+\cs_new_protected:Nn \__conteq_define_layout:nnnnnnn
+ {
+ \cs_new_protected:cn { \c__conteq_prefix_tl _ #1 _begin: } { #2 }
+ \cs_new_protected:cn { \c__conteq_prefix_tl _ #1_lhs:n } { #3 }
+ \cs_new_protected:cn { \c__conteq_prefix_tl _ #1_rhs_only:n } { #4 }
+ \cs_new_protected:cn { \c__conteq_prefix_tl _ #1_rhs_expl:nn } { #5 }
+ \cs_new_protected:cn { \c__conteq_prefix_tl _ #1_nl: } { #6 }
+ \cs_new_protected:cn { \c__conteq_prefix_tl _ #1_end: } { #7 }
}
- \tl_if_blank:VTF \l_conteq_expl_tl {
- \tl_put_right:Nx #1 {
- \conteq_args_once:NV \conteq_rhs_only:n \l_conteq_rhs_tl
- }
- }{
- \tl_set:Nx \l_tmpa_tl {\exp_not:N \text {\exp_not:N \ConteqExplStyle {\exp_not:V \l_conteq_expl_tl}}}
- \tl_put_right:Nx #1 {
- \conteq_args_once:NVV \conteq_rhs_expl:nn \l_conteq_rhs_tl \l_tmpa_tl
- }
+\cs_new_eq:NN \ConteqDefineLayout \__conteq_define_layout:nnnnnnn
+\cs_new:Npn \__conteq_args_once:Nn #1#2
+ {
+ \exp_not:o { #1 {#2} }
+ }
+\cs_generate_variant:Nn \__conteq_args_once:Nn { NV }
+
+\cs_new:Npn \__conteq_args_once:Nnn #1#2#3
+ {
+ \exp_not:o { #1 { #2 }{ #3 } }
}
- \seq_if_empty:NF \l_conteq_cells_seq {
- \msg_warning:nn{conteq}{ignoreddata}
+\cs_generate_variant:Nn \__conteq_args_once:Nnn { NVV }
+\cs_new_protected:Npn \__conteq_print_line:Nnn #1#2#3
+ {
+ \seq_set_split:Nnn \l__conteq_cells_seq { & } { #2 }
+ \seq_pop_left:NN \l__conteq_cells_seq \l__conteq_rhs_tl
+ \tl_clear:N \l__conteq_expl_tl
+ \seq_if_empty:NF \l__conteq_cells_seq
+ {
+\seq_pop_left:NN \l__conteq_cells_seq \l__conteq_expl_tl
+ }
+ \tl_if_blank:VTF \l__conteq_expl_tl
+ {
+\tl_put_right:Nx #1
+ {
+ \__conteq_args_once:NV \__conteq_rhs_only:n \l__conteq_rhs_tl
}
- \tl_put_right:Nn #1 {#3}
+ }
+ {
+\tl_set:Nx \l_tmpa_tl { \exp_not:N \text { \exp_not:N \ConteqExplStyle { \exp_not:V \l__conteq_expl_tl } } }
+\tl_put_right:Nx #1
+ {
+ \__conteq_args_once:NVV \__conteq_rhs_expl:nn \l__conteq_rhs_tl \l_tmpa_tl
+ }
+ }
+ \seq_if_empty:NF \l__conteq_cells_seq
+{
+ \msg_warning:nn{conteq}{ignoreddata}
}
-\cs_generate_variant:Nn \conteq_print_line:Nnn {Nno}
-\cs_generate_variant:Nn \conteq_print_line:Nnn {NVn}
+ \tl_put_right:Nn #1 {#3}
+ }
+\cs_generate_variant:Nn \__conteq_print_line:Nnn { Nno, NVn }
-\NewEnviron{conteq}[1][\l_conteq_default_layout_tl]{
- \tl_set:NV \l_conteq_body_tl \BODY
+\NewEnviron{ conteq }[1][ \l__conteq_default_layout_tl ]{
+ \tl_set:NV \l__conteq_body_tl \BODY
- \tl_if_blank:oT \l_conteq_body_tl{
+ \tl_if_blank:oT \l__conteq_body_tl
+ {
\msg_warning:nn{conteq}{empty}
- }
-
- \tl_set:Nn \l_conteq_layout_tl {#1}
- \cs_if_exist:cTF {conteq_ \l_conteq_layout_tl _ begin:}{
- \clist_map_inline:nn{begin:, lhs:n,rhs_only:n, rhs_expl:nn, nl:, end:}{
- \cs_set_eq:cc {conteq_##1}{conteq_\l_conteq_layout_tl _##1}
}
- }{
- \msg_critical:nnx{conteq}{undefined layout}{\l_conteq_layout_tl}
- }
-
- \seq_set_split:NnV \l_conteq_lines_seq { \\ } \l_conteq_body_tl
- \tl_clear:N \l_conteq_result_tl
+ \tl_set:Nn \l__conteq_layout_tl { #1 }
+ \cs_if_exist:cTF { \c__conteq_prefix_tl _ \l__conteq_layout_tl _ begin: }
+ {
+ \clist_map_inline:nn{ begin:, lhs:n,rhs_only:n, rhs_expl:nn, nl:, end: }
+ {
+ \cs_set_eq:cc { __conteq_ ##1 }{ \c__conteq_prefix_tl _ \l__conteq_layout_tl _ ##1 }
+ }
+ }{
+ \msg_critical:nnx{conteq}{undefined layout}{\l__conteq_layout_tl}
+ }
+ \seq_set_split:NnV \l__conteq_lines_seq { \\ } \l__conteq_body_tl
- \int_case:nnn {\seq_count:N \l_conteq_lines_seq}
- {
- {1} {
- \tl_put_right:NV \l_conteq_result_tl \conteq_begin:
- \tl_put_right:NV \l_conteq_result_tl \l_conteq_body_tl
- \tl_put_right:NV \l_conteq_result_tl \conteq_end:
- }
- }{
+ \tl_clear:N \l__conteq_result_tl
- \seq_pop_left:NN \l_conteq_lines_seq \l_conteq_head_tl
- \seq_pop_right:NN \l_conteq_lines_seq \l_conteq_lastline_tl
- \tl_put_right:NV \l_conteq_result_tl \conteq_begin:
- \tl_put_right:Nx \l_conteq_result_tl {
- \conteq_args_once:NV \conteq_lhs:n \l_conteq_head_tl
+ \int_case:nnF { \seq_count:N \l__conteq_lines_seq }
+ {
+ {1}
+ {
+ \tl_put_right:Nx \l__conteq_result_tl { \exp_not:o \__conteq_begin: }
+ \tl_put_right:NV \l__conteq_result_tl \l__conteq_body_tl
+ \tl_put_right:Nx \l__conteq_result_tl { \exp_not:o \__conteq_end: }
+ }
}
- \seq_map_inline:Nn \l_conteq_lines_seq {
- \conteq_print_line:Nno \l_conteq_result_tl {##1} {\conteq_nl:}
+ {
+
+ \seq_pop_left:NN \l__conteq_lines_seq \l__conteq_head_tl
+ \seq_pop_right:NN \l__conteq_lines_seq \l__conteq_lastline_tl
+
+ \tl_put_right:Nx \l__conteq_result_tl { \exp_not:o \__conteq_begin: }
+ \tl_put_right:Nx \l__conteq_result_tl
+ {
+ \__conteq_args_once:NV \__conteq_lhs:n \l__conteq_head_tl
+ }
+ \seq_map_inline:Nn \l__conteq_lines_seq
+ {
+ \__conteq_print_line:Nno \l__conteq_result_tl { ##1 } { \__conteq_nl: }
+ }
+ \__conteq_print_line:NVn \l__conteq_result_tl \l__conteq_lastline_tl {}
+ \tl_put_right:Nx \l__conteq_result_tl { \exp_not:o \__conteq_end: }
}
- \conteq_print_line:NVn \l_conteq_result_tl \l_conteq_lastline_tl {}
- \tl_put_right:No \l_conteq_result_tl \conteq_end:
+ % Use this for debugging
+ %\tl_show:N \l__conteq_result_tl
+ \tl_use:N \l__conteq_result_tl
}
- % Use this for debugging
- %\tl_show:N \l_conteq_result_tl
- \tl_use:N \l_conteq_result_tl
-}
-
-
-
-
-
-
-
-
\ConteqDefineLayout
@@ -210,9 +211,8 @@
{\]}
\newcommand{\ConteqExplStyle}[1]{\{~#1~\}}
-
%%
-%% Copyright (C) 2013 by Joachim Breitner <mail@joachim-breitner.de>
+%% Copyright (C) 2013,2015 by Joachim Breitner <mail@joachim-breitner.de>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License (LPPL), either