From fc3c1ed92835548bab6de526803d39ed5ad2e922 Mon Sep 17 00:00:00 2001
From: Deepak Khatri <deepaklorkhatri7@gmail.com>
Date: Wed, 31 Jan 2024 22:26:14 +0530
Subject: [PATCH] Setup custom PDF generation

---
 _static/images/logo-latex.pdf | Bin 5649 -> 6268 bytes
 _static/latex/preamble.tex    |  25 ++++++++++++++++++++
 _static/latex/title.tex       |  43 ++++++++++++++++++++++++++++++++++
 conf.py                       |  24 ++++++++++++++++++-
 4 files changed, 91 insertions(+), 1 deletion(-)
 create mode 100644 _static/latex/preamble.tex
 create mode 100644 _static/latex/title.tex

diff --git a/_static/images/logo-latex.pdf b/_static/images/logo-latex.pdf
index deaa2699d6de4ab582af1ae276ca36d8f341cca0..5491dbf79bebb11b097c750078a4402941b6a9b8 100644
GIT binary patch
delta 5864
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

delta 5214
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
Yb97;Hba--QW(qYlGBXM#B}Gq03XQV@!2kdN

diff --git a/_static/latex/preamble.tex b/_static/latex/preamble.tex
new file mode 100644
index 0000000..e13368a
--- /dev/null
+++ b/_static/latex/preamble.tex
@@ -0,0 +1,25 @@
+% LaTeX documentation preamble
+%
+% Copyright (c) 2021 Nordic Semiconductor ASA
+% SPDX-License-Identifier: Apache-2.0
+
+\usepackage[some]{background}
+\usepackage{sectsty}
+\usepackage{lscape}
+\usepackage{longtable}
+\usepackage{fontspec}
+\usepackage{comment}
+\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
+\setmainfont{DejaVuSans}
+\setmonofont{FreeMono}
+
+\definecolor{bg-color}{HTML}{a97f2c}
+
+\setcounter{tocdepth}{2}
+
+\addto\captionsenglish{\renewcommand{\contentsname}{Table of contents}}
+
+\allsectionsfont{\color{bg-color}}
+
+\let\oldtabular\tabular
+\renewcommand{\tabular}{\footnotesize\oldtabular}
diff --git a/_static/latex/title.tex b/_static/latex/title.tex
new file mode 100644
index 0000000..b6b8429
--- /dev/null
+++ b/_static/latex/title.tex
@@ -0,0 +1,43 @@
+% LaTeX documentation title page
+%
+% Copyright (c) 2021 Nordic Semiconductor ASA
+% SPDX-License-Identifier: Apache-2.0
+
+\makeatletter
+\newgeometry{top=3cm,left=0cm,right=0cm,bottom=2.5cm}
+
+\backgroundsetup{
+    scale=1,
+    contents={\sphinxlogo},
+    opacity=0.7,
+    angle=0,
+    position={0.40\textwidth,-0.60\textheight}
+}
+
+\BgThispage
+
+\begin{minipage}{2cm}
+    \color{bg-color} \rule{2cm}{1.7cm}
+\end{minipage}
+\hspace{0.2cm}
+\begin{minipage}{2cm}
+    \sphinxlogo
+\end{minipage}
+\hspace{0.2cm}
+\begin{minipage}{14cm}
+    \color{bg-color} \Large \textbf{\@title}
+\end{minipage}
+
+\vspace{21cm}
+
+\begin{flushright}
+    \begin{minipage}{4cm}
+        \large \@author\\\@date
+    \end{minipage}
+    \begin{minipage}{1.5cm}
+        \color{bg-color} \rule{1.5cm}{1.3cm}
+    \end{minipage}
+\end{flushright}
+
+\restoregeometry
+\makeatother
diff --git a/conf.py b/conf.py
index 3c883c2..21b5c31 100644
--- a/conf.py
+++ b/conf.py
@@ -123,4 +123,26 @@ html_context = {
     "pages_url": pages_url,
     "pages_slug": pages_slug,
     "docs_url": docs_url,
-}
\ No newline at end of file
+}
+
+# -- Options for proposal PDF generation --
+latex_elements = {
+    "papersize": "a4paper",
+    "maketitle": open("_static/latex/title.tex").read(),
+    "preamble": open("_static/latex/preamble.tex").read(),
+    "sphinxsetup": ",".join(
+        (
+            "verbatimwithframe=false",
+            "VerbatimColor={HTML}{f0f2f4}",
+            "InnerLinkColor={HTML}{2980b9}",
+            "warningBgColor={HTML}{e9a499}",
+            "warningborder=0pt",
+            r"HeaderFamily=\rmfamily\bfseries",
+        )
+    ),
+}
+latex_engine = "xelatex"
+latex_logo = str("_static/images/logo-latex.pdf")
+latex_documents = [
+    ("proposals/template", "template.tex", "Project proposal template 2024", "John Doe", "manual"),
+]
\ No newline at end of file
-- 
GitLab