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.
-
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. May 22, 2013 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. Oct 12, 2016 at 9: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. Oct 12, 2016 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. Oct 12, 2016 at 10:14
-
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 tex.meta.stackexchange.com/questions/7168/… May 18, 2017 at 11:05
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.
-
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. May 22, 2013 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. Jan 16, 2014 at 9:09
-
@ThorstenDonig I guess what I should have really asked is Where is
ifmlogoc
located– pukJan 16, 2014 at 17:30 -
@puk: Open a command line, type
kpsewhich ifmlogoc.pdf
and confirm with enter. You will get the complete path. If there's no output, you need to install the »ifmslide« package. Jan 17, 2014 at 19:28
You could also just roll your own by making the whole document a tikzpicture
and placing the text with \node
commands.
-
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? Oct 12, 2016 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. :-) Oct 12, 2016 at 16:00
-
1Have a look at the repository by Olivier Pieters (github.com/opieters/business-card), which uses this technique. Nov 23, 2019 at 15:34
-
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.
You could also just roll your own by making the whole document a pspicture
and placing the text with \rput
commands.