# Make single business card in LaTeX of custom size

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)

• There is a bizcard package. – musarithmia Sep 8 '17 at 17:41
• Which has exactly this format. Other than this, you also have the ticket package. – Bernard Sep 8 '17 at 19:02

## 1 Answer

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}