ai-pdf-builder 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,151 +1,191 @@
1
- % @strykr/pdf-builder - Legal Agreement LaTeX Template
2
- % Optimized for contracts, advisor agreements, and legal documents
3
- % Formal, professional styling with numbered sections
1
+ % ai-pdf-builder - Professional Agreement Template
2
+ % Clean legal document styling
3
+ % Suitable for contracts, NDAs, service agreements
4
4
 
5
- \documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$}
5
+ \documentclass[11pt,a4paper]{article}
6
6
 
7
7
  % Essential Packages
8
8
  \usepackage{lmodern}
9
9
  \usepackage{amssymb,amsmath}
10
- \usepackage{ifxetex,ifluatex}
11
- \usepackage{fixltx2e}
12
10
  \usepackage[T1]{fontenc}
13
11
  \usepackage[utf8]{inputenc}
14
12
 
15
- % Geometry and Spacing - Tighter margins for legal docs
16
- \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
13
+ % Professional serif for legal docs
14
+ \usepackage{charter}
15
+
16
+ % Geometry - legal document margins
17
+ \usepackage[margin=1.25in, top=1.5in]{geometry}
17
18
  \usepackage{setspace}
18
- \singlespacing
19
+ \setstretch{1.3}
19
20
 
20
21
  % Graphics and Colors
21
22
  \usepackage{graphicx}
22
- \usepackage{xcolor}
23
- \definecolor{primaryColor}{RGB}{31, 41, 55}
24
- \definecolor{secondaryColor}{RGB}{107, 114, 128}
25
- \definecolor{accentColor}{RGB}{17, 24, 39}
26
- \definecolor{signatureColor}{RGB}{59, 130, 246}
23
+ \usepackage[table]{xcolor}
24
+
25
+ % Professional Legal Color Palette
26
+ \definecolor{darkNavy}{RGB}{23, 37, 84}
27
+ \definecolor{deepGray}{RGB}{55, 65, 81}
28
+ \definecolor{mediumGray}{RGB}{107, 114, 128}
29
+ \definecolor{lightGray}{RGB}{243, 244, 246}
30
+ \definecolor{accentBlue}{RGB}{37, 99, 235}
31
+ \definecolor{ruleGray}{RGB}{209, 213, 219}
27
32
 
28
33
  % Tables
29
- \usepackage{longtable,booktabs}
30
- \usepackage{array}
31
- \usepackage{multirow}
34
+ \usepackage{longtable,booktabs,array}
35
+ \usepackage{tabularx}
36
+ \renewcommand{\arraystretch}{1.4}
32
37
 
33
- % Links and References
38
+ % Links - subtle for legal docs
34
39
  \usepackage{hyperref}
35
40
  \hypersetup{
36
41
  unicode=true,
37
42
  colorlinks=true,
38
- linkcolor=primaryColor,
39
- citecolor=primaryColor,
40
- urlcolor=signatureColor,
41
- breaklinks=true
43
+ linkcolor=deepGray,
44
+ citecolor=deepGray,
45
+ urlcolor=accentBlue,
46
+ pdfborder={0 0 0}
42
47
  }
43
- \urlstyle{same}
44
48
 
45
49
  % Headers and Footers
46
50
  \usepackage{fancyhdr}
47
51
  \pagestyle{fancy}
48
52
  \fancyhf{}
49
- \fancyhead[L]{\small\textcolor{secondaryColor}{$if(title)$$title$$endif$}}
50
- \fancyhead[R]{\small\textcolor{secondaryColor}{$if(company)$$company$$endif$}}
51
- \fancyfoot[L]{\footnotesize\textcolor{secondaryColor}{CONFIDENTIAL}}
52
- \fancyfoot[C]{\small\textcolor{secondaryColor}{Page \thepage}}
53
- \fancyfoot[R]{\footnotesize\textcolor{secondaryColor}{$if(date)$$date$$endif$}}
53
+ \fancyhead[L]{\small\color{mediumGray}$if(title)$$title$$endif$}
54
+ \fancyhead[R]{\small\color{mediumGray}Page \thepage}
55
+ \fancyfoot[C]{\footnotesize\color{mediumGray}CONFIDENTIAL}
54
56
  \renewcommand{\headrulewidth}{0.5pt}
55
- \renewcommand{\footrulewidth}{0.3pt}
57
+ \renewcommand{\headrule}{\hbox to\headwidth{\color{ruleGray}\leaders\hrule height \headrulewidth\hfill}}
58
+ \renewcommand{\footrulewidth}{0pt}
56
59
 
57
- % Titles and Sections - Legal document styling
60
+ % Section Styling - legal numbered format
58
61
  \usepackage{titlesec}
59
- \titleformat{\section}{\large\bfseries\color{accentColor}}{\thesection.}{0.5em}{}
60
- \titleformat{\subsection}{\normalsize\bfseries\color{primaryColor}}{\thesubsection}{0.5em}{}
61
- \titleformat{\subsubsection}{\normalsize\color{secondaryColor}}{(\thesubsubsection)}{0.5em}{}
62
-
63
- \titlespacing*{\section}{0pt}{1.5em}{0.5em}
64
- \titlespacing*{\subsection}{0pt}{1em}{0.3em}
65
- \titlespacing*{\subsubsection}{1em}{0.8em}{0.2em}
66
62
 
67
- % Paragraph spacing for legal readability
68
- \setlength{\parskip}{0.5em}
69
- \setlength{\parindent}{0pt}
70
-
71
- % Lists - Legal numbering
63
+ \titleformat{\section}
64
+ {\large\bfseries\color{darkNavy}}
65
+ {\thesection.}
66
+ {0.5em}
67
+ {}
68
+ \titlespacing*{\section}{0pt}{2em}{1em}
69
+
70
+ \titleformat{\subsection}
71
+ {\normalsize\bfseries\color{deepGray}}
72
+ {\thesubsection}
73
+ {0.5em}
74
+ {}
75
+ \titlespacing*{\subsection}{0pt}{1.5em}{0.8em}
76
+
77
+ \titleformat{\subsubsection}
78
+ {\normalsize\itshape\color{mediumGray}}
79
+ {\thesubsubsection}
80
+ {0.5em}
81
+ {}
82
+
83
+ % Lists - legal style
72
84
  \usepackage{enumitem}
73
- \setlist{noitemsep, topsep=3pt}
74
- \setlist[enumerate]{label=(\alph*)}
85
+ \setlist{topsep=6pt, leftmargin=2em}
86
+ \setlist[itemize,1]{label=\textcolor{deepGray}{\textbullet}}
87
+ \setlist[enumerate,1]{label=(\alph*)}
75
88
  \setlist[enumerate,2]{label=(\roman*)}
76
89
 
77
- % Pandoc tightlist command
90
+ % Pandoc compatibility
78
91
  \providecommand{\tightlist}{%
79
92
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
80
93
 
81
- % Code Blocks (minimal for legal docs)
82
- \usepackage{listings}
83
- \lstset{
84
- basicstyle=\ttfamily\small,
85
- breaklines=true,
86
- frame=single,
87
- backgroundcolor=\color{gray!5}
88
- }
89
-
90
- % Signature line command
91
- \newcommand{\signatureline}[1]{%
92
- \vspace{2em}%
93
- \noindent\rule{0.45\textwidth}{0.4pt}\\[0.2em]%
94
- \noindent\textcolor{secondaryColor}{\small #1}%
95
- \vspace{1em}%
96
- }
97
-
98
- % Date line command
99
- \newcommand{\dateline}{%
100
- \noindent Date: \rule{0.3\textwidth}{0.4pt}%
94
+ % Signature blocks
95
+ \newcommand{\signatureblock}[2]{%
96
+ \vspace{3em}%
97
+ \noindent
98
+ \begin{minipage}[t]{0.45\textwidth}
99
+ \rule{\textwidth}{0.5pt}\\[0.5em]
100
+ \textbf{#1}\\
101
+ \small\color{mediumGray}Signature\\[2em]
102
+ \rule{\textwidth}{0.5pt}\\[0.5em]
103
+ \small\color{mediumGray}Name:\\[2em]
104
+ \rule{\textwidth}{0.5pt}\\[0.5em]
105
+ \small\color{mediumGray}Date:
106
+ \end{minipage}%
107
+ \hfill
108
+ \begin{minipage}[t]{0.45\textwidth}
109
+ \rule{\textwidth}{0.5pt}\\[0.5em]
110
+ \textbf{#2}\\
111
+ \small\color{mediumGray}Signature\\[2em]
112
+ \rule{\textwidth}{0.5pt}\\[0.5em]
113
+ \small\color{mediumGray}Name:\\[2em]
114
+ \rule{\textwidth}{0.5pt}\\[0.5em]
115
+ \small\color{mediumGray}Date:
116
+ \end{minipage}%
101
117
  }
102
118
 
103
119
  % Definition term styling
104
- \newcommand{\term}[1]{\textbf{"#1"}}
120
+ \newcommand{\defterm}[1]{\textbf{"#1"}}
105
121
 
106
- % Additional Packages
122
+ % Additional includes
107
123
  $if(header-includes)$
108
124
  $header-includes$
109
125
  $endif$
110
126
 
111
- % Title Information
112
- $if(title)$
113
- \title{
114
- \Large\textbf{$title$}\\
115
- $if(subtitle)$\large\textit{$subtitle$}$endif$
116
- }
117
- $endif$
118
-
119
- $if(author)$
120
- \author{$for(author)$$author$$sep$ \and $endfor$}
121
- $endif$
122
-
123
- $if(date)$
124
- \date{$date$}
125
- $else$
126
- \date{}
127
- $endif$
128
-
129
- % Begin Document
130
127
  \begin{document}
131
128
 
132
- % Formal Title Header
133
- \begin{center}
134
- {\Large\textbf{$if(title)$$title$$endif$}\par}
129
+ % Agreement Title Page
130
+ \begin{titlepage}
131
+ \centering
132
+
133
+ \vspace*{3cm}
134
+
135
+ % Title
136
+ {\fontsize{28}{34}\selectfont\bfseries\color{darkNavy}$if(title)$$title$$endif$\par}
137
+
138
+ \vspace{0.5cm}
139
+
140
+ % Subtitle
135
141
  $if(subtitle)$
142
+ {\Large\color{mediumGray}$subtitle$\par}
136
143
  \vspace{0.3cm}
137
- {\large $subtitle$\par}
138
144
  $endif$
139
- \end{center}
140
-
141
- \vspace{0.3cm}
142
- \noindent\rule{\textwidth}{0.5pt}
143
- \vspace{0.5cm}
144
-
145
- % Parties and effective date
146
- $if(date)$
147
- \noindent\textbf{Effective Date:} $date$
148
- \vspace{0.5cm}
145
+
146
+ % Rule
147
+ {\color{ruleGray}\rule{0.4\textwidth}{1pt}}
148
+
149
+ \vspace{2cm}
150
+
151
+ % Parties
152
+ {\large\color{deepGray}
153
+ \textbf{Between}
154
+
155
+ \vspace{0.5cm}
156
+
157
+ $if(party1)$$party1$$else$[PARTY 1]$endif$
158
+
159
+ \vspace{0.3cm}
160
+ \textbf{and}
161
+ \vspace{0.3cm}
162
+
163
+ $if(party2)$$party2$$else$[PARTY 2]$endif$
164
+ \par}
165
+
166
+ \vfill
167
+
168
+ % Date and metadata
169
+ {\color{mediumGray}
170
+ Effective Date: $if(date)$$date$$else$\_\_\_\_\_\_\_\_\_\_\_\_$endif$
171
+
172
+ \vspace{0.5cm}
173
+
174
+ $if(version)$Version: $version$$endif$
175
+ \par}
176
+
177
+ \vspace{2cm}
178
+
179
+ \end{titlepage}
180
+
181
+ % Table of Contents for longer agreements
182
+ $if(toc)$
183
+ {
184
+ \hypersetup{linkcolor=deepGray}
185
+ \setcounter{tocdepth}{$toc-depth$}
186
+ \tableofcontents
187
+ \newpage
188
+ }
149
189
  $endif$
150
190
 
151
191
  % Main Content
@@ -1,141 +1,125 @@
1
- % @strykr/pdf-builder - Business Memo LaTeX Template
2
- % Optimized for executive summaries and internal communications
3
- % Clean, professional styling
1
+ % ai-pdf-builder - Professional Memo Template
2
+ % Clean, executive memo styling
3
+ % Optimized for business communications
4
4
 
5
- \documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$}
5
+ \documentclass[11pt,a4paper]{article}
6
6
 
7
7
  % Essential Packages
8
8
  \usepackage{lmodern}
9
9
  \usepackage{amssymb,amsmath}
10
- \usepackage{ifxetex,ifluatex}
11
- \usepackage{fixltx2e}
12
10
  \usepackage[T1]{fontenc}
13
11
  \usepackage[utf8]{inputenc}
14
12
 
15
- % Geometry and Spacing
16
- \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
13
+ % Professional sans-serif
14
+ \usepackage{helvet}
15
+ \renewcommand{\familydefault}{\sfdefault}
16
+
17
+ % Geometry - memo style margins
18
+ \usepackage[margin=1in, top=1in]{geometry}
17
19
  \usepackage{setspace}
18
- \singlespacing
20
+ \setstretch{1.15}
19
21
 
20
22
  % Graphics and Colors
21
23
  \usepackage{graphicx}
22
- \usepackage{xcolor}
23
- \definecolor{primaryColor}{RGB}{59, 130, 246}
24
- \definecolor{secondaryColor}{RGB}{107, 114, 128}
25
- \definecolor{accentColor}{RGB}{17, 24, 39}
26
- \definecolor{highlightColor}{RGB}{239, 246, 255}
24
+ \usepackage[table]{xcolor}
25
+
26
+ % Professional Memo Color Palette
27
+ \definecolor{darkCharcoal}{RGB}{31, 41, 55}
28
+ \definecolor{slateBlue}{RGB}{71, 85, 105}
29
+ \definecolor{accentBlue}{RGB}{59, 130, 246}
30
+ \definecolor{lightBlue}{RGB}{239, 246, 255}
31
+ \definecolor{borderGray}{RGB}{209, 213, 219}
32
+ \definecolor{lightGray}{RGB}{249, 250, 251}
27
33
 
28
34
  % Tables
29
- \usepackage{longtable,booktabs}
30
- \usepackage{array}
31
- \usepackage{multirow}
35
+ \usepackage{longtable,booktabs,array}
36
+ \usepackage{tabularx}
37
+ \renewcommand{\arraystretch}{1.3}
32
38
 
33
- % Links and References
39
+ % Links
34
40
  \usepackage{hyperref}
35
41
  \hypersetup{
36
42
  unicode=true,
37
43
  colorlinks=true,
38
- linkcolor=primaryColor,
39
- citecolor=primaryColor,
40
- urlcolor=primaryColor,
41
- breaklinks=true
44
+ linkcolor=accentBlue,
45
+ citecolor=accentBlue,
46
+ urlcolor=accentBlue,
47
+ pdfborder={0 0 0}
42
48
  }
43
- \urlstyle{same}
44
49
 
45
- % Headers and Footers
50
+ % No headers/footers for clean memo look
46
51
  \usepackage{fancyhdr}
47
52
  \pagestyle{fancy}
48
53
  \fancyhf{}
49
- \fancyhead[L]{\small\textcolor{secondaryColor}{$if(title)$$title$$endif$}}
50
- \fancyhead[R]{\small\textcolor{secondaryColor}{$if(version)$$version$$endif$}}
51
- \fancyfoot[C]{\small\textcolor{secondaryColor}{\thepage}}
52
- \fancyfoot[R]{\footnotesize\textcolor{secondaryColor}{CONFIDENTIAL}}
53
- \renewcommand{\headrulewidth}{0.4pt}
54
+ \fancyfoot[C]{\small\color{slateBlue}\thepage}
55
+ \renewcommand{\headrulewidth}{0pt}
54
56
  \renewcommand{\footrulewidth}{0pt}
55
57
 
56
- % Titles and Sections
58
+ % Section Styling - clean and minimal
57
59
  \usepackage{titlesec}
58
- \titleformat{\section}{\Large\bfseries\color{accentColor}}{\thesection}{1em}{}[\vspace{-0.3em}\color{primaryColor}\rule{\textwidth}{0.4pt}]
59
- \titleformat{\subsection}{\large\bfseries\color{secondaryColor}}{\thesubsection}{1em}{}
60
- \titleformat{\subsubsection}{\normalsize\bfseries\color{secondaryColor}}{\thesubsubsection}{1em}{}
61
60
 
61
+ \titleformat{\section}
62
+ {\large\bfseries\color{darkCharcoal}}
63
+ {}
64
+ {0pt}
65
+ {}
66
+ [\vspace{-0.3em}{\color{borderGray}\rule{\textwidth}{0.5pt}}]
62
67
  \titlespacing*{\section}{0pt}{1.5em}{0.8em}
63
- \titlespacing*{\subsection}{0pt}{1.2em}{0.5em}
64
- \titlespacing*{\subsubsection}{0pt}{1em}{0.3em}
68
+
69
+ \titleformat{\subsection}
70
+ {\normalsize\bfseries\color{slateBlue}}
71
+ {}
72
+ {0pt}
73
+ {}
74
+ \titlespacing*{\subsection}{0pt}{1em}{0.5em}
65
75
 
66
76
  % Lists
67
77
  \usepackage{enumitem}
68
- \setlist{noitemsep, topsep=3pt}
69
- \setlist[itemize]{label=\textcolor{primaryColor}{\textbullet}}
78
+ \setlist{noitemsep, topsep=4pt, leftmargin=1.2em}
79
+ \setlist[itemize,1]{label=\textcolor{accentBlue}{\textbullet}}
70
80
 
71
- % Pandoc tightlist command
81
+ % Pandoc compatibility
72
82
  \providecommand{\tightlist}{%
73
83
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
74
84
 
75
- % Code Blocks (minimal for memos)
76
- \usepackage{listings}
77
- \lstset{
78
- basicstyle=\ttfamily\small,
79
- breaklines=true,
80
- frame=single,
81
- backgroundcolor=\color{gray!10}
82
- }
83
-
84
- % Custom memo header box
85
- \newcommand{\memoheader}[4]{%
86
- \noindent\colorbox{highlightColor}{%
87
- \parbox{\dimexpr\textwidth-2\fboxsep}{%
88
- \small
89
- \textbf{TO:} #1\\
90
- \textbf{FROM:} #2\\
91
- \textbf{DATE:} #3\\
92
- \textbf{RE:} #4
93
- }%
94
- }%
95
- \vspace{1em}
85
+ % Simple callout box
86
+ \newenvironment{actionitem}{%
87
+ \par\vspace{0.5em}%
88
+ \noindent\colorbox{lightBlue}{%
89
+ \begin{minipage}{\dimexpr\textwidth-2\fboxsep}%
90
+ }{%
91
+ \end{minipage}}%
92
+ \par\vspace{0.5em}%
96
93
  }
97
94
 
98
- % Additional Packages
95
+ % Additional includes
99
96
  $if(header-includes)$
100
97
  $header-includes$
101
98
  $endif$
102
99
 
103
- % Title Information
104
- $if(title)$
105
- \title{
106
- \Huge\textbf{$title$}\\
107
- $if(subtitle)$\Large\textit{$subtitle$}$endif$
108
- }
109
- $endif$
110
-
111
- $if(author)$
112
- \author{$for(author)$$author$$sep$ \and $endfor$}
113
- $endif$
114
-
115
- $if(date)$
116
- \date{$date$}
117
- $else$
118
- \date{}
119
- $endif$
120
-
121
- % Begin Document
122
100
  \begin{document}
123
101
 
124
- % Compact Title Header for Memo
102
+ % Memo Header Block
125
103
  \begin{center}
126
- {\Huge\textbf{$if(title)$$title$$endif$}\par}
127
- \vspace{0.3cm}
128
- {\LARGE\textit{$if(subtitle)$$subtitle$$endif$}\par}
129
- $if(author)$
130
- \vspace{0.5cm}
131
- {\large $author$\par}
132
- $endif$
133
- \vspace{0.3cm}
134
- $if(version)${\normalsize $version$ \textbullet\ }$endif$$if(date)${\normalsize $date$}$endif$
104
+ {\Large\bfseries\color{darkCharcoal}MEMORANDUM}
105
+
106
+ \vspace{0.3cm}
107
+ {\color{accentBlue}\rule{0.3\textwidth}{2pt}}
135
108
  \end{center}
136
109
 
137
- \vspace{0.5cm}
138
- \noindent\textcolor{primaryColor}{\rule{\textwidth}{1pt}}
110
+ \vspace{0.8cm}
111
+
112
+ % Memo metadata table
113
+ \noindent
114
+ \begin{tabularx}{\textwidth}{@{}l@{\hspace{1em}}X@{}}
115
+ \textbf{\color{slateBlue}TO:} & $if(to)$$to$$else$[Recipients]$endif$ \\[0.4em]
116
+ \textbf{\color{slateBlue}FROM:} & $if(author)$$author$$else$[Sender]$endif$ \\[0.4em]
117
+ \textbf{\color{slateBlue}DATE:} & $if(date)$$date$$else$\today$endif$ \\[0.4em]
118
+ \textbf{\color{slateBlue}RE:} & $if(title)$$title$$endif$ $if(subtitle)$— $subtitle$$endif$ \\
119
+ \end{tabularx}
120
+
121
+ \vspace{0.4cm}
122
+ {\color{borderGray}\rule{\textwidth}{1pt}}
139
123
  \vspace{0.8cm}
140
124
 
141
125
  % Main Content