diff options
author | Michael Kropat <mail@michael.kropat.name> | 2015-09-22 12:37:16 +0000 |
---|---|---|
committer | Michael Kropat <mail@michael.kropat.name> | 2015-09-22 12:37:50 +0000 |
commit | c44e5b5915ade8c84c4986b0f9aa72174509c3da (patch) | |
tree | 9e44c8b578e9f769c2a190cd3e694fcec2e6e8d3 | |
parent | d265c6b93fb9ea1d28fecd09f08ac249a5bbf447 (diff) | |
parent | 1f44f0aaf8cc9df533c248b63b655b22026710f7 (diff) |
Merge pull request #2 from paultcochrane/pr/handle-multiple-currencies
Fixes #1
-rw-r--r-- | dapper-invoice.cls | 30 | ||||
-rw-r--r-- | example.tex | 11 |
2 files changed, 30 insertions, 11 deletions
diff --git a/dapper-invoice.cls b/dapper-invoice.cls index 7a58c69..97a0300 100644 --- a/dapper-invoice.cls +++ b/dapper-invoice.cls @@ -4,6 +4,25 @@ \NeedsTeXFormat{LaTeX2e} \LoadClass[11pt]{article} +% For page number calculations +\RequirePackage{ifthen} + +% To handle key=value options in class definition +\RequirePackage{kvoptions} +\SetupKeyvalOptions{% + prefix=dapper@ +} +% Default currency option is "dollar" +\DeclareStringOption[dollar]{currency}[dollar] +\ProcessKeyvalOptions* + +\RequirePackage{eurosym} + +\ifthenelse{\equal{\dapper@currency}{dollar}}{\newcommand{\currencysym}{\$}}{} +\ifthenelse{\equal{\dapper@currency}{euro}}{\newcommand{\currencysym}{\euro}}{} +\ifthenelse{\equal{\dapper@currency}{pound}}{\newcommand{\currencysym}{\textsterling}}{} + +% Set the standard geometry \RequirePackage[hmargin=.75in,vmargin=1in]{geometry} % For links and metadata @@ -15,9 +34,6 @@ % For "At*" hooks \RequirePackage{etoolbox} -% For page number calculations -\RequirePackage{ifthen} - % For adjusting footer \RequirePackage{fancyhdr} @@ -206,8 +222,8 @@ \end{minipage} & {\itemizationRowStyle \@formatHoursLeft{#2}} & {\itemizationRowStyle \@formatHoursRight{#2}} & - {\itemizationRowStyle \$#3} & - {\itemizationRowStyle \$\calcamount{#2}{#3}} + {\itemizationRowStyle \currencysym#3} & + {\itemizationRowStyle \currencysym\calcamount{#2}{#3}} \\ \noalign{\medskip} } @@ -220,8 +236,8 @@ \end{minipage} & {\itemizationRowStyle \@formatHoursLeft{#2}} & {\itemizationRowStyle \@formatHoursRight{#2}} & - {\itemizationRowStyle \$#3} & - {\itemizationRowStyle \$\calcamount{#2}{#3}} + {\itemizationRowStyle \currencysym#3} & + {\itemizationRowStyle \currencysym\calcamount{#2}{#3}} \\ \noalign{\medskip} } diff --git a/example.tex b/example.tex index 71644ef..0330cf7 100644 --- a/example.tex +++ b/example.tex @@ -1,4 +1,7 @@ \documentclass[letterpaper]{dapper-invoice} +%\documentclass[letterpaper,currency=dollar]{dapper-invoice} +%\documentclass[letterpaper,currency=euro]{dapper-invoice} +%\documentclass[letterpaper,currency=pound]{dapper-invoice} \newcommand{\invoiceNo}{101} \newcommand{\balance}{137.50} @@ -27,7 +30,7 @@ \infoSub{\faMobilePhone}{\small\slshape +1~(555)~555-5555} \noalign{\addvspace{8ex}} \infoBox{}{ - {\large\raisebox{.55\height}\$\huge\formatcurrency{\balance} \arrowbase} \\ + {\large\raisebox{.55\height}\currencysym\huge\formatcurrency{\balance} \arrowbase} \\ {\small\color{subduedColor} due \duedate{\duein}} } \end{infoSection} @@ -60,10 +63,10 @@ \beginsummary - \summaryline{Total}{\$\formatcurrency{\InvoiceTotal}} + \summaryline{Total}{\currencysym\formatcurrency{\InvoiceTotal}} - \summaryline{Paid}{\$\formatcurrency{50}} - \summaryline{Balance Due}{\$\formatcurrency{\balance}} % not really any math support (yet) + \summaryline{Paid}{\currencysym\formatcurrency{50}} + \summaryline{Balance Due}{\currencysym\formatcurrency{\balance}} % not really any math support (yet) \end{hoursItemizationWithProject} |