63

Is there a good document template for making business cards?

MS-SPO
  • 11,519
Neil G
  • 17,947

5 Answers5

39

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':

enter image description here


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.

David Carlisle
  • 757,742
  • 5
    It 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
23

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.


enter image description hereenter image description here

  • 2
    It 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
    Why is it that if I change ifmlogoc it complains file not found? – puk Jan 16 '14 at 00:10
  • @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 ifmlogoc located – puk Jan 16 '14 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. – 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
7

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.

https://github.com/aorthey/business-cards-latex

Latex Template Front

Andreas Orthey
  • 169
  • 2
  • 5
7

You could also just roll your own by making the whole document a tikzpicture and placing the text with \node commands.

Matthew Leingang
  • 44,937
  • 14
  • 131
  • 195
1

You could also just roll your own by making the whole document a pspicture and placing the text with \rput commands.