Is there a good document template for making business cards?
5 Answers
The labels package is excellent for this, if you want to hand-craft the layout within the card.
Thanks, @MartinScharrer, for your excellent suggestion. Here's a small(?), imperfect example for people to play with:
% !TEX TS-program = xelatex
\documentclass[a4paper,9pt,oneside,landscape]{memoir}
\usepackage{fontspec}
\usepackage[newdimens]{labels}
\setmainfont[Numbers={OldStyle,Monospaced}]{Brill}
\setsansfont{Source Sans Pro Light}
\LabelCols=5%
\LabelRows=2%
\LeftPageMargin=13.0mm%
\RightPageMargin=8.0mm%
\TopPageMargin=16.5mm%
\BottomPageMargin=16.5mm%
\InterLabelColumn=1.5mm%
\InterLabelRow=5.0mm%
\LeftLabelBorder=6mm%
\RightLabelBorder=6mm%
\TopLabelBorder=7mm%
\BottomLabelBorder=6mm%
\numberoflabels=10%
\LabelGridtrue% <-- or \LabelGridfalse
\newcommand{\phonei}{+44\textendash2323\textendash323232}
\newcommand{\phoneii}{+44\textendash7999\textendash797979}
\newcommand{\emaili}{carlos@dickens.org}
%
\begin{document}
\addresslabel[\fboxsep=5mm]{%
{%
\raggedright%
{\Large\scshape Charles Dickens}\\[1ex]
\textit{Narrative Typography}\\
\vspace{4ex}
48 Doughty Street\\
Holborn\\
London\\
{\textsc{uk: wc1n 2lx}}\\
\vspace{4ex}%
\hrule%
\vspace{4ex}%
\hfill{\small\textit{\phonei}}\\%
\hfill{\small\textit{\phoneii}}\\[2ex]%
\hfill{\small\sffamily\textbf{\emaili}}%
}%
}
\end{document}
And here's a bit of the output. Note that I've included the label borders, which I wouldn't do for 'production':

A rather late, and probably obvious, afterthought: although PC printers for "amateurs" generally produce consistent positioning on the page, the absolute position of the PDF sheet when printed may not match the exact boundaries of the paper. So if you're using expensive precut visiting card sheets, print a proof first, to check alignment with the actual cards.
- 757,742
- 27,991
-
5It would be great if you could add a simple code example with a result image to your answer. Other people could use it as a starting point. – Martin Scharrer May 22 '13 at 11:49
-
Wouldn't it be cleaner to have one document for the actual card and then another which prints multiple on one sheet? Of course, respecting the backside of the card. – Frederick Nord Oct 12 '16 at 09:13
-
@FrederickNord If it were several different cards, all with the same format, yes. In my case it's just multiple copies of a single card, so the split into two files is bet extra work in this example. – Brent.Longborough Oct 12 '16 at 10:10
-
How do you define the size of a card? The "normal" business card size seems to be 85mm by 54mm. And they tend to have a backside. That doesn't seem to be possible to the package. – Frederick Nord Oct 12 '16 at 10:14
-
Well, I did it in this case by careful measuring on the card stock. For the back side, I defined another set of cards, as another page, and printed on the back, swapping the corresponding page margins to allow for the paper's going through the printer 'backwards' – Brent.Longborough Oct 12 '16 at 10:20
-
@DavidCarlisle Thank you for the fix. No idea what went wrong there... – Brent.Longborough May 18 '17 at 10:54
-
1@Brent.Longborough just one of 7000 postings corrupted by the site but not fixed by them so fixing a few at a time by hand https://tex.meta.stackexchange.com/questions/7168/double-backslashes-disappear-from-code – David Carlisle May 18 '17 at 11:05
-
@Brent.Longborough On a related note, how do I get the Brill font? – rainman Mar 06 '23 at 21:25
Packages like »bizcard« and »ticket« come to my mind. For some inspiration you can take a look at the code of the file "ex_vcard.tex" that is shipped with the latter one.
%%%%
%
% ticket.sty example file for visiting cards
%
%%%%
% use the corresponding paper size for your ticket definition
\documentclass[a4paper,10pt]{letter}
% load ticket.sty with the appropriate ticket definition
\usepackage[zw32010,crossmark]{ticket}
% load misc stuff
\usepackage{graphicx}
\usepackage{color}
% define something
\definecolor{uni}{rgb}{.3019,.7216,.7019}
% make your default ticket. \ticketdefault is somewhat like a background
% here it is empty, because we use different tickets for the front an
% the back of our card
\renewcommand{\ticketdefault}{%
}
% now what do you like to put in your ticket
\newcommand{\vcardfront}[5]{\ticket{%
\put( 63, 5){\includegraphics[width=40mm,angle=90,origin=bl]{ifmlogoc}}
\put( 63.2, 2){\color{uni}your logo}
\put( 5, 13){\color{uni}\line(1,0){56}}
\put( 7, 10){\small your company}
\put( 7,6.5){\small street 1}
\put( 7, 3){\small xxxxx city and state}
\put( 7, 24){\small phone:}
\put( 7, 20){\small fax:}
\put(6,40){\bfseries\LARGE #1}
\put(7,36){#2}
\put(15,24){\small #3}
\put(15,20){\small #4}
\put( 7,16){\small #5}
}}
\newcommand{\vcardback}[1]{\ticket{%
\put( 7, 26){\small private:}
\put( 5, 23){\color{uni}\line(1,0){56}}
\put( 7,19){\small%
\begin{minipage}[t]{50mm}%
{#1}\hss%
\end{minipage}}%
}}
% a counter, which makes life easier...
\newcounter{numcards}
\begin{document}
\sffamily
% ten cards for the front
\whiledo{\thenumcards<10}{%
\stepcounter{numcards}%
\vcardfront{Mr. X}{Degree/Profession}{+YY/XXXX/ZZZ ZZ ZZ}{+YY/XXXX/ZZZ ZZ ZZ}{yourmail@your-provider.xxx}}
\setcounter{numcards}{0}
% and ten for the backside
\whiledo{\thenumcards<10}{%
\stepcounter{numcards}%
\vcardback{phone: ---/HH HH HHH\\fax: ---/HH HH HHH\\homestreet 7\\everywhere}}
\end{document}
The pictures show the front (left) and the back (right) of the cards.


- 46,014
-
2It would be great if you could add a simple code example with a result image to your answer. Other people could use it as a starting point. – Martin Scharrer May 22 '13 at 11:50
-
1
-
@puk: It goes without saying the the chosen image file has to be either in the TeX installation tree or in the current working directory together with the concerned source file. Or it requires the correct path to the file. Otherwise it will not be found. – Thorsten Donig Jan 16 '14 at 09:09
-
@ThorstenDonig I guess what I should have really asked is Where is
ifmlogoclocated – puk Jan 16 '14 at 17:30 -
@puk: Open a command line, type
kpsewhich ifmlogoc.pdfand confirm with enter. You will get the complete path. If there's no output, you need to install the »ifmslide« package. – Thorsten Donig Jan 17 '14 at 19:28 -
How would I right-align the phone numbers, for example. It seems I need to manually tweak the coordinates every time I make a change :-/ – Frederick Nord Oct 12 '16 at 10:08
I had the same problem, and i couldn't find a good template for my needs, so i made my own template from scratch. It supports duplex (double-side) printing, you can choose different languages for each side, and I tried to make it simple and clean, so that other people could easily extend it. Maybe you find it useful.
- 169
- 2
- 5
You could also just roll your own by making the whole document a tikzpicture and placing the text with \node commands.
- 44,937
- 14
- 131
- 195
-
Sounds promising. Do you happen to have an example? And then for a backside? And then how to print a few of them on a single sheet of paper? – Frederick Nord Oct 12 '16 at 10:08
-
1@FrederickNord: In the six years since I made that half-baked answer I still haven't had the occasion to do so. Sorry. :-) – Matthew Leingang Oct 12 '16 at 16:00
-
1Have a look at the repository by Olivier Pieters (https://github.com/opieters/business-card), which uses this technique. – Martin - マーチン Nov 23 '19 at 15:34
-
You could also just roll your own by making the whole document a pspicture and placing the text with \rput commands.
- 36,086
