mirror of
https://github.com/soconnor0919/resume-cv.git
synced 2025-12-12 22:14:43 -05:00
Resolve line break errors in .tex file
This commit is contained in:
17
Dockerfile
Normal file
17
Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
FROM ubuntu:24.04
|
||||||
|
|
||||||
|
# Prevent tzdata questions during install
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Install TeX Live and required packages
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
texlive-full \
|
||||||
|
latexmk \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /workspace
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# For build
|
||||||
|
CMD ["latexmk", "-pdf", "-file-line-error", "-halt-on-error", "-interaction=nonstopmode", "resume.tex", "cv.tex"]
|
||||||
55
build-local.sh
Executable file
55
build-local.sh
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to cleanup
|
||||||
|
cleanup() {
|
||||||
|
rm -f personal_info.tex.bak
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure cleanup runs even if script fails
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
# Create output directory
|
||||||
|
mkdir -p output
|
||||||
|
|
||||||
|
# Build public version
|
||||||
|
echo "Building public version..."
|
||||||
|
docker build --platform linux/arm64 -t resume-builder .
|
||||||
|
docker run --platform linux/arm64 --rm -v "$(pwd)/output:/workspace/output" resume-builder bash -c "latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex cv.tex && cp *.pdf output/"
|
||||||
|
|
||||||
|
# Move files to final names
|
||||||
|
mv output/resume.pdf output/resume-public.pdf
|
||||||
|
mv output/cv.pdf output/cv-public.pdf
|
||||||
|
|
||||||
|
# Build private version
|
||||||
|
echo "Building private version..."
|
||||||
|
# Backup current personal_info.tex
|
||||||
|
cp personal_info.tex personal_info.tex.bak
|
||||||
|
|
||||||
|
# Create private info file
|
||||||
|
cat > personal_info.tex << EOL
|
||||||
|
% Private version of personal information
|
||||||
|
\\newcommand{\\personalName}{Sean O'Connor}
|
||||||
|
\\newcommand{\\personalEmail}{${PERSONAL_EMAIL:-}}
|
||||||
|
\\newcommand{\\personalPhone}{${PERSONAL_PHONE:-}}
|
||||||
|
\\newcommand{\\personalWebsite}{soconnor.dev}
|
||||||
|
\\newcommand{\\personalSchoolEmail}{${PERSONAL_SCHOOL_EMAIL:-}}
|
||||||
|
\\newcommand{\\personalHomeAddress}{${PERSONAL_HOME_ADDRESS:-}}
|
||||||
|
\\newcommand{\\personalSchoolAddress}{${PERSONAL_SCHOOL_ADDRESS:-}}
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Build private version using the same image
|
||||||
|
docker run --platform linux/arm64 --rm -v "$(pwd):/workspace" -v "$(pwd)/output:/workspace/output" resume-builder bash -c "latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex cv.tex && cp *.pdf output/"
|
||||||
|
|
||||||
|
# Move files to final names
|
||||||
|
mv output/resume.pdf output/resume-private.pdf
|
||||||
|
mv output/cv.pdf output/cv-private.pdf
|
||||||
|
|
||||||
|
# Restore original personal_info.tex
|
||||||
|
mv personal_info.tex.bak personal_info.tex
|
||||||
|
|
||||||
|
echo "Build complete!"
|
||||||
|
echo "Generated files in output/:"
|
||||||
|
echo "- resume-public.pdf"
|
||||||
|
echo "- cv-public.pdf"
|
||||||
|
echo "- resume-private.pdf"
|
||||||
|
echo "- cv-private.pdf"
|
||||||
22
cv.tex
22
cv.tex
@@ -43,16 +43,18 @@
|
|||||||
\begin{minipage}[t]{\textwidth}
|
\begin{minipage}[t]{\textwidth}
|
||||||
\centering
|
\centering
|
||||||
\ifx\personalEmail\empty\else
|
\ifx\personalEmail\empty\else
|
||||||
Personal: \personalEmail
|
Personal: \personalEmail%
|
||||||
\fi
|
\fi%
|
||||||
\ifx\personalSchoolEmail\empty\else
|
\ifx\personalSchoolEmail\empty\else
|
||||||
\ifx\personalEmail\empty\else\\\fi
|
\ifx\personalEmail\empty\else\\\fi
|
||||||
School: \personalSchoolEmail
|
School: \personalSchoolEmail%
|
||||||
\fi
|
\fi%
|
||||||
\ifx\personalWebsite\empty\else
|
\ifx\personalWebsite\empty\else
|
||||||
\ifx\personalEmail\empty\else\\\fi
|
\ifx\personalEmail\empty
|
||||||
\ifx\personalSchoolEmail\empty\else\\\fi
|
\ifx\personalSchoolEmail\empty\else\\\fi
|
||||||
Website: \href{https://\personalWebsite}{\personalWebsite}
|
\else\\%
|
||||||
|
\fi
|
||||||
|
Website: \href{https://\personalWebsite}{\personalWebsite}%
|
||||||
\fi
|
\fi
|
||||||
\end{minipage}
|
\end{minipage}
|
||||||
|
|
||||||
@@ -101,7 +103,7 @@
|
|||||||
\item Designed and deployed facility's first multi-camera live streaming system with ATEM production switchers and custom graphics pipeline
|
\item Designed and deployed facility's first multi-camera live streaming system with ATEM production switchers and custom graphics pipeline
|
||||||
\item Developed real-time graphics integration system connecting race timing data to broadcast overlays
|
\item Developed real-time graphics integration system connecting race timing data to broadcast overlays
|
||||||
\item Operated replay and instant highlight system for live broadcast to FloRacing and NBC Sports networks
|
\item Operated replay and instant highlight system for live broadcast to FloRacing and NBC Sports networks
|
||||||
\item Managed live production during race events, coordinating camera operators, replay, and graphics control\\
|
\item Managed live production during race events, coordinating camera operators, replay, and graphics control
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
@@ -138,7 +140,7 @@
|
|||||||
|
|
||||||
\textbf{Physics Teaching Assistant} \hfill \textbf{Aug 2023 - May 2024}
|
\textbf{Physics Teaching Assistant} \hfill \textbf{Aug 2023 - May 2024}
|
||||||
\begin{itemize}[noitemsep,topsep=2pt]
|
\begin{itemize}[noitemsep,topsep=2pt]
|
||||||
\item Assisted students during laboratory sections with introductory and exploratory physics lab experiments, working with industry-standard data collection and analysis tools\\
|
\item Assisted students during laboratory sections with introductory and exploratory physics lab experiments, working with industry-standard data collection and analysis tools
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\textscbf{Miller Place School District} \hfill \textscbf{Miller Place, NY}
|
\textscbf{Miller Place School District} \hfill \textscbf{Miller Place, NY}
|
||||||
|
|||||||
32
resume.tex
32
resume.tex
@@ -49,23 +49,27 @@
|
|||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\begin{minipage}[t]{0.33\textwidth}
|
\begin{minipage}[t]{0.33\textwidth}
|
||||||
\centering
|
\centering
|
||||||
\ifx\personalEmail\empty\else
|
\ifx\personalEmail\empty\else\personalEmail\fi%
|
||||||
\personalEmail
|
|
||||||
\fi
|
|
||||||
\ifx\personalSchoolEmail\empty\else
|
\ifx\personalSchoolEmail\empty\else
|
||||||
\ifx\personalEmail\empty\else\\\fi
|
\ifx\personalEmail\empty\else\\\fi
|
||||||
\personalSchoolEmail
|
\personalSchoolEmail%
|
||||||
\fi
|
\fi%
|
||||||
\ifx\personalPhone\empty\else
|
\ifx\personalPhone\empty\else
|
||||||
\ifx\personalEmail\empty\else\\\fi
|
\ifx\personalEmail\empty
|
||||||
\ifx\personalSchoolEmail\empty\else\\\fi
|
\ifx\personalSchoolEmail\empty\else\\\fi
|
||||||
\personalPhone
|
\else\\%
|
||||||
\fi
|
\fi
|
||||||
|
\personalPhone%
|
||||||
|
\fi%
|
||||||
\ifx\personalWebsite\empty\else
|
\ifx\personalWebsite\empty\else
|
||||||
\ifx\personalEmail\empty\else\\\fi
|
\ifx\personalEmail\empty
|
||||||
\ifx\personalSchoolEmail\empty\else\\\fi
|
\ifx\personalSchoolEmail\empty
|
||||||
\ifx\personalPhone\empty\else\\\fi
|
\ifx\personalPhone\empty\else\\\fi
|
||||||
\href{https://\personalWebsite}{\personalWebsite}
|
\else\\%
|
||||||
|
\fi
|
||||||
|
\else\\%
|
||||||
|
\fi
|
||||||
|
\href{https://\personalWebsite}{\personalWebsite}%
|
||||||
\fi
|
\fi
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\begin{minipage}[t]{0.33\textwidth}
|
\begin{minipage}[t]{0.33\textwidth}
|
||||||
|
|||||||
Reference in New Issue
Block a user