-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.tex
More file actions
220 lines (176 loc) · 7.91 KB
/
main.tex
File metadata and controls
220 lines (176 loc) · 7.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
% !TEX program = pdflatex
\documentclass[12pt,a4paper]{article}
\usepackage[margin=1in]{geometry}
\usepackage{setspace}
\usepackage{titlesec}
\usepackage{hyperref}
\usepackage{enumitem}
\usepackage{graphicx}
\usepackage{array}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{amssymb}
\setstretch{1.15}
\titleformat{\section}{\Large\bfseries}{}{0pt}{}
\titleformat{\subsection}{\large\bfseries}{}{0pt}{}
\titleformat{\subsubsection}{\normalsize\bfseries}{}{0pt}{}
\begin{document}
\begin{center}
{\Huge \textbf{LaTeX Engine Template}}\\[0.15cm]
{\Large \textbf{GitHub Template Repository}}\\[0.15cm]
{\large Professional Document Compilation with Docker}\\[0.25cm]
{\large Date: 22 December 2025}\\
\end{center}
\vspace{0.35cm}
\section{About This Repository}
This is a \textbf{GitHub template repository} that provides a professional LaTeX compilation environment using Docker. It's designed to help you:
\begin{itemize}[leftmargin=*]
\item \textbf{Create professional PDFs} from LaTeX source files with zero local LaTeX installation.
\item \textbf{Compile documents consistently} across different platforms (Windows, macOS, Linux).
\item \textbf{Automate PDF generation} with GitHub Actions on every commit.
\item \textbf{Start quickly} with a pre-configured Docker environment.
\end{itemize}
\textbf{Use this template:} Click ``Use this template'' on GitHub to create your own repository with this LaTeX compilation setup. Simply edit \texttt{main.tex} and push to generate your PDF automatically.
\section{Features}
\begin{enumerate}[leftmargin=*]
\item \textbf{Docker-based compilation:} No need to install LaTeX locally.
\item \textbf{Cross-platform support:} Works on Windows, macOS, and Linux.
\item \textbf{GitHub Actions integration:} Automatic PDF generation on push.
\item \textbf{Pre-configured packages:} Includes commonly used LaTeX packages.
\item \textbf{Simple workflow:} Edit \texttt{main.tex}, commit, and get your PDF.
\item \textbf{Template ready:} Start your own project immediately.
\end{enumerate}
\section{Mathematical Demonstration}
To demonstrate the power of LaTeX typesetting, here are partial differential equations that spell out \textbf{ADGSTUDIOS (PTY) LTD}:
\subsection*{A - Wave Equation}
$$\frac{\partial^2 A}{\partial t^2} = c^2 \nabla^2 A$$
\subsection*{D - Diffusion Equation}
$$\frac{\partial D}{\partial t} = \alpha \nabla^2 D$$
\subsection*{G - Heat Equation with Source}
$$\frac{\partial G}{\partial t} = k \nabla^2 G + \frac{Q}{\rho c_p}$$
\subsection*{S - Schrödinger Equation}
$$i\hbar \frac{\partial S}{\partial t} = -\frac{\hbar^2}{2m} \nabla^2 S + V S$$
\subsection*{T - Transport Equation}
$$\frac{\partial T}{\partial t} + \mathbf{v} \cdot \nabla T = D \nabla^2 T$$
\subsection*{U - Potential Field}
$$\frac{\partial^2 U}{\partial x^2} + \frac{\partial^2 U}{\partial y^2} = -\rho(x,y)$$
\subsection*{D - Dispersion Relation}
$$\frac{\partial^2 D}{\partial t^2} - c^2 \frac{\partial^2 D}{\partial x^2} + \omega^2 D = 0$$
\subsection*{I - Incompressible Flow}
$$\frac{\partial I}{\partial t} + (\mathbf{u} \cdot \nabla) I = \nu \nabla^2 I$$
\subsection*{O - Oscillator Equation}
$$\frac{\partial^2 O}{\partial t^2} + 2\gamma \frac{\partial O}{\partial t} + \omega_0^2 O = F(t)$$
\subsection*{S - Continuity Equation}
$$\frac{\partial S}{\partial t} + \nabla \cdot (S \mathbf{v}) = 0$$
\vspace{1em}
\noindent\textbf{Brought to you by ADGSTUDIOS (PTY) LTD} --- Where mathematics meets professional document preparation.
\section{Quick Start Guide}
\subsection{Using This Template}
\begin{enumerate}[leftmargin=*]
\item Click \textbf{``Use this template''} on the GitHub repository page.
\item Clone your new repository locally.
\item Edit \texttt{main.tex} with your content.
\item Compile using Docker: \texttt{docker build -t latex-compiler . \&\& docker run --rm -v \$\{PWD\}:/workspace latex-compiler}
\item Or push to GitHub and let Actions compile automatically.
\end{enumerate}
\subsection{Docker Compilation}
\begin{itemize}[leftmargin=*]
\item \textbf{Build:} \texttt{docker build -t latex-compiler .}
\item \textbf{Run:} \texttt{docker run --rm -v \$\{PWD\}:/workspace latex-compiler}
\item \textbf{Output:} \texttt{main.pdf} generated in your workspace
\end{itemize}
\subsection{GitHub Actions}
Push any changes to \texttt{main.tex} and GitHub Actions will:
\begin{itemize}[leftmargin=*]
\item Automatically compile your LaTeX document
\item Generate the PDF
\item Commit it back to the repository
\end{itemize}
\section{Customization}
You can customize this template by:
\begin{itemize}[leftmargin=*]
\item Adding more LaTeX packages in the preamble
\item Modifying the Dockerfile to include additional tools
\item Adjusting the GitHub Actions workflow
\item Creating your own document structure
\end{itemize}
\section{Technical Details}
This template includes:
\subsection{Pre-configured LaTeX Packages}
\begin{itemize}[leftmargin=*]
\item \texttt{geometry} - Page layout and margins
\item \texttt{amsmath, amssymb} - Mathematical symbols and equations
\item \texttt{hyperref} - Clickable links in PDFs
\item \texttt{graphicx} - Image inclusion
\item \texttt{xcolor} - Color support
\item \texttt{booktabs} - Professional tables
\end{itemize}
\subsection{Docker Configuration}
The included Dockerfile:
\begin{itemize}[leftmargin=*]
\item Uses the official \texttt{texlive/texlive:latest} image
\item Includes additional tools (make, git)
\item Runs \texttt{pdflatex} twice for proper reference resolution
\item Outputs to \texttt{main.pdf}
\end{itemize}
\subsection{GitHub Actions Automation}
Automatic compilation triggers on:
\begin{itemize}[leftmargin=*]
\item Push to main/master branch
\item Changes to any \texttt{.tex} files
\item Manual workflow dispatch
\end{itemize}
\section{Getting Started}
\subsection{Step 1: Use This Template}
On GitHub, click the \textbf{``Use this template''} button to create your own repository with this structure.
\subsection{Step 2: Edit Content}
Modify \texttt{main.tex} with your document content. The template includes all necessary packages for typical academic and professional documents.
\subsection{Step 3: Compile}
Choose your compilation method:
\begin{itemize}[leftmargin=*]
\item \textbf{Docker:} Run locally with consistent results
\item \textbf{GitHub Actions:} Push and let automation handle it
\item \textbf{Local LaTeX:} If you have LaTeX installed
\end{itemize}
\section{Best Practices}
\subsection{Document Structure}
\begin{itemize}[leftmargin=*]
\item Keep your preamble clean and organized
\item Use semantic section commands (\texttt{\\section}, \texttt{\\subsection}, etc.)
\item Comment your code for future reference
\item Organize long documents into separate \texttt{.tex} files with \texttt{\\input}
\end{itemize}
\subsection{Version Control}
\begin{itemize}[leftmargin=*]
\item Commit source \texttt{.tex} files, not just PDFs
\item Use meaningful commit messages
\item Consider \texttt{.gitignore} for auxiliary LaTeX files
\item Tag releases for important versions
\end{itemize}
\subsection{Collaboration}
\begin{itemize}[leftmargin=*]
\item Use pull requests for peer review
\item Add comments for reviewers using \texttt{\% comment text}
\item Keep line lengths reasonable for better diffs
\item Consider Overleaf integration for real-time collaboration
\end{itemize}
\section{Support}
For issues or questions:
\begin{itemize}[leftmargin=*]
\item Check the GitHub repository README
\item Review LaTeX documentation: \url{https://www.latex-project.org/}
\item Consult the Docker image documentation
\item Open an issue on GitHub for template-specific problems
\end{itemize}
\vspace{2em}
\begin{center}
\rule{0.5\textwidth}{0.4pt}\\
\vspace{0.5em}
\textbf{ADGSTUDIOS (PTY) LTD}\\
\textit{Professional Document Engineering}\\
\vspace{0.3em}
\small Built with \LaTeX{} $\cdot$ Powered by Docker $\cdot$ Automated with GitHub Actions
\end{center}
\end{document}