#!/usr/bin/env python
# -*- coding: utf-8 -*-

# http://nametags.cr.yp.to/readablenametags
# D. J. Bernstein
# version 20121118
# Public domain.

from sys import stdin
from os import environ

logo = environ['LOGO']
width = environ['WIDTH']
height = environ['HEIGHT']
paper = environ['PAPER']

print "\\documentclass{minimal}"
print "\\usepackage["+paper+",left=18mm,right=18mm,top=5mm,bottom=5mm]{geometry}"
print "\\usepackage{multicol}"
print "\\usepackage{graphicx}"
print "\\usepackage[breakall]{truncate}"
print ""
print "\\hyphenpenalty=10000"
print "\\parindent 0pt"
print "\\parfillskip 0pt"
print "\\baselineskip 0pt"
print "\\parskip 0pt"
print "\\leftskip 8pt"
print "\\rightskip 8pt plus 10000pt"
print "\\hfuzz 1000pt"
print "\\vfuzz 1000pt"
print ""
print "\\newdimen\\nametagwidth"
print "\\newdimen\\nametagheight"
print "\\newdimen\\bigheight"
print "\\newdimen\\bigbaselineskip"
print "\\newdimen\\biggerheight"
print "\\newdimen\\biggerbaselineskip"
print "\\newdimen\\tagskip"
print ""
print "\\newif\\iftagmoreboxes"
print "\\newbox\\tagbigbox"
print "\\newbox\\tagok"
print "\\newbox\\tagtest"
print ""
print "\\def\\fontisnottoobig{\\global\\setbox\\tagok=\\vbox{\\kern 0pt}}"
print "\\def\\fontistoobig{\\global\\setbox\\tagok=\\vbox{\\kern\\nametagheight\\kern 2pt}}"
print ""
print "\\def\\tag#1#2#3#4{\\relax"
print "  \\nametagwidth #3"
print "  \\nametagheight #4"
print "  \\bigheight 48pt"
print "  \\loop"
print "    \\biggerheight\\bigheight\\advance\\biggerheight by\\bigheight"
print "    \\bigbaselineskip\\bigheight"
print "    \\biggerbaselineskip\\biggerheight"
print "    \\font\\big=phvr at \\bigheight"
print "    \\font\\bigger=phvb at \\biggerheight"
print "    \\fontisnottoobig"
print "    \\begingroup"
print "      \\hsize \\nametagwidth"
print "      \\leftskip 8pt plus 10000pt"
print "      \\rightskip 8pt plus 10000pt"
print "      \\global\\setbox\\tagbigbox=\\vbox to \\nametagheight{\\relax"
print "        \\kern 10pt"
print "        \\vbox{\\hbox{\\relax"
print "           \\includegraphics[width=\\nametagwidth]{"+logo+"}\\relax"
print "          }}"
print "	\\vfill"
print "        \\baselineskip \\biggerbaselineskip"
print "        \\noindent \\bigger\\uppercase{\\ignorespaces #1}\\par"
print "        \\vskip 7pt"
print "        \\baselineskip\\bigbaselineskip"
print "        \\noindent\\big\\ignorespaces #2\\par"
print "	\\vfill"
print "        \\vskip 10pt"
print "      }\\relax"
print "      \\ifnum\\badness>5000\\fontistoobig\\fi"
print "    \\endgroup"
print "    \\setbox\\tagtest=\\vbox{\\unvcopy\\tagbigbox"
print "      \\loop"
print "        \\unskip\\unpenalty\\unkern"
print "        \\unskip\\unpenalty\\unkern"
print "        \\unskip\\unpenalty\\unkern"
print "        \\unskip\\unpenalty\\unkern"
print "	\\setbox\\tagtest\\lastbox"
print "        \\tagmoreboxestrue"
print "	\\ifvoid\\tagtest\\tagmoreboxesfalse\\fi"
print "      \\iftagmoreboxes"
print "        \\ifhbox\\tagtest"
print "          \\setbox\\tagtest=\\hbox{\\unhbox\\tagtest}"
print "	  \\ifdim\\wd\\tagtest>\\nametagwidth\\fontistoobig\\fi"
print "        \\fi"
print "      \\repeat"
print "    }\\relax"
print "    \\ifdim\\ht\\tagbigbox>\\nametagheight\\fontistoobig\\fi"
print "  \\ifdim\\ht\\tagok>\\nametagheight"
print "    \\advance\\bigheight by -0.2pt"
print "  \\repeat"
print "  \\hbox{\\relax"
print "    \\hsize \\nametagwidth"
print "    \\vbox to \\nametagheight{\\relax"
print "      \\hbox to \\nametagwidth{\\vrule width 5pt height 0.5pt depth 0pt\\hss\\vrule width 5pt height 0.5pt depth 0pt}\\relax"
print "      \\vss"
print "      \\unvbox\\tagbigbox"
print "      \\vss"
print "      \\hbox to \\nametagwidth{\\vrule width 5pt height 0.5pt depth 0pt\\hss\\vrule width 5pt height 0.5pt depth 0pt}\\relax"
print "    }\\relax"
print "  }\\relax"
print "  \\allowbreak\\ignorespaces"
print "}"
print ""
print "\\def\\frontbacktags#1#2#3#4{\\centerline{\\hfill"
print "\\vrule height 5pt"
print "\\tag{#1}{#2}{#3}{#4}"
print "\\vrule"
print "\\tag{#1}{#2}{#3}{#4}"
print "\\vrule height 5pt"
print "\\hfill}}"

print "\\begin{document}"

def sanitize(x):
  result = ""
  for i in range(len(x)):
    if x[i] in "abcdefghijklmnopqrstuvwxyz": result += x[i]
    elif x[i] in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": result += x[i]
    elif x[i] in " .,-/()": result += x[i]
    elif x[i] in "'": result += x[i]
    elif x[i] == "&": result += "\\&"
    elif x[i] == "á".decode("utf-8","replace"): result += "\\'a"
    elif x[i] == "à".decode("utf-8","replace"): result += "\\`a"
    elif x[i] == "â".decode("utf-8","replace"): result += "\\^a"
    elif x[i] == "ã".decode("utf-8","replace"): result += "\\~a"
    elif x[i] == "ä".decode("utf-8","replace"): result += "\\\"a"
    elif x[i] == "Ã¥".decode("utf-8","replace"): result += "{\\aa}"
    elif x[i] == "Ã…".decode("utf-8","replace"): result += "{\\AA}"
    elif x[i] == "ç".decode("utf-8","replace"): result += "\\c{c}"
    elif x[i] == "Ç".decode("utf-8","replace"): result += "\\'C"
    elif x[i] == "ć".decode("utf-8","replace"): result += "\\'c"
    elif x[i] == "è".decode("utf-8","replace"): result += "\\`e"
    elif x[i] == "é".decode("utf-8","replace"): result += "\\'e"
    elif x[i] == "ê".decode("utf-8","replace"): result += "\\^e"
    elif x[i] == "ë".decode("utf-8","replace"): result += "\\\"e"
    elif x[i] == "ÄŸ".decode("utf-8","replace"): result += "\\u{g}"
    elif x[i] == "í".decode("utf-8","replace"): result += "\\'i"
    elif x[i] == "î".decode("utf-8","replace"): result += "\\^i"
    elif x[i] == "ñ".decode("utf-8","replace"): result += "\\~n"
    elif x[i] == "ò".decode("utf-8","replace"): result += "\\`o"
    elif x[i] == "ó".decode("utf-8","replace"): result += "\\'o"
    elif x[i] == "ô".decode("utf-8","replace"): result += "\\^o"
    elif x[i] == "õ".decode("utf-8","replace"): result += "\\~o"
    elif x[i] == "ö".decode("utf-8","replace"): result += "\\\"o"
    elif x[i] == "Ö".decode("utf-8","replace"): result += "\\\"O"
    elif x[i] == "Å¡".decode("utf-8","replace"): result += "\\v{s}"
    elif x[i] == "Å ".decode("utf-8","replace"): result += "\\v{S}"
    elif x[i] == "ß".decode("utf-8","replace"): result += "{\\ss}"
    elif x[i] == "ü".decode("utf-8","replace"): result += "\\\"u"
    elif x[i] == "Ü".decode("utf-8","replace"): result += "\\\"U"
    elif x[i] == "’".decode("utf-8","replace"): result += "'"
    elif x[i] == "ø".decode("utf-8","replace"): result += "{\\o}"
    else: result += "?"
  return result

for line in stdin:
  x = line.strip().split(":")
  x[0] = x[0].decode("utf-8","replace").upper()
  x[1] = x[1].decode("utf-8","replace")
  print "\\frontbacktags{"+sanitize(x[0])+"}{"+sanitize(x[1])+"}{"+width+"}{"+height+"}"

print "\\end{document}"