{"id":17788940,"url":"https://github.com/xgarrido/org-resume","last_synced_at":"2025-07-24T09:32:33.051Z","repository":{"id":11661472,"uuid":"14169714","full_name":"xgarrido/org-resume","owner":"xgarrido","description":"Vitae using org-mode","archived":false,"fork":false,"pushed_at":"2025-03-19T10:31:26.000Z","size":140,"stargazers_count":38,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-19T11:31:14.534Z","etag":null,"topics":["cv","emacs","orgmode"],"latest_commit_sha":null,"homepage":"https://xgarrido.github.io/org-resume","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xgarrido.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-11-06T10:36:48.000Z","updated_at":"2025-03-19T10:31:25.000Z","dependencies_parsed_at":"2025-03-19T11:26:50.003Z","dependency_job_id":"cf36956d-ffd3-43cb-a563-6d461128a725","html_url":"https://github.com/xgarrido/org-resume","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgarrido%2Forg-resume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgarrido%2Forg-resume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgarrido%2Forg-resume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgarrido%2Forg-resume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xgarrido","download_url":"https://codeload.github.com/xgarrido/org-resume/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246735350,"owners_count":20825223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cv","emacs","orgmode"],"created_at":"2024-10-27T10:26:13.491Z","updated_at":"2025-04-02T00:44:21.063Z","avatar_url":"https://github.com/xgarrido.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE:  Curiculum Vitæ\n#+AUTHOR: Xavier Garrido\n\n* Introduction\n\nA repository for my vitæ. It uses [[http://orgmode.org][org-mode]], a custom style sheet and a LaTeX\nfile style. The resume is done within [[file:resume.org][resume.org]] file. All styles are embedded\nwithin this file and a =Makefile= is provided to produce the =html= and =pdf=\nfiles.\n\n* Project publish function\n\nThis section is used to publish the documentation to =html= and =pdf= in the\n=pub/= directory.\n\nThis code defines the =publish-html-cv= and =publish-pdf-cv= which are used to\npublish the CV into =html= and =pdf=, respectively.\n\n** HTML export\n*** Requirements\n#+BEGIN_SRC emacs-lisp\n  (require 'ox-html)\n#+END_SRC\n*** Building html postamble\n#+NAME: html-postamble\n#+BEGIN_SRC shell :tangle no :results output\n  if [ -d .git ]; then\n      LC_MESSAGES=en git --no-pager log -1 HEAD --date=short --pretty=format:'\u003ci class=\\\"fab fa-github-alt\\\"\u003e\u003c/i\u003e commit \u003ca href=https://github.com/xgarrido/org-resume/commit/%H\u003e%h\u003c/a\u003e - %ad'\n  fi\n#+END_SRC\n*** Building html preamble\n#+NAME: html-preamble\n#+BEGIN_SRC shell :tangle no :results output\n  preamble+='\u003cdiv id=\\\"address\\\"\u003e'\n  preamble+='\u003cspan class=\\\"name\\\"\u003eXavier Garrido\u003c/span\u003e\u003cbr\u003e'\n  preamble+='\u003ca href=\\\"http://www.ijclab.in2p3.fr\\\"\u003eIJCLab\u003c/a\u003e\u003cbr\u003e'\n  preamble+='Paris-Saclay University, Orsay\u003cbr\u003e'\n  preamble+='\u003c/div\u003e'\n  preamble+='\u003cdiv id=\\\"contact\\\"\u003e'\n  preamble+='\u003cspan class=\\\"name\\\"\u003e\u0026nbsp;\u003c/span\u003e\u003cbr\u003e'\n  preamble+='(33) 1 64 46 84 28\u003cbr\u003e'\n  preamble+='\u003ca href=\\\"http://xgarrido.github.io\\\"\u003exgarrido.github.io\u003c/a\u003e\u003cbr\u003e'\n  preamble+='\u003ca href=\\\"mailto:garrido@ijclab.in2p3.fr\\\"\u003exavier.garrido@ijclab.in2p3.fr\u003c/a\u003e'\n  preamble+='\u003c/div\u003e'\n  echo -ne $preamble\n#+END_SRC\n*** Project definition\n#+BEGIN_SRC emacs-lisp :noweb yes\n  (setq this-directory (file-name-directory (or load-file-name buffer-file-name)))\n  (setq pub-directory (concat this-directory \"pub/\"))\n  (unless (boundp 'org-publish-project-alist)\n    (setq org-publish-project-alist nil))\n\n  (setq org-publish-timestamp-directory \"/tmp/org-timestamps/\")\n\n  (setq org-html-style-default \"\")\n  (setq org-html-htmlize-output-type 'css)\n\n  (add-to-list\n   'org-publish-project-alist\n   `(\"publish-html-cv\"\n     :base-directory ,this-directory\n     :base-extension \"org\"\n     :publishing-directory ,(expand-file-name \"html\" pub-directory)\n     :publishing-function org-html-publish-to-html\n     :exclude \".*publish.*.org\\\\|README.org\"\n     :time-stamp-file nil\n     :section-numbers nil\n     :with-toc nil\n     :html-head \"\u003clink rel=\\\"stylesheet\\\" href=\\\"stylesheets/styles.css\\\"\u003e\n                 \u003clink rel=\\\"stylesheet\\\" href=\\\"stylesheets/org-pygments.css\\\"\u003e\"\n     :html-preamble  \"\u003c\u003chtml-preamble()\u003e\u003e\"\n     :html-postamble \"\u003c\u003chtml-postamble()\u003e\u003e\"\n     :html-head-include-scripts nil))\n#+END_SRC\n\n*** CSS stylesheets\n**** Main stylesheets\n:PROPERTIES:\n:HEADER-ARGS: :tangle pub/html/stylesheets/styles.css :mkdirp yes\n:END:\n***** Google fonts\n#+BEGIN_SRC css\n  @import url(//fonts.googleapis.com/css?family=Open+Sans);\n  @import url(//fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);\n  @import url(//fonts.googleapis.com/css?family=Inconsolata);\n#+END_SRC\n\n***** Main =css= definitions\n****** Body\n#+BEGIN_SRC css\n  body {\n      width:800px;\n      margin:50px auto;\n      /*font:14px/1.5 Lato, \"Helvetica Neue\", Helvetica, Arial, sans-serif;*/\n      font-family: \"Open Sans\", sans-serif;\n      font-size: 12px;\n      color:#777777;\n      font-weight:300;\n  }\n#+END_SRC\n\n****** Headline\n#+BEGIN_SRC css\n  h1, h2, h3, h4, h5, h6 {\n      color:#777777;\n      margin:0 0 20px;\n  }\n\n  h1, h2, h3 {\n      line-height:1.1;\n  }\n\n  h1 {\n      display: none;\n  }\n\n  h3, h4, h5, h6 {\n      font-style: italic;\n  }\n#+END_SRC\n\n****** Link\n#+BEGIN_SRC css\n  a {\n      color: #3399cc; /*#67ad00;*/\n      font-weight:400;\n      text-decoration:none;\n  }\n\n  a:hover {\n      color:#006699; /*#7fd600;*/\n  }\n\n  a small {\n      font-size:11px;\n      color:#777777;\n      margin-top:-0.6em;\n      display:block;\n  }\n\n  a:hover small {\n      color:#777777;\n  }\n#+END_SRC\n\n****** Code, table, image\n#+BEGIN_SRC css\n  p, ul, ol, table, pre, dl {\n      margin:0 0 20px;\n  }\n\n  blockquote {\n      border-left:1px solid #e5e5e5;\n      width:600px;\n      padding:0 0 0 20px;\n      font-style:italic;\n  }\n\n  code, pre {\n      font-family:Inconsolata, Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;\n      color:#777;\n      font-size:12px;\n  }\n\n  pre {\n      padding:8px 15px;\n      background: #f8f8f8;\n      border-radius:5px;\n      border:1px solid #e5e5e5;\n      overflow-x: auto;\n  }\n\n  table {\n      width:80%;\n      border-collapse:collapse;\n      margin-left:auto;\n      margin-right:auto;\n  }\n\n  th, td {\n      text-align:left;\n      padding:5px 10px;\n      border-bottom:1px solid #e5e5e5;\n  }\n\n  dt {\n      color:#444;\n      font-weight:700;\n  }\n\n  th {\n      color:#444;\n  }\n\n  img {\n      max-width:100%;\n  }\n#+END_SRC\n****** Misc. (bold, =hr= style)\n#+BEGIN_SRC css\n  #content {\n      width:700px;\n      float:right;\n      padding-bottom:50px;\n  /* border:1px solid #e5e5e5; */\n  /* border-width:1px 0; */\n  /* padding:20px 0; */\n  /* margin:0 0 20px; */\n  }\n\n  strong {\n      color:#222;\n      font-weight:700;\n  }\n  small {\n      font-size:11px;\n  }\n\n  hr {\n      border:0;\n      background:#e5e5e5;\n      height:1px;\n      margin:0 0 20px;\n  }\n\n  .footpara {\n      display: inline;\n  }\n#+END_SRC\n\n****** Scrollbars\n#+BEGIN_SRC css\n  .scrollbar-container {\n      position: absolute;\n      top: 0; bottom: 0; left: 0; right: 0;\n      margin: 20px;\n\n      border: 4px solid rgba(0, 0, 0, 0.2);\n      overflow: auto;\n      background-color: whiteSmoke;\n  }\n  .scrollbar-container .inner {\n      height: 2011px;\n      width: 1985px;\n      padding: 1em;\n      background-color: white;\n      font-family: sans-serif;\n  }\n  ::-webkit-scrollbar {\n      background: transparent;\n  }\n  ::-webkit-scrollbar-thumb {\n      background-color: rgba(0, 0, 0, 0.2);\n      border: solid whiteSmoke 4px;\n      border-radius:15px;\n  }\n  ::-webkit-scrollbar-thumb:hover {\n      background-color: rgba(0, 0, 0, 0.3);\n  }\n#+END_SRC\n\n****** Preamble, postamble\n#+BEGIN_SRC css\n  #preamble:before, #preamble:after {\n      display: table;\n      content: \"\";\n  }\n\n  #preamble:after {\n      clear: both;\n  }\n\n  #postamble {\n      margin-top: 10px;\n      text-align: center;\n      font-size: 11px;\n      clear: both;\n  }\n\n  #address {\n      float: left;\n  }\n\n  #contact {\n      float: right;\n      text-align: right;\n  }\n\n  .name {\n      font-size: 20px;\n      line-height: 22px;\n      font-weight: 600;\n  }\n#+END_SRC\n\n****** Adapting media source\n#+BEGIN_SRC css\n  @media print, screen and (max-width: 960px) {\n\n      body {\n          width:auto;\n          margin:0;\n      }\n\n      header, content, footer {\n          float:none;\n          position:static;\n          width:auto;\n      }\n\n      header {\n          padding-right:320px;\n      }\n\n      header a small {\n          display:inline;\n      }\n\n      header ul {\n          position:absolute;\n          right:50px;\n          top:52px;\n      }\n  }\n\n  @media print, screen and (max-width: 720px) {\n      body {\n          word-wrap:break-word;\n      }\n\n      header {\n          padding:0;\n      }\n\n      header ul, header p.view {\n          position:static;\n      }\n\n      pre, code {\n          word-wrap:normal;\n      }\n  }\n\n  @media print, screen and (max-width: 480px) {\n      body {\n          padding:15px;\n      }\n\n      header ul {\n          display:none;\n      }\n  }\n\n  @media print {\n      body {\n          padding:0.4in;\n          font-size:12pt;\n          color:#444;\n      }\n  }\n#+END_SRC\n\n**** Org source code styles\n:PROPERTIES:\n:HEADER-ARGS: :tangle pub/html/stylesheets/org-pygments.css :mkdirp yes\n:END:\n\n#+BEGIN_SRC css\n  .org-string,\n  .org-type {\n      color: #DEB542;\n  }\n\n  .org-builtin,\n  .org-variable-name,\n  .org-constant,\n  .org-function-name {\n      color: #69B7F0;\n  }\n\n  .org-comment,\n  .org-comment-delimiter,\n  .org-doc {\n      color: #93a1a1;\n  }\n\n  .org-keyword {\n      color: #D33682;\n  }\n\n  pre {\n      color: #777777;\n  }\n#+END_SRC\n\n** PDF export\n*** LaTeX style\n\nA homemade style for producing nice looking vitæ with =org-mode=. The main trick\nis to use [[http://mirrors.linsrv.net/tex-archive/macros/latex/contrib/titlesec/][titlesec]] LaTeX package to tweak the title/section/subsection... look\nand thus, use all the hierarchical view of =org-mode=. Then the style itself is\na mix of [[http://kjhealy.github.io/kjh-vita/][Kieran Healy's CV]] with an old one I had.\n**** =org= preamble\n:PROPERTIES:\n:HEADER-ARGS: :tangle org-preamble.sty\n:END:\n\nThis section defines =org= preamble and settings for documents exported from\n=.org= to =.tex= files. The basic use is to add =\\usepackage{org-preamble}= in\nyour LaTeX document.\n\n***** Basics\n#+BEGIN_SRC latex\n  \\NeedsTeXFormat{LaTeX2e}\n  \\ProvidesPackage{org-preamble}[2013/03/03 v0.01 Bundling of Preamble items for Org to LaTeX export]\n#+END_SRC\n\n***** Style options\nOptions can be passed to =org-preamble= style file within =\\usepackage[options]=\ncall. For the time being, I have only copied/pasted how to declare such options\nbut do not use it.\n#+BEGIN_SRC latex :tangle no\n  \\RequirePackage{ifthen}\n  \\newboolean{@fr} %\n  \\setboolean{@fr}{false} %\n  \\DeclareOption{fr}{\n    \\setboolean{@fr}{true}\n  }\n  \\ProcessOptions\n#+END_SRC\n\n***** Packages requirements\n****** AMS packages\n#+BEGIN_SRC latex\n  \\RequirePackage{amsmath,amssymb}\n#+END_SRC\n****** Listings package\n[[https://code.google.com/p/minted/][minted]] is a package that facilitates expressive syntax highlighting in LaTeX\nusing the powerful Pygments library. The package also provides options to\ncustomize the highlighted source code output using =fancyvrb=.\n#+BEGIN_SRC latex\n  \\RequirePackage[cache]{minted}\n#+END_SRC\n\n****** Unicode typesettings aka XeTeX\n#+BEGIN_SRC latex\n  \\RequirePackage{ifxetex}\n  \\ifxetex\n  \\RequirePackage{fontspec}\n  \\RequirePackage{xunicode}\n  %%\\else\n  \\fi\n#+END_SRC\n\n****** hyperref package\n#+BEGIN_SRC latex\n  \\RequirePackage{hyperref}\n#+END_SRC\n****** [[http://www.ctan.org/pkg/pifont][pifont]] package\n#+BEGIN_SRC latex\n  \\RequirePackage{pifont}\n#+END_SRC\n****** comment package\n#+BEGIN_SRC latex\n  \\RequirePackage{comment}\n#+END_SRC\n****** [[http://www.texample.net/tikz/][tikz]] package\n#+BEGIN_SRC latex\n  \\RequirePackage{tikz}\n  \\usetikzlibrary{positioning,arrows,decorations,backgrounds,patterns,matrix,shapes,fit,calc,shadows,plotmarks,spy,trees}\n#+END_SRC\n\nWe use the external library from =tikz= to cache i.e. produce a =pdf= file of\neach =tikzpicture=. =tikz/external= looks if the pdf exist and if not, export it.\n#+BEGIN_SRC latex\n  %%\\tikzset{\n  %%  external/system call={%\n  %%    xelatex -shell-escape\n  %%    -halt-on-error -interaction=batchmode\n  %%    -jobname \"\\image\" \"\\texsource\"}}\n  %%\\tikzexternalize[prefix=latex.d/]\n  \\input \"|mkdir -p latex.d\"\n  \\input \"|mkdir -p /tmp/latex.d\"\n#+END_SRC\n****** xspace package\n#+BEGIN_SRC latex\n  \\RequirePackage{xspace}\n#+END_SRC\n\n****** underline package\n#+BEGIN_SRC latex\n  \\RequirePackage[normalem]{ulem}\n#+END_SRC\n****** =relsize=\n#+BEGIN_SRC latex\n  \\RequirePackage{relsize}\n#+END_SRC\n****** Font Awesome\n#+BEGIN_SRC latex\n  \\newfontfamily{\\FA}{FontAwesome}\n  \\newcommand*{\\faicon}[1]{{\\FA\\csname faicon@#1\\endcsname}}\n  \\expandafter\\def\\csname faicon@github-alt\\endcsname{\\symbol{\"F113}}\\def\\faGithubAlt{{\\FA\\csname faicon@github-alt\\endcsname}\\xspace}\n  \\expandafter\\def\\csname faicon@external-link\\endcsname{\\symbol{\"F08E}}\\def\\faExternalLink{{\\FA\\csname faicon@external-link\\endcsname}\\xspace}\n#+END_SRC\n***** Email handling\n#+BEGIN_SRC latex\n  \\let\\@email\\@empty\n  \\@ifundefined{email}{%\n    \\newcommand\\email[1]{\\gdef\\@email{#1}}}{}\n#+END_SRC\n***** New commands\n****** Clearing odd pages\n#+BEGIN_SRC latex\n  \\RequirePackage{changepage}\n  \\newcommand\\clearemptydoublepage{%\n    \\checkoddpage\n    \\ifthenelse{\\boolean{oddpage}}%\n               {\\null\\clearpage\\thispagestyle{empty} \\null \\clearpage}%\n               {\\null\\clearpage}%\n  }\n  %%\\newcommand{\\clearemptydoublepage}{\\newpage{\\cleardoubleemptypage\\thispagestyle{empty}}\n#+END_SRC\n\n**** CV style\n:PROPERTIES:\n:HEADER-ARGS: :tangle cv-style.sty\n:END:\n\n***** Basics\n#+BEGIN_SRC latex\n  \\NeedsTeXFormat{LaTeX2e}\n  \\ProvidesPackage{cv_style}[2013/11/06 v0.01 Bundling CV LaTeX style]\n#+END_SRC\n\n***** Package options\n#+BEGIN_SRC latex\n  \\RequirePackage{kvoptions}\n  \\SetupKeyvalOptions{\n    family=cv,\n    prefix=cv@\n  }\n  \\DeclareBoolOption[false]{oldstyle}\n  \\ProcessKeyvalOptions*\n#+END_SRC\n***** Default parameter values\nThese values can be overloaded within the org file using =#+LATEX_HEADER=\ncommand.\n\n#+BEGIN_SRC latex\n  \\def\\myemail{xavier.garrido@lal.in2p3.fr}\n  \\def\\myweb{xavier.github.io}\n  \\def\\myphone{+33 (0)1 64 46 84 28}\n  \\def\\myfax{+33 (0)1 69 07 94 04}\n#+END_SRC\n***** Colors\n#+BEGIN_SRC latex\n  \\definecolor{red}{RGB}{221,42,43}\n  \\definecolor{green}{RGB}{105,182,40}\n  \\definecolor{blue}{RGB}{0,51,153}\n  \\definecolor{gray}{RGB}{25,25,25}\n  %\\definecolor{red}{HTML}{D43F3F}\n  %\\definecolor{blue}{HTML}{00ACE9}\n  %\\definecolor{green}{HTML}{6A9A1F}\n  \\colorlet{theMainColor}{blue}\n  \\colorlet{theRefColor}{blue!90}\n  \\newcommand{\\globalcolor}[1]{%\n    \\color{#1}\\global\\let\\default@color\\current@color\n  }\n#+END_SRC\n***** Packages\n#+BEGIN_SRC latex\n  \\RequirePackage{titlesec}\n  \\RequirePackage{enumitem}\n  \\RequirePackage{a4wide}\n  \\hypersetup{\n    xetex,\n    colorlinks=true,\n    urlcolor=theRefColor,\n    filecolor=theRefColor,\n    linkcolor=theRefColor,\n    plainpages=false,\n    pdfpagelabels,\n    bookmarksnumbered,\n    pagebackref\n  }\n  \\setlength{\\parindent}{0cm}\n#+END_SRC\n***** Fonts\nChoose fonts for use with xelatex. Minion and Myriad are widely available, from\nAdobe. Inconsolata is used as monospace font.\n\n#+BEGIN_SRC latex\n  \\setromanfont[Mapping={tex-text},Numbers={OldStyle}]{Minion Pro}\n  \\setsansfont[Mapping=tex-text,Colour=theMainColor]{Myriad Pro}\n  \\setmonofont[Mapping=tex-text,Scale=0.9]{Inconsolata}\n#+END_SRC\n***** Document title\n#+BEGIN_SRC latex\n  \\RequirePackage{ifthen}\n  \\newboolean{@fr} %\n  \\setboolean{@fr}{false} %\n  \\DeclareOption{fr}{\n    \\setboolean{@fr}{true}\n  }\n  \\ProcessOptions\n  \\newcommand{\\mytitle}{}\n  \\ifthenelse{\\boolean{@fr}}{\n  \\renewcommand{\\mytitle}{\\normalsize\\@author\\\\\\footnotesize \\href{http://www.lal.in2p3.fr}{Laboratoire de l'Accélérateur Linéaire}\n        \\\\ Bâtiment 200, \\\\ Université Paris-Sud, \\\\ \\vspace{-0.05in} 91898 Orsay Cedex}\n  }{\n  \\renewcommand{\\mytitle}{\\normalsize\\@author\\\\\\footnotesize \\href{http://www.lal.in2p3.fr}{Laboratoire de l'Accélérateur Linéaire}\n        \\\\ Building 200, \\\\ Paris-South University, \\\\ \\vspace{-0.05in} 91898 Orsay Cedex}\n  }\n  \\renewcommand*{\\maketitle}{%\n    \\globalcolor{gray}\n    \\begin{minipage}[t]{2.95in}\n      \\flushleft {\\mytitle}\n    \\end{minipage}\n    \\hfill\n    \\hfill\n    \\begin{minipage}[t]{1.7in}\n      \\ifthenelse{\\boolean{@fr}}{\n        \\flushright \\footnotesize Téléphone:~\\myphone \\\\\n      }{\n        \\flushright \\footnotesize Phone:~\\myphone \\\\\n      }\n      Fax:~\\myfax  \\\\\n      {\\scriptsize  \\texttt{\\href{mailto:\\myemail}{\\myemail}}} \\\\\n      {\\scriptsize  \\texttt{\\href{\\myweb}{\\myweb}}}\n    \\end{minipage}\n    \\vspace{10pt}\n  }\n#+END_SRC\n\n***** Tweaking sections \u0026 lists\n=titlesec= format respects the following writing convention:\n#+BEGIN_SRC latex :tangle no\n  \\titleformat{\u003ccommand\u003e}{\u003cshape\u003e}{\u003cformat\u003e}{\u003clabel\u003e}{\u003csep\u003e}{\u003cbefore-code\u003e}{\u003cafter-code\u003e}\n#+END_SRC\n\n****** =section=\n#+BEGIN_SRC latex\n  \\ifthenelse{\\boolean{cv@oldstyle}}{\n    \\titleformat{\\section}[block] %command\n                {\\usekomafont{sectioning}\\usekomafont{section}%\n                  \\tikz[overlay] \\shade[left color=white,right color=blue] (0,-0.7ex) rectangle (\\textwidth,-0.8ex);}%} %format\n                {\\thesection} %label\n                {1em} %sep\n                {} %before\n                [] %after\n                \\titlespacing{\\section}{0pt}{10pt}{5pt}}{\n    \\titleformat{\\section} %command\n                [leftmargin] %shape\n                {\\footnotesize\\bfseries\\sffamily\\raggedleft} %format\n                {} %label\n                {0pt} %sep\n                {\\lowercase} %before\n                [] %after\n                \\titlespacing{\\section}{90pt}{10pt}{15pt}}\n#+END_SRC\n\n****** =subsection=\n#+BEGIN_SRC latex\n  \\titleformat{\\subsection} %command\n              {\\bfseries\\itshape} %format\n              {} %label\n              {0pt} %sep\n              {} %before\n              [] %after\n  \\ifthenelse{\\boolean{cv@oldstyle}}{}{\n    \\titlespacing{\\subsection}{-5pt}{15pt}{5pt}}\n#+END_SRC\n\n****** =itemize=\n#+BEGIN_SRC latex\n  \\ifthenelse{\\boolean{cv@oldstyle}}{}{\n    \\renewenvironment{itemize}{\n      \\begin{list}{\\textbullet}{%\n          \\setlength{\\itemsep}{0.05in}\n          \\setlength{\\parsep}{0in}\n          \\setlength{\\parskip}{0in}\n          \\setlength{\\topsep}{0in}\n          \\setlength{\\partopsep}{0in}\n          \\setlength{\\leftmargin}{0.1in}}\n        \\vspace{-5mm}}{\\end{list}}\n    %%  \\renewenvironment{enumerate}{\n    %%    \\begin{list}{}{%\n    %%        \\setlength{\\itemsep}{0.05in}\n    %%        \\setlength{\\parsep}{0in}\n    %%        \\setlength{\\parskip}{0in}\n    %%        \\setlength{\\topsep}{0in}\n    %%        \\setlength{\\partopsep}{0in}\n    %%        \\setlength{\\leftmargin}{0.1in}}}{\\end{list}}\n  }\n#+END_SRC\n\n***** VC status\n#+NAME: vc-status\n#+BEGIN_SRC sh :results output :tangle no\n  if [ -d .git ]; then\n      log=$(LC_MESSAGES=en git --no-pager log -1 HEAD --date=short --pretty=format:\"commit \\href{https://github.com/xgarrido/org-resume/commit/%H}{\\color{gray!50}\\texttt{%h}} -- %ad\")\n      echo \"\\renewcommand*{\\PrelimText}{\\textnormal{\\small\\color{gray!50}${log}}}\"\n  fi\n#+END_SRC\n#+BEGIN_SRC latex :noweb yes\n  \\RequirePackage{ifthen}\n  \\newboolean{@novc} %\n  \\setboolean{@novc}{false} %\n  \\DeclareOption{novc}{\n    \\setboolean{@novc}{true}\n  }\n  \\ProcessOptions\n  \\ifthenelse{\\boolean{@novc}}{}{\n    \\RequirePackage{prelim2e}\n    \u003c\u003cvc-status()\u003e\u003e\n  }\n#+END_SRC\n*** =org= to LaTeX stuff\n**** Use smart quote when exporting\n#+BEGIN_SRC emacs-lisp\n  (setq org-export-with-smart-quotes t)\n#+END_SRC\n**** Keep LaTeX logfiles\n#+BEGIN_SRC emacs-lisp\n  (setq org-latex-remove-logfiles nil)\n#+END_SRC\n\n**** Default list of LaTeX packages\nOnly include one default package and remove all the crapppy stuff included by\n=org= \\rightarrow =latex= translation.\n\n#+BEGIN_SRC emacs-lisp\n  (add-to-list 'org-latex-packages-alist '(\"\" \"org-preamble\"))\n#+END_SRC\n\n**** =org= LaTeX class\n#+BEGIN_SRC emacs-lisp\n  (unless (boundp 'org-latex-classes)\n    (setq org-latex-classes nil))\n\n  (add-to-list 'org-latex-classes\n               '(\"cv\"\n                 \"\\\\documentclass[10pt]{scrartcl}\n                  [PACKAGES]\n                  \\\\usepackage[]{cv-style}\n                  [NO-DEFAULT-PACKAGES]\"\n                 (\"\\\\section{%s}\" . \"\\\\section*{%s}\")\n                 (\"\\\\subsection{%s}\" . \"\\\\subsection*{%s}\")\n                 (\"\\\\subsubsection{%s}\" . \"\\\\subsubsection*{%s}\")\n                 (\"\\\\paragraph{%s}\" . \"\\\\paragraph*{%s}\")\n                 (\"\\\\subparagraph{%s}\" . \"\\\\subparagraph*{%s}\")))\n#+END_SRC\n**** Set LaTeX command\n#+BEGIN_SRC emacs-lisp\n  (setq org-latex-pdf-process '(\"latexmk -xelatex -shell-escape -quiet %f\"))\n#+END_SRC\n\n**** Markup filter\nRemove the quote block\n#+BEGIN_SRC emacs-lisp\n  (defun latex::cv-quote-filter (contents backend info)\n    (when (eq backend 'latex)\n      (replace-regexp-in-string \".\" \"\" contents)))\n  (add-to-list 'org-export-filter-quote-block-functions\n               'latex::cv-quote-filter)\n#+END_SRC\n\n*** Project definition\n#+BEGIN_SRC emacs-lisp\n  (add-to-list\n   'org-publish-project-alist\n   `(\"publish-pdf-cv\"\n     :base-directory ,this-directory\n     :base-extension \"org\"\n     :publishing-directory ,(expand-file-name \"pdf\" pub-directory)\n     :publishing-function org-latex-publish-to-pdf\n     :exclude \".*publish.*.org\\\\|README.org\"\n     :section-numbers 2\n     :with-toc        t\n     :latex-class \"cv\"\n     :latex-header-extra \"\"\n     ))\n#+END_SRC\n\n* Exporter functions\n#+BEGIN_SRC emacs-lisp\n  (defun org-publish-html ()\n    (progn\n      (org-publish-project \"publish-html-cv\" 'force)\n      (rename-file (expand-file-name \"resume.html\" (expand-file-name \"html\" pub-directory))\n                   (expand-file-name \"index.html\" (expand-file-name \"html\" pub-directory)) t)\n      ))\n#+END_SRC\n\n#+BEGIN_SRC emacs-lisp\n  (defun org-publish-pdf ()\n    (progn\n      (org-publish-project \"publish-pdf-cv\" 'force)\n      (shell-command \"mv ./latex.d pub/pdf/.; mv -f resume* *.sty ./pub/pdf/latex.d/.; mv ./pub/pdf/latex.d/resume*.org .\")\n      ))\n#+END_SRC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxgarrido%2Forg-resume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxgarrido%2Forg-resume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxgarrido%2Forg-resume/lists"}