diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/scontents/scontents.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/scontents/scontents.tex | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/scontents/scontents.tex b/Master/texmf-dist/tex/generic/scontents/scontents.tex new file mode 100644 index 00000000000..35fc8e406ec --- /dev/null +++ b/Master/texmf-dist/tex/generic/scontents/scontents.tex @@ -0,0 +1,239 @@ +%% +%% This is file `scontents.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scontents.dtx (with options: `loader,plain') +%% +%% Copyright (C) 2019 by Pablo González L <pablgonz@educarchile.cl> +%% +%% 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 +%% 2005/12/01 or later. +%% +%% This work is "maintained" (as per the LPPL maintenance status) +%% by Pablo González Luengo. +%% +%% This work consists of the files scontents.dtx and +%% scontents.ins, +%% and the derived files scontents.sty, +%% scontents.tex, +%% t-scontents.mkvi and +%% scontents-code.tex. +%% +\def\ScontentsFileDate{2019-10-24}% +\def\ScontentsFileVersion{1.5}% +\def\ScontentsFileDescription{Stores LaTeX contents in memory or files}% +\input expl3-generic.tex +\ExplSyntaxOn +\tl_gset:cx { ver @ scontents . sty } { \ScontentsFileDate\space + v\ScontentsFileVersion\space \ScontentsFileDescription } +\iow_log:x { Package: ~ scontents ~ \use:c { ver @ scontents . sty } } +\msg_gset:nnn { scontents } { already-loaded } + { The~`scontents'~package~is~already~loaded.~Aborting~input~\msg_line_context:. } +\cs_if_exist:NT \__scontents_rescan_tokens:n + { + \msg_warning:nn { scontents } { already-loaded } + \ExplSyntaxOff + \file_input_stop: + } +\tl_new:N \g__scontents_end_verbatimsc_tl +\tl_gset_rescan:Nnn + \g__scontents_end_verbatimsc_tl + { + \char_set_catcode_other:N \\ + } + { \endverbatimsc } +\tl_const:Nx \c__scontents_end_env_tl + { + \c_backslash_str + end + scontents + } +\file_input:n { scontents-code.tex } +\cs_new:Npn \__scontents_format_case:nnn #1 #2 #3 + {#2} % Plain/Generic +\keys_define:nn { scontents } + { verb-font .initial:n = \tt } +\seq_new:N \l__scontents_compat_seq +\cs_new_protected:Npn \__scontents_compat_redefine:Npn #1 + { + \seq_put_right:Nn \l__scontents_compat_seq {#1} + \cs_set_eq:cN { __scontents_saved_\cs_to_str:N #1: } #1 + \cs_new_protected:Npn #1 + } +\cs_new_protected:Npn \__scontents_compat_restore: + { \seq_map_function:NN \l__scontents_compat_seq \__scontents_compat_restore:N } +\cs_new_protected:Npn \__scontents_compat_restore:N #1 + { + \cs_set_eq:Nc #1 { __scontents_saved_\cs_to_str:N #1: } + \cs_undefine:c { __scontents_saved_\cs_to_str:N #1: } + } +\cs_generate_variant:Nn \__scontents_compat_redefine:Npn { c } +\cs_new_protected:Npn \__scontents_optarg:nn #1 #2 + { \peek_charcode_ignore_spaces:NTF [ {#1} {#1[#2]} } +\cs_new_protected:Npn \__scontents_stararg:nn #1 #2 + { \peek_charcode_remove_ignore_spaces:NTF * {#1} {#2} } +\__scontents_compat_redefine:Npn \RequirePackage + { \__scontents_optarg:nn { \__scontents_require_auxi:wn } { } } +\cs_new_protected:Npn \__scontents_require_auxi:wn [#1] #2 + { \__scontents_optarg:nn { \__scontents_require_auxii:wnw [{#1}]{#2} } { } } +\cs_new:Npn \__scontents_zap_space:ww #1~#2 + { + #1 \if_meaning:w #2 \q_mark + \exp_after:wN \use_none:n + \else: + \exp_after:wN \__scontents_zap_space:ww + \fi: #2 + } +\cs_new_protected:Npn \__scontents_require_auxii:wnw [#1] #2 [#3] + { + \tl_set:Nx \l__scontents_temp_tl { \__scontents_zap_space:ww #2 ~ \q_mark } + \clist_map_function:NN \l__scontents_temp_tl \__scontents_require_auxiii:n + } +\cs_new_protected:Npn \__scontents_require_auxiii:n #1 + { \str_if_eq:eeF {expl3} {#1} { \msg_error:nnn { scontents } { invalid-package } {#1} } } +\msg_new:nnn { scontents } { invalid-package } + { Package~`#1'~invalid~in~scontents.~This~is~an~error~in~scontents. } +\__scontents_compat_redefine:cpn { @ifpackagelater } #1 + { \exp_args:Nc \__scontents_package_later_aux:Nn { ver@#1.sty } } +\cs_new_protected:Npn \__scontents_package_later_aux:Nn #1 #2 + { + \int_compare:nNnTF + { \exp_after:wN \__scontents_parse_version:w #1 //00 \q_mark } < + { \exp_after:wN \__scontents_parse_version:w #2 //00 \q_mark } + } +\cs_new:Npn \__scontents_parse_version:w #1 { \__scontents_parse_version_auxi:w 0#1 } +\cs_new:Npn \__scontents_parse_version_auxi:w #1/#2/#3#4#5 \q_mark + { \__scontents_parse_version_auxii:w #1-#2-#3#4 \q_mark } +\cs_new:Npn \__scontents_parse_version_auxii:w #1-#2-#3#4#5 \q_mark + { \tl_if_blank:nF {#2} {#1} #2 #3 #4 } +\__scontents_compat_redefine:Npn \ProvidesExplPackage #1 #2 #3 #4 + { \__scontents_provides_aux:nn {#1} { #2 \ifx\relax#3\relax\else v#3\space\fi #4 } } +\cs_new_protected:Npn \__scontents_provides_aux:nn #1 #2 + { + \tl_gset:cx { ver@#1.sty } {#2} + \iow_log:n { Package~#1:~#2 } + \ExplSyntaxOn + } +\__scontents_compat_redefine:Npn \DeclareOption + { \__scontents_stararg:nn { \use_none:n } { \use_none:nn } } +\__scontents_compat_redefine:Npn \ProcessOptions + { \__scontents_stararg:nn { } { } } +\int_set:Nn \l__scontents_tmpa_int { \char_value_catcode:n { `\@ } } +\char_set_catcode_letter:N \@ +\exp_after:wN +\ExplSyntaxOff +\file_input:n { xparse.sty } +\ExplSyntaxOn +\char_set_catcode:nn { `\@ } { \l__scontents_tmpa_int } +\__scontents_compat_restore: +\NewDocumentEnvironment { scontents } { } + { + \group_begin: + \__scontents_scontents_env_begin: + } + { + \__scontents_scontents_env_end: + \group_end: + } +\NewDocumentCommand \__scontents_grab_optional:w { r[] } + { \__scontents_grab_optional:n {#1} } +\bool_new:N \l__scontents_temp_bool +\cs_new_protected:Npn \verbatim + { \__scontents_verbatim_aux: \frenchspacing \__scontents_vobeyspaces: \__scontents_xverb: } +\cs_new_protected:Npn \__scontents_verbatim_aux: + { + \skip_vertical:N \parskip + \int_set:Nn \parindent { 0pt } + \skip_set:Nn \parfillskip { 0pt plus 1fil } + \int_set:Nn \parskip { 0pt plus0pt minus0pt } + \tex_par:D + \bool_set_false:N \l__scontents_temp_bool + \cs_set:Npn \par + { + \bool_if:NTF \l__scontents_temp_bool + { + \mode_leave_vertical: + \null + \tex_par:D + \penalty \interlinepenalty + } + { + \bool_set_true:N \l__scontents_temp_bool + \mode_if_horizontal:T + { \tex_par:D \penalty \interlinepenalty } + } + } + \cs_set_eq:NN \do \char_set_catcode_other:N + \dospecials \obeylines + \tl_use:N \l__scontents_verb_font_tl + \cs_set_eq:NN \do \__scontents_do_noligs:N + \__scontents_nolig_list: + \tex_everypar:D \exp_after:wN + { \tex_the:D \tex_everypar:D \tex_unpenalty:D } + } +\cs_new_protected:Npn \__scontents_nolig_list: + { \do\`\do\<\do\>\do\,\do\'\do\- } +\cs_new_protected:Npn \__scontents_vobeyspaces: + { \__scontents_set_active_eq:NN \ \__scontents_xobeysp: } +\cs_new_protected:Npn \__scontents_xobeysp: + { \mode_leave_vertical: \nobreak \ } +\cs_if_exist:NF \dospecials + { + \cs_new:Npn \dospecials + { \seq_map_function:NN \l_char_special_seq \do } + } +\NewDocumentCommand { \Scontents }{ !s !O{} } + { \__scontents_Scontents_internal:nn {#1} {#2} } +\NewDocumentCommand { \__scontents_verb_arg:w } { +v } + { \__scontents_verb_arg_internal:n {#1} } +\NewDocumentCommand { \getstored } { O{1} m } + { \__scontents_getstored_internal:nn {#1} {#2} } +\NewDocumentCommand { \foreachsc } { o m } + { \__scontents_foreachsc_internal:nn {#1} {#2} } +\NewDocumentCommand { \typestored } { o m } + { \__scontents_typestored_internal:nn {#1} {#2} } +\use:x + { + \cs_new_protected:Npn \exp_not:N \__scontents_xverb:w + ##1 \g__scontents_end_verbatimsc_tl + { ##1 \exp_not:N \endverbatimsc } + } +\NewDocumentEnvironment { verbatimsc } { } + { + \group_begin: + \verbatim + } + { + \group_end: + } +\group_begin: + \char_set_catcode_active:n { `\* } + \cs_new_protected:Npn \__scontents_plain_disable_outer_par: + { + \group_begin: + \char_set_lccode:nn { `\* } { `\^^L } + \tex_lowercase:D { \group_end: + \tex_let:D * \scan_stop: + } + } +\group_end: +\NewDocumentCommand { \setupsc } { +m } + { \keys_set:nn { scontents } {#1} } +\NewDocumentCommand { \meaningsc } { o m } + { \__scontents_meaningsc_internal:nn {#1} {#2} } +\NewExpandableDocumentCommand { \countsc } { m } + { \seq_count:c { g__scontents_name_#1_seq } } +\NewDocumentCommand { \cleanseqsc } { m } + { \seq_clear_new:c { g__scontents_name_#1_seq } } +\ExplSyntaxOff +\endinput +%% +%% End of file `scontents.tex'. |