2

How to make such: https://tex.stackexchange.com/a/4698/7128 or other business card in custom size?

(e.g. Dymo 450 LabelWriter has Appointment Cards roll with 51x89 mm size each)

Is there option to easily rotate rendering , so it's landscape? (as printer accepts printouts in landscape mode)

Bernard
  • 271,350

1 Answers1

2

You can build a box using a minipage, containing the desired information and formatted as you like it. Then you can make a loop to print these boxes repeatedly on the page, which is good if you buy business-card printer sheets from an office supply store. Here's a basic version.

\documentclass{article}
\usepackage[hmargin=0.75in,vmargin=0.5in]{geometry}
\pagestyle{empty}
\setlength{\parindent}{0pt}
\setlength{\baselineskip}{0pt}

\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{microtype}

\newcommand{\name}{Name}
\newcommand{\position}{Title}
\newcommand{\institution}{Institution}
\newcommand{\email}{email@example.com}

\newcommand{\namefont}[1]{{\Large\textsc{#1}}}
\newcommand{\urlfont}[1]{{\small\textsf{#1}}}

\newcommand{\card}{%
    \begin{minipage}[c][2in][c]{3.5in}
        \vfil
        \begin{tabular}{l}
            \namefont{\name}\\
            \position\\[1ex]
            \institution\\
        \end{tabular}
        \vfil
        \hfill\urlfont{\email\ }
    \end{minipage}%
}

\newcommand{\printgrid}[3]{% args: rows, columns, contents
    \newcount\row
    \newcount\col
    \row=#1
    \loop
        \col=#2
        {\loop
            #3%
            \advance\col by -1
            \ifnum\col > 0
        \repeat
        }
        \newline%
    \advance\row by -1
    \ifnum\row > 0
    \repeat
}



\begin{document}

\printgrid{5}{2}{\card}

\end{document}

enter image description here

musarithmia
  • 12,463