0

For several years I have used the envlab package for producing labels for envelopes. Now I get peculiar results when normally I would expect 14 labels to fill an A4 sheet they now occupy an area approximately 10 by 12 mm. I am using TeXlive 2017 with all packages up to date as of 2 hours ago.

For convenience I keep all the address data in a file addressdata.tex which I \input to a file like xmaslabels.tex for generating the labels for our Xmas card list.

I have tried to concatenate these two kinds of files into one MWE as below (hopefully without any typos):

% envlabprobmwe.tex
\documentclass[12pt,a4paper]{letter}
\usepackage[avery5160label,noprintbarcodes,nocapaddress]{envlab}
\SetLabel{3.85in}{1.4in}{0.6in}{0.1in}{2}{7}%% Avery MP7163 labels
\let\oldPrintLabel\PrintLabel
\renewcommand{\PrintLabel}[1]{\fbox{\oldPrintLabel{#1}}}% box labels

%% \mlabel{From}{To}
\newcommand{\add}[5]{\mbox{}\mlabel{}}{#1\\#2}}

%% Names and address data

\newcommand*{\Alf{\add{Alfred}% name
  {Warwickshire}% address
  {Phone}% phone number
  {Email}% email address
  {}% other information
  }

\newcommand*{\Joe}{\add{Joseph}%
  {Arithma}%
  {Phone \\ Mobile}%
  {Email \\ Facebook}%
  {Children}%
}

\startlabels

\begin{document}
%% print labels, two columns of seven --- 14 per page
\Alf
\Joe
\end{document}

When I process this with pdflatex and print it the result is an unreadable blob of text at the top center of the sheet, about 10mm wide.

Unless I can, with your help, get this sorted out my wife (and hence myself) will not be happy.

1
  • It would take a lot of work to set up, but you could handle any label sheet format using flowfram and use \newframe to jump to the next label. Dec 3, 2017 at 17:07

1 Answer 1

2

Your code did not compile because some curly brackets were misplaced (for instance in the definition of \Alf). Once this is fixed, some labels are indeed being typeset.

\documentclass[12pt,a4paper]{letter}
\usepackage[avery5160label,noprintbarcodes,nocapaddress]{envlab}
\let\oldPrintLabel\PrintLabel
\renewcommand{\PrintLabel}[1]{\fbox{\oldPrintLabel{#1}}}% box labels

%% \mlabel{From}{To}
\newcommand{\add}[5]{\mbox{}\mlabel{}{#1\\#2}}

%% Names and address data

\newcommand*{\Alf}{\add{Alfred}% name
  {Warwickshire}% address
  {Phone}% phone number
  {Email}% email address
  {}% other information
  }

\newcommand*{\Joe}{\add{Joseph}%
  {Arithma}%
  {Phone \\ Mobile}%
  {Email \\ Facebook}%
  {Children}%
}


\begin{document}
\SetLabel{3.85in}{1.4in}{0.6in}{0.1in}{2pt}{7}{7}%% Avery MP7163 labels
\startlabels
%% print labels, two columns of seven --- 14 per page
\Alf
\Joe
\end{document}

enter image description here

EDIT: I realized that \SetLabel in the MNWE (minimal nonworking example) came with to few arguments. I fixed that and it seems to be working now.

1
  • Thank you for your answer. Did you actually print the result on paper? I tried your code but still got the tiny printed output. I have discovered that the \startlabels command must come after the \begin{document}. The \SetLabel, which you commented out, was to specify the appropriate dimensions of the label sheet I want to print on (an English not USA sized sheet). If you want to change your answer I'll accept it. Dec 3, 2017 at 18:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .