summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/makelabels
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-08-16 21:02:37 +0000
committerKarl Berry <karl@freefriends.org>2021-08-16 21:02:37 +0000
commitbd9cfec674815d09ac10cda49d49c2885cb23172 (patch)
treed1214272b63ebf4877252c38d895f69c87a1a7ce /Master/texmf-dist/tex/latex/makelabels
parent4f7047e6564e59b28109c6abfddd70158e07d7d9 (diff)
makelabels (16aug21)
git-svn-id: svn://tug.org/texlive/trunk@60255 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/makelabels')
-rw-r--r--Master/texmf-dist/tex/latex/makelabels/makelabels.lco282
1 files changed, 282 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/makelabels/makelabels.lco b/Master/texmf-dist/tex/latex/makelabels/makelabels.lco
new file mode 100644
index 00000000000..d1954317728
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/makelabels/makelabels.lco
@@ -0,0 +1,282 @@
+%%
+%% This is file `makelabels.lco',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% makelabels.dtx (with options: `lco')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from makelabels.lco.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file makelabels.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+\ProvidesFile{makelabels.lco}
+ [2021/08/14 v1.0 provide labels with scrlttr2 and scrletter]
+\newcommand*{\makelabels@fatal@format@error}{%
+ \GenericError{(makelabels)\@spaces\@spaces\@spaces\@spaces}%
+ {Fatal makelabels.lco error: LaTeX too old.}%
+ {See the makelabels.lco documentation for explanation.}%
+ {At least LaTeX 2020/10/01 is needed}%
+ \endinput
+}
+\@ifundefined{IfFormatAtLeastTF}{%
+ \makelabels@fatal@format@error
+}{%
+ \IfFormatAtLeastTF{2020/10/01}{}{\makelabels@fatal@format@error}%
+}
+\ExplSyntaxOn
+\msg_new:nnn { makelabels } { onlypreamble }
+ { Sorry,~but~`makelabels.lco'~can~be~used~in~the~document~preamble~only. }
+\if@atdocument
+ \msg_fatal:nnn { makelabels } { onlypreamble }
+\fi
+\cs_new_nopar:Nn \makelabels_add_label_type:nn
+ {
+ \prop_new:c { g__makelabels_label_type_#1_prop }
+ \prop_set_from_keyval:cn { g__makelabels_label_type_#1_prop } { #2 }
+ }
+\makelabels_add_label_type:nn { avery_5162 }
+ {
+ sheet height = 11 in,
+ sheet width = 8.5 in,
+ sheet top margin = 0.845 in,
+ sheet bottom margin = 0.845 in,
+ sheet left margin = 0.167 in,
+ sheet right margin = 0.167 in,
+ label height = 1.330 in,
+ label width = 4 in,
+ horizontal distance = 0.166 in,
+ vertical distance = 0 pt,
+ label left margin = 5 pt,
+ label right margin = 5 pt,
+ label top margin = 0 pt,
+ label bottom margin = 0 pt,
+ rows = 7,
+ columns = 2,
+ }
+\NewExpandableDocumentCommand \__makelabels_Ifkomavarempty { s m m m }
+ {
+ \IfBooleanTF { #1 }
+ {
+ \exp_args:Nc \__makelabels_if_empty_var_or_name:NTF{scr@#2@name}{#3}{#4}
+ }
+ {
+ \exp_args:Nc \__makelabels_if_empty_var_or_name:NTF{scr@#2@var}{#3}{#4}
+ }
+ }
+\prg_new_conditional:Nnn \__makelabels_if_empty_var_or_name:N { p, T, F, TF }
+ {
+ \if_cs_exist:N #1
+ \if_meaning:w #1 \c_empty_tl
+ \prg_return_true: \else: \prg_return_false: \fi:
+ \else:
+ \prg_return_false:
+ \fi:
+ }
+\NewExpandableDocumentCommand \__makelabels_usekomavar { s o m }
+ {
+ \IfValueTF{#2}{#2}{\use:e}{\cs:w scr@#3@\IfBooleanTF{#1}{name}{var}\cs_end:}
+ }
+\AtEndLetter
+ {
+ \if@filesw
+ \group_begin:
+ \cs_set:Npn \Ifkomavarempty { \__makelabels_Ifkomavarempty }
+ \cs_set:Npn \usekomavar { \__makelabels_usekomavar }
+ \iow_now:Nx \@mainaux
+ {
+ \token_to_str:N \@mlabel
+ \iow_char:N \{ \usekomavar{backaddress} \iow_char:N \}
+ \iow_char:N \{ \usekomavar{toname} \iow_char:N \\ \iow_char:N \\
+ \usekomavar{toaddress} \iow_char:N \}
+ }
+ \group_end:
+ \fi
+ }
+\cs_new:Npn \makelabels
+ {
+ \hook_gput_code:nnn { begindocument } { makelabels.lco }
+ {
+ \cs_set_eq:NN \@startlabels \startlabels
+ \cs_set_eq:NN \@mlabel \mlabel
+ \cs_set_eq:NN \@mlabeltype \mlabeltype
+ \if@filesw
+ \iow_now:Nn \@mainaux { \@startlabels }%
+ \fi
+ }
+ \hook_gput_code:nnn { enddocument / afterlastpage } { makelabels.lco }
+ {
+ \if@filesw
+ \iow_now:Nn \@mainaux { \clearpage } %
+ \fi
+ }
+ }
+\@onlypreamble \makelabels
+\newcommand*{\selectlabeltype}[2][1]{
+ \cs_if_exist:cTF { g__makelabels_label_type_#2_prop }
+ {
+ \if@filesw
+ \iow_now:Nn \@mainaux
+ {
+ \@mlabeltype { #1 } { #2 }
+ }
+ \fi
+ }
+ {
+ \msg_error:nnn { makelabels } { unkown label type } { #1 }
+ }
+}
+\hook_gput_code:nnn { begindocument } { makelabels.lco }
+ {
+ \if@filesw
+ \iow_now:Nn \@mainaux { \providecommand* { \@startlabels } { } }
+ \iow_now:Nn \@mainaux { \providecommand* { \@mlabel }[2] { } }
+ \iow_now:Nn \@mainaux { \providecommand* { \@mlabeltype } [ 2 ] { } }
+ \fi
+ }
+\int_new:N \g__makelabels_label_repeat_int
+\int_set_eq:NN \g__makelabels_label_repeat_int \c_one_int
+\str_new:N \g__makelabels_label_type_str
+\str_set:Nn \g__makelabels_label_type_str { avery_5162 }
+\cs_new:Npn \mlabeltype #1#2
+ {
+ \int_set:Nn \g__makelabels_label_repeat_int { #1 }
+ \str_set:Nn \g__makelabels_label_type_str { #2 }
+ }
+\cs_new:Npn \startlabels
+ {
+ \clearpage
+ \if@twocolumn \onecolumn \fi
+ \pagestyle{empty}
+ \cs_set_eq:NN \@texttop \relax
+ \dim_set_eq:NN \headheight \c_zero_dim
+ \dim_set_eq:NN \headsep \c_zero_dim
+ \dim_set_eq:NN \lineskip \c_zero_dim
+ \__makelabels_prop_get_dim:nN { sheet height } \paperheight
+ \__makelabels_prop_get_dim:nN { sheet top margin } \topmargin
+ \dim_sub:Nn \topmargin { 1in }
+ \__makelabels_prop_get_dim:nN { sheet width } \paperwidth
+ \__makelabels_prop_get_dim:nN { sheet left margin } \oddsidemargin
+ \dim_sub:Nn \oddsidemargin { 1in }
+ \dim_set_eq:NN \evensidemargin \oddsidemargin
+ \__makelabels_prop_get_int:nN { rows } \g__makelabels_rows_int
+ \__makelabels_prop_get_int:nN { columns } \g__makelabels_columns_int
+ \__makelabels_prop_get_dim:nN { label height } \g__makelabels_label_height_dim
+ \__makelabels_prop_get_dim:nN { label width } \g__makelabels_label_width_dim
+ \__makelabels_prop_get_dim:nN { vertical distance } \g__makelabels_vertical_skip_dim
+ \__makelabels_prop_get_dim:nN { horizontal distance } \columnsep
+ \dim_set:Nn \textheight
+ {
+ ( \g__makelabels_label_height_dim + \g__makelabels_vertical_skip_dim ) * \g__makelabels_rows_int
+ - \g__makelabels_vertical_skip_dim
+ }
+ \dim_set:Nn \textwidth
+ {
+ ( \g__makelabels_label_width_dim + \columnsep ) * \g__makelabels_columns_int
+ - \columnsep
+ }
+ \__makelabels_prop_get_dim:nN { label top margin } \g__makelabels_label_top_margin_dim
+ \__makelabels_prop_get_dim:nN { label bottom margin } \g__makelabels_label_bottom_margin_dim
+ \__makelabels_prop_get_dim:nN { label left margin } \g__makelabels_label_left_margin_dim
+ \__makelabels_prop_get_dim:nN { label right margin } \g__makelabels_label_right_margin_dim
+ \activateareas
+ \fontsize{10pt}{12pt}\selectfont
+ \dim_set_eq:NN \boxmaxdepth \c_max_dim
+ \int_set_eq:NN \g__makelabels_row_int \c_one_int
+ \int_set_eq:NN \g__makelabels_column_int \c_one_int
+ \dim_set:Nn \g__makelabels_label_height_effective_dim
+ {
+ \g__makelabels_label_height_dim
+ - \g__makelabels_label_top_margin_dim
+ - \g__makelabels_label_bottom_margin_dim
+ }
+ \dim_set:Nn \g__makelabels_label_width_effective_dim
+ {
+ \g__makelabels_label_width_dim
+ - \g__makelabels_label_left_margin_dim
+ - \g__makelabels_label_right_margin_dim
+ }
+ \raggedright
+ }
+
+\int_new:N \g__makelabels_rows_int
+\int_new:N \g__makelabels_columns_int
+\int_new:N \g__makelabels_row_int
+\int_new:N \g__makelabels_column_int
+\dim_new:N \g__makelabels_label_height_dim
+\dim_new:N \g__makelabels_label_width_dim
+\dim_new:N \g__makelabels_label_top_margin_dim
+\dim_new:N \g__makelabels_label_bottom_margin_dim
+\dim_new:N \g__makelabels_label_left_margin_dim
+\dim_new:N \g__makelabels_label_right_margin_dim
+\dim_new:N \g__makelabels_label_height_effective_dim
+\dim_new:N \g__makelabels_label_width_effective_dim
+\dim_new:N \g__makelabels_vertical_skip_dim
+\msg_new:nnn { makelabels } { undefined property }
+ { Property~`#1'~undefined~for~label~type~`\g__makelabels_label_type_str'.~
+ Value~#2~assumed. }
+
+\cs_new:Nn \__makelabels_prop_get_dim:nN
+ {
+ \prop_get:cnNTF { g__makelabels_label_type_ \g__makelabels_label_type_str _prop } { #1 } \l_tmpa_tl
+ { \dim_set:Nn #2 \l_tmpa_tl }
+ {
+ \msg_warning:nnnn { makelabels } { undefined property } { #1 } { zero }
+ \dim_set_eq:NN #2 \c_zero_dim
+ }
+ }
+
+\cs_new:Nn \__makelabels_prop_get_int:nN
+ {
+ \prop_get:cnNTF { g__makelabels_label_type_ \g__makelabels_label_type_str _prop } { #1 } \l_tmpa_tl
+ { \int_set:Nn #2 \l_tmpa_tl }
+ {
+ \msg_warning:nnnn { makelabels } { undefined property } { #1 } { one }
+ \int_set_eq:NN #2 \c_one_int
+ }
+ }
+\cs_new:Nn \__makelabels_print_one_label:nn
+ {
+ \parbox[b][\g__makelabels_label_height_dim]{\g__makelabels_label_width_dim}{
+ \skip_vertical:N \g__makelabels_label_top_margin_dim
+ \skip_horizontal:N \g__makelabels_label_left_margin_dim
+ \parbox[c][\g__makelabels_label_height_effective_dim]{\g__makelabels_label_width_effective_dim}{
+ \ignorespaces #2
+ }
+ \skip_vertical:N \g__makelabels_label_bottom_margin_dim
+ }
+ \int_incr:N \g__makelabels_column_int
+ \if_int_compare:w \g__makelabels_column_int > \g__makelabels_columns_int
+ \par
+ \skip_vertical:N \g__makelabels_vertical_skip_dim
+ \int_set_eq:NN \g__makelabels_column_int \c_one_int
+ \int_incr:N \g__makelabels_row_int
+ \if_int_compare:w \g__makelabels_row_int > \g__makelabels_rows_int
+ \clearpage
+ \int_set_eq:NN \g__makelabels_row_int \c_one_int
+ \fi:
+ \else:
+ \skip_horizontal:N \columnsep
+ \fi:
+ }
+\cs_new:Npn \mlabel #1#2
+ {
+ \int_step_inline:nnn { 1 } { \g__makelabels_label_repeat_int }
+ {
+ \__makelabels_print_one_label:nn { #1 } { #2 }
+ }
+ }
+\ExplSyntaxOff
+\endinput
+%%
+%% End of file `makelabels.lco'.