summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Kropat <mail@michael.kropat.name>2015-09-22 12:37:16 +0000
committerMichael Kropat <mail@michael.kropat.name>2015-09-22 12:37:50 +0000
commitc44e5b5915ade8c84c4986b0f9aa72174509c3da (patch)
tree9e44c8b578e9f769c2a190cd3e694fcec2e6e8d3
parentd265c6b93fb9ea1d28fecd09f08ac249a5bbf447 (diff)
parent1f44f0aaf8cc9df533c248b63b655b22026710f7 (diff)
Merge pull request #2 from paultcochrane/pr/handle-multiple-currencies
Fixes #1
-rw-r--r--dapper-invoice.cls30
-rw-r--r--example.tex11
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}