From a8e9fab72569b7a46ddb971c5e1aa49674a65f50 Mon Sep 17 00:00:00 2001 From: Sean O'Connor Date: Tue, 10 Dec 2024 15:16:52 -0500 Subject: [PATCH] Resolve line break errors in .tex file --- Dockerfile | 17 ++++++++++++++++ build-local.sh | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ cv.tex | 22 +++++++++++--------- resume.tex | 32 ++++++++++++++++------------- 4 files changed, 102 insertions(+), 24 deletions(-) create mode 100644 Dockerfile create mode 100755 build-local.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ad43f3d --- /dev/null +++ b/Dockerfile @@ -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"] \ No newline at end of file diff --git a/build-local.sh b/build-local.sh new file mode 100755 index 0000000..2182e53 --- /dev/null +++ b/build-local.sh @@ -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" \ No newline at end of file diff --git a/cv.tex b/cv.tex index 4fcb747..9ddf51c 100644 --- a/cv.tex +++ b/cv.tex @@ -43,16 +43,18 @@ \begin{minipage}[t]{\textwidth} \centering \ifx\personalEmail\empty\else - Personal: \personalEmail - \fi + Personal: \personalEmail% + \fi% \ifx\personalSchoolEmail\empty\else - \ifx\personalEmail\empty\else\\\fi - School: \personalSchoolEmail - \fi + \ifx\personalEmail\empty\else\\\fi + School: \personalSchoolEmail% + \fi% \ifx\personalWebsite\empty\else - \ifx\personalEmail\empty\else\\\fi - \ifx\personalSchoolEmail\empty\else\\\fi - Website: \href{https://\personalWebsite}{\personalWebsite} + \ifx\personalEmail\empty + \ifx\personalSchoolEmail\empty\else\\\fi + \else\\% + \fi + Website: \href{https://\personalWebsite}{\personalWebsite}% \fi \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 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 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} @@ -138,7 +140,7 @@ \textbf{Physics Teaching Assistant} \hfill \textbf{Aug 2023 - May 2024} \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} \textscbf{Miller Place School District} \hfill \textscbf{Miller Place, NY} diff --git a/resume.tex b/resume.tex index eef6081..6ab8419 100644 --- a/resume.tex +++ b/resume.tex @@ -49,23 +49,27 @@ \end{minipage}% \begin{minipage}[t]{0.33\textwidth} \centering - \ifx\personalEmail\empty\else - \personalEmail - \fi + \ifx\personalEmail\empty\else\personalEmail\fi% \ifx\personalSchoolEmail\empty\else - \ifx\personalEmail\empty\else\\\fi - \personalSchoolEmail - \fi + \ifx\personalEmail\empty\else\\\fi + \personalSchoolEmail% + \fi% \ifx\personalPhone\empty\else - \ifx\personalEmail\empty\else\\\fi - \ifx\personalSchoolEmail\empty\else\\\fi - \personalPhone - \fi + \ifx\personalEmail\empty + \ifx\personalSchoolEmail\empty\else\\\fi + \else\\% + \fi + \personalPhone% + \fi% \ifx\personalWebsite\empty\else - \ifx\personalEmail\empty\else\\\fi - \ifx\personalSchoolEmail\empty\else\\\fi - \ifx\personalPhone\empty\else\\\fi - \href{https://\personalWebsite}{\personalWebsite} + \ifx\personalEmail\empty + \ifx\personalSchoolEmail\empty + \ifx\personalPhone\empty\else\\\fi + \else\\% + \fi + \else\\% + \fi + \href{https://\personalWebsite}{\personalWebsite}% \fi \end{minipage}% \begin{minipage}[t]{0.33\textwidth}