A => .gitignore +6 -0
@@ 1,6 @@
+# LaTeX rubbish
+document.*
+!document.tex
+
+# Binary images
+img/*.pdf
A => compile.sh +99 -0
@@ 1,99 @@
+#!/bin/bash
+#
+# Copyright © 2018-2020 José Alberto Orejuela García (josealberto4444)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# If an expansion does not fit, give the empty list
+shopt -s nullglob
+
+NC='\033[0m'
+RED='\033[1;31m'
+GREEN='\033[1;32m'
+YELLOW='\033[1;33m'
+BLUE='\033[1;34m'
+
+function buildpdf {
+ inkscape -D $1 --export-type=pdf
+}
+
+function plural {
+ message="$1"
+ if [ "${message:0:2}" -ne "1 " ]; then
+ if [ "${message: -1}" = "x" ]; then
+ message="${message}es"
+ else
+ message="${message}s"
+ fi
+ fi
+ echo "$message"
+}
+
+# Check if all images are already built from svg, and build if not
+for svgfile in img/*.svg; do
+ if [ $svgfile != "img/template.svg" ]; then
+ pdffile=${svgfile%svg}pdf
+ if [ ! -f $pdffile ]; then
+ buildpdf $svgfile && echo -e "${BLUE}Built $pdffile${NC}"
+ elif [ $svgfile -nt $pdffile ]; then
+ buildpdf $svgfile && echo -e "${BLUE}Updated $pdffile${NC}"
+ fi
+ fi
+done
+
+# Compile LaTeX document
+texfot pdflatex -file-line-error -interaction nonstopmode "$1" > /dev/null
+echo ""
+biber ${1%.tex}
+texfot pdflatex -file-line-error -interaction nonstopmode "$1" > /dev/null
+echo ""
+eval "$( (texfot pdflatex -file-line-error -interaction nonstopmode "$1") > >(readarray -t t_std; typeset -p t_std); t_ret=$?; typeset -p t_ret )"
+
+if [ "$t_ret" -ne 0 ]; then
+ no_err=0
+ for line in "${t_std[@]}"; do
+ if [ "${line:0:2}" = "./" ]; then
+ no_err=$((no_err + 1))
+ echo -ne "${RED}"; echo -n "${line}"; echo -e "${NC}"
+ else
+ echo "$line"
+ fi
+ done
+ message=$(plural "$no_err error")
+ echo -e "\n${RED}${message}${NC}"
+else
+ if [ "${#t_std[@]}" -gt 3 ]; then
+ no_warn=0 #$(("${#t_std[@]}" - 3))
+ no_badbox=0
+ no_line=1
+ for line in "${t_std[@]}"; do
+ if [ "$no_line" -ne 1 ] && [ "$no_line" -ne 2 ] && [ "$no_line" -ne "${#t_std[@]}" ]; then
+ if [ "${line:0:15}" = "LaTeX Warning: " ]; then
+ no_warn=$((no_warn + 1))
+ else
+ no_badbox=$((no_badbox + 1))
+ fi
+ echo -ne "${YELLOW}"; echo -n "${line}"; echo -e "${NC}"
+ else
+ echo "$line"
+ fi
+ no_line=$((no_line + 1))
+ done
+ message=$(plural "${no_warn} warning")", "$(plural "${no_badbox} badbox")
+ echo -e "\n${YELLOW}${message}${NC}"
+ else
+ printf '%s\n' "${t_std[@]}"
+ echo -e "\n${GREEN}0 errors, 0 warnings, 0 badboxes${NC}"
+ fi
+fi
A => document.tex +37 -0
@@ 1,37 @@
+\documentclass[spanish]{article}
+% If adding draft option it is easy to spot hyphenation errors and badboxes,
+% and it compiles very fast as it does not include images, only a box of those
+% images size (among other things).
+
+% Copyright © 2010-2021 José Alberto Orejuela García (josealberto4444)
+%
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU Affero General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU Affero General Public License for more details.
+%
+% You should have received a copy of the GNU Affero General Public License
+% along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+\usepackage{mystyle}
+\usepackage{mydocumentstyle}
+\addbibresource{mybib.bib}
+
+\newcommand{\cvitem}[4]{\textbf{#1} \hfill \textbf{#2} \\ #3 \hfill #4}
+
+\title{Curriculum vitae}
+\author{José Alberto Orejuela García}
+
+
+
+\begin{document}
+
+\input{./tex/cv.tex}
+
+\end{document}
A => mybib.bib +8 -0
@@ 1,8 @@
+@article{author:journal,
+author = "An author",
+title = "An article",
+journal = "A journal",
+publisher = "A publisher",
+year = "2018",
+note = "(to appear)"
+}
A => mydocumentstyle.sty +77 -0
@@ 1,77 @@
+\ProvidesPackage{mydocumentstyle}
+
+% Copyright © 2010-2020 José Alberto Orejuela García (josealberto4444)
+%
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU Affero General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU Affero General Public License for more details.
+%
+% You should have received a copy of the GNU Affero General Public License
+% along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+% Design
+
+% Let multi-line equations be split in several pages.
+% \allowdisplaybreaks
+
+% Equations numbered with regard to sections (can be changed to subsections).
+% \numberwithin{equation}{section}
+
+% From
+% https://en.wikibooks.org/wiki/LaTeX/Paragraph_Formatting#Paragraph_indent_and_break:
+% If you decide to set the indent to zero, then it means you will need a
+% vertical space between paragraphs in order to make them clear. The space
+% between paragraphs is held in \parskip, which could be altered manually.
+% However, this parameter is used elsewhere too, such as in lists, which means
+% you run the risk of making various parts of your document look very untidy by
+% changing this setting. If you want to use the style of having no indentation
+% with a space between paragraphs, use the parskip package, which does this for
+% you, while making adjustments to the spacing of lists and other structures
+% which use paragraph spacing, so they don't get too far apart.
+\setlength{\parindent}{0pt} \usepackage{parskip}
+% Setting both, parindent and parskip is considered a bad practice
+% typographically.
+
+% From https://en.wikibooks.org/wiki/LaTeX/Text_Formatting:
+% To get a straight right margin in the output, LaTeX inserts varying amounts
+% of space between the words. By default, it also inserts slightly more space
+% at the end of a sentence. However, the extra space added at the end of
+% sentences is generally considered typographically old-fashioned in English
+% language printing. (The practice is found in nineteenth century design and in
+% twentieth century typewriter styles.) Most modern typesetters treat the end
+% of sentence space the same as the interword space. (See for example,
+% Bringhurst's Elements of Typographic Style.) The additional space after
+% periods can be disabled with the command
+\frenchspacing
+% which tells LaTeX not to insert more space after a period than after ordinary
+% character. Frenchspacing can be turned off later in your document via the
+% \nonfrenchspacing command.
+
+% Line spacing. From
+% https://en.wikibooks.org/wiki/LaTeX/Text_Formatting#Line_Spacing: Use
+% \linespread{1.3} for "one and a half" line spacing, and \linespread{1.6} for
+% "double" line spacing. Normally the lines are not spread, so the default line
+% spread factor is 1. This may not be ideal in all situations: see
+% http://tex.stackexchange.com/questions/30073/why-is-the-linespread-factor-as-it-is
+%\linespread{1.3}
+
+
+% Margins and page size
+
+% For page size, geometry package is needed:
+\usepackage[a4paper]{geometry}
+% Margins can be set manually, but doing it is complicated and geometry package
+% does the job quite well. Some examples (each line is an example):
+% \usepackage[top=1cm, bottom=1.25cm, left=1.25cm, right=1.25cm]{geometry}
+% \usepackage[margin=1cm]{geometry}
+% For more examples, even with double-sided pages with asymmetric margins, see
+% https://en.wikibooks.org/wiki/LaTeX/
+% If setting both:
+% \usepackage[a4paper, margin=1cm]{geometry}
A => mystyle.sty +134 -0
@@ 1,134 @@
+\ProvidesPackage{mystyle}
+
+% Copyright © 2010-2021 José Alberto Orejuela García (josealberto4444)
+%
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU Affero General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU Affero General Public License for more details.
+%
+% You should have received a copy of the GNU Affero General Public License
+% along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+% Packages (almost) always needed
+
+ % Language support (hyphenation, sections, tables, figures, etc.). The
+ % language is specified in documentclass.
+ \usepackage{babel}
+
+ % Writing accents properly, fixing hyphenation problems with Latin
+ % characters, copying from PDF, etc.
+ \usepackage[T1]{fontenc}
+
+ % For writing maths. Mathtools includes and improves amsmath.
+ \usepackage{amsfonts}
+ \usepackage{mathtools}
+
+ % For managing the bibliography with biblatex + biber (the best
+ % option). The package csquotes is needed for correctly formatting
+ % quotes when not using American English.
+ \usepackage{csquotes}
+ \usepackage{biblatex}%[style=apa]
+
+ % Automatic hyperlinks. It does not work in draft mode.
+ \usepackage{hyperref}
+
+ % Automatic refs with \cref or \cpageref (only for page refs).
+ \usepackage{cleveref}
+
+
+% Other packages sorted by use or need
+
+ % Colours
+ %\usepackage{xcolor}
+
+ % For including images with \includegraphics.
+ %\usepackage{graphicx}
+
+ % Tensor indices written the good way. Example: \tensor{T}{_a_b^c}.
+ %\usepackage{tensor}
+
+ % For tables, similar to multicolumn. Usage:
+ % \multirow{"number_of_rows"}{"width"}{"content"}. (* for width means
+ % natural width of content.)
+ %\usepackage{multirow}
+
+ % Useful for use itemize environment without warnings of not having
+ % symbols in font.
+ %\usepackage{textcomp}
+
+ % Show labels, for example, of equations, in the margin.
+ %\usepackage{showkeys}
+
+ % Rotate elements with sideways environment.
+ %\usepackage{rotating}
+
+ % For crossing out an element of a equation with an arrow telling that
+ % is zero "\cancelto{}{}".
+ %\usepackage{cancel}
+
+ % This tells LaTeX that document is encoded with UTF-8 (which is how it
+ % should be). Not needed if using modern compilers like lualatex or a
+ % latex version later than April 2018.
+ %\usepackage[utf8]{inputenc}
+
+
+% Design
+
+ % For forcing all math to be written in \displaystyle size.
+ %\everymath{\displaystyle}
+
+
+% Hack for finding illegal characters
+%\DeclareUnicodeCharacter{202F}{FIX ME!}
+
+% Operators (alphabetically sorted)
+ \DeclareMathOperator{\arccosh}{arccosh}
+ \DeclareMathOperator{\diag}{diag}
+ \DeclareMathOperator{\divce}{div}
+ \DeclareMathOperator{\mcd}{mcd}
+ \DeclareMathOperator{\rg}{rg}
+ \DeclareMathOperator{\sgn}{sgn}
+ \DeclareMathOperator{\tr}{tr}
+
+% Useful shortcuts (alphabetically sorted with respect to abbreviation) (There
+% are a lot of bad practices here, I know, I will clean it some day.)
+ %\newcommand{\blankpage}{\newpage \thispagestyle{empty} \mbox{}
+ %\newpage} % Use \cleardoublepage instead
+ \newcommand{\bra}[1]{\left \langle {#1} \right |}
+ \newcommand{\bk}[1]{\left \langle {#1} \right \rangle}
+ \newcommand{\bkii}[2]{\left \langle {#1} \middle | {#2} \right \rangle}
+ \newcommand{\bkiii}[3]{\left \langle {#1} \middle | {#2} \middle | {#3} \right \rangle}
+ \newcommand{\dfunc}[2]{\frac{\delta {#1}}{\delta {#2}}}
+ \newcommand{\dord}[2]{\frac{d {#1}}{d {#2}}}
+ \newcommand{\dordn}[3]{\frac{d^{#1} {#2}}{d {#3}^{#1}}}
+ \newcommand{\dpart}[2]{\frac{\partial {#1}}{\partial {#2}}}
+ \newcommand{\dpartn}[3]{\frac{\partial^{#1} {#2}}{\partial {#3}^{#1}}}
+ \newcommand{\e}{\cdot 10^}
+ \newcommand{\fun}[5]{\begin{aligned} {#1}&: & {#2} & \longrightarrow {#3}, \\ & & {#4} & \longmapsto {#5} \end{aligned}}
+ \newcommand{\half}{\frac 1 2}
+ \newcommand{\ket}[1]{\left | {#1} \right \rangle}
+ \newcommand{\nota}[2]{\left [ \begin{array}{c} \textnormal{#1} \\ {#2} \end{array} \right ]}
+
+% Colours
+ %\definecolor{gris}{RGB}{134,132,140}
+ %\definecolor{magenta}{RGB}{219,15,87}
+ %\definecolor{cian}{RGB}{23,138,218}
+ %\definecolor{naranja}{RGB}{229,115,40}
+ %\definecolor{verde}{RGB}{69,147,39}
+
+ %\newcommand{\gris}{\textcolor{gris}}
+ %\newcommand{\magenta}{\textcolor{magenta}}
+ %\newcommand{\cian}{\textcolor{cian}}
+ %\newcommand{\naranja}{\textcolor{naranja}}
+ %\newcommand{\verde}{\textcolor{verde}}
+
+ %\newcommand{\tblue}{\textcolor{blue}}
+ %\newcommand{\tred}{\textcolor{red}}
+ %\newcommand{\twhite}{\textcolor{white}}
A => tex/cv.tex +39 -0
@@ 1,39 @@
+\begin{center}
+ \begin{huge}
+ \textbf{José Alberto Orejuela García}
+ \end{huge}
+
+ \begin{tabular}{r|l}
+ Granada, España & \href{mailto:cv@josealberto4444.com}{cv@josealberto4444.com}
+ \end{tabular}
+\end{center}
+
+\section*{Formación académica}
+\cvitem{Grado en Física}{}{Universidad de Sevilla}{2009--2013}
+
+\cvitem{Máster en Física y Matemáticas}{}{Universidad de Granada}{2013--2014}
+
+\cvitem{Doctorado en Física y Matemáticas}{}{Universidad de Granada}{2015--2019}
+
+\cvitem{Máster en Profesorado de Enseñanza Secundaria}{}{Universidad de Granada}{2020--2021}
+
+\subsection*{Idiomas}
+\cvitem{Español}{}{Sin certificar}{Nativo}
+
+\cvitem{Inglés}{}{Certificate of Advanced English}{C1}
+
+\section*{Experiencia laboral}
+\cvitem{Contrato de investigación}{}{Instituto de Astrofísica de Canarias}{07/2013--09/2013}
+
+\cvitem{Contrato de personal docente investigador en formación}{}{Universidad de Granada}{02/2015--01/2019}
+
+\cvitem{Prácticas en Instituto de Enseñanza Secundaria}{}{IES Francisco Ayala}{02/2021--04/2021}
+
+\section*{Competencias}
+\cvitem{Experiencia con diferentes lenguajes de programación}{}{Bash, C, C++, Python, sh}{\url{https://git.sr.ht/~josealberto4444}}
+
+\cvitem{Experiencia con sistemas de composición de documentos}{}{\LaTeX, LibreOffice}{}
+
+\cvitem{Experiencia como administrador de sistemas Linux}{}{Alpine Linux, Arch Linux, Debian}{}
+
+\cvitem{Experiencia con programas de cálculo científico}{}{Octave, SageMath}{}