Package: vitae
vitaeA Python module for building curriculum vitae and other documents from aBibTeXfile.vitaeleveragesbibtexparser,LaTeX, andpandocto streamline getting citations of your papers into the formats you need quickly without manual intervention. Of course, with many settings, it can be a bit tedious. I personally recommend setting up aJupyternotebook with the commands you regularly execute available there. Alternatively, you can call it from the terminal which allows it to work inside a more complex workflow.PurposeI hate formatting citations. It’s tedious, and error-prone. Further, when I build my CV, I tend to muck it up and leave something out, mis-sort it, duplicate it accidentally, etc. So, I need a tool to do a better job with what ie a menial task.Installpip install vitaeorpip install --user vitaeUsagePlease see the briefdemo Jupyter notebook. It’s very brief. I need to add more. The whole package is basically two functions. Please read the help:makemycvTo do anything useful here, you must haveLaTeXwith BibTeX installed. If you don’t useLaTeX, this module isn’t the place to start. Sorry.The first function here,makemycv, will take a few arguments and put sorted\bibentrycommands into.texfiles with names corresponding toBibTeX entrytypes. In doing so, you can then simply use an\inputcommand to embed all of these citations right in your document in an enumerated environment.You’ll need the following in the header of your LaTeX cv file.\usepackage{bibentry}
\newcommand{\enquote}[1]{``#1''}
\makeatletter\let\saved@bibitem\@bibitem\makeatother
\usepackage[colorlinks=true]{hyperref}
\makeatletter\let\@bibitem\saved@bibitem\makeatotherThe last 3 lines are only necessary if you want to use thehyperrefpackage, which has some compatibility issues with bibentry.Then put:\input{articles.tex}where you want articles listed, etc.Then, with your maintained.bibfile, in the same location as your cv (for now), andwithin the same directory as your cv and cv.bib fileopen a python terminal and type.>>> import vitae
>>> vitae.makemycv()Alternatively, you can type:> python -c  "import vitae; vitae.makemycv()"in your terminal (Anaconda Terminal if you are using Anaconda Python on Windows).This will make yourarticle.texfile along with the other defaults (see the help onmakemycv).Note that that are a ton of options formakemycv. Please use:>>> import vitae
>>> help(vitae.makemycv)To see how to tweak it to your needs.If you tryvitae, please understand:No warrantee. This is still a work in progress.Please provide your feedback.Please help! I can use help with additional portions.If you don’t use LaTeX, this isn’t easy enough for you yet. It’s a long ways away. However,texbloghas a decent start in writing aRésumé in LaTeX. Itdoesn’tinclude the paper inclusion trick being used byvitae.write_bibsThe second function iswrite_bibs. This allows you to convert bibs with a bunch of constraints into a format thatpandoccan output. It REQUIRES a fullLaTeXandpandocinstallation that works in your terminal environment.Constraints include:Since a yearNumberTypes of publicationsFor instance:>>> import vitae
>>> vitae.write_bibs(bibfile = '/Users/jslater/Documents/Resumes/cv.bib',
                     bibliographystyle='aiaa',
                     outfile_name='try.html',
                     since_year=2008)Alternatively, from a command line:> python -c  "import vitae; vitae.write_bibs(bibfile='cv.bib',
                                             bibliographystyle='aiaa',
                                             outfile_name = 'bibs.html',
                                             since_year=2008)"How I use itI have a Makefile that I use for tasks that I am creating. The first is a simple one for building my cv, the contents of which are:help:
        @echo "Please use \`make <target>' where <target> is one of"
        @echo "  cv         to make standard pdf cv"
        @echo "  pdf        see cv"

cv:
                python -c  'import vitae; vitae.makemycv(silent = True)'
          pdflatex cv
                bibtex cv
                pdflatex cv

pdf:
                cvSummaryPlease see the full help on each function.Vitae is onpypibut you can pip install the latest, and possibly non-working, version right now from github (I love bug reports!):pip install git+https://github.com/josephcslater/vitaeHelpvitaeusesluatexto enable unicode characters. On Ubuntu, the base tetex install doesn’t include the necessary fileluaotfload. To resolve this open a terminal and type:sudo apt install texlive-luatexRelease notes:1.1.3: Work-around forpandocfailure to convert{\emcorrectly.1.1.2: Unify name ofbibtex_typesandentrytypes. Will issue a warningif you incorrectly useentrytypes, but will still work.1.1.1: Included test bib file that can easily be accessed from notebook.Corrected incorrect help inmakemycvMinor non-functional corrections.1.1.0: Numerous minor fixes:write_bibsfailed when path not explicitly included.Quieted latex output.Moved toluatexto enable unicode characters.Readme updated to reflect terminal usage.1.0.0: You can now convert your bib citations to any format thatpandoccan handle. I think.0.1.1: You can now select onlybibentriesby a defined author. Note thatauthornamesare not always all that unique. You need to ensure that allauthornamesare perfect for the selected author. That means initials, etc. I hope to use fuzzywuzzy for this someday- it’s a bit complicated and a judgement call.0.1.0: First release. It works, it’s useful, it’s not done, but it does what I needed it for. You can now use \input statements with bibentry instead of typing your own citations by hand.Future plansPreferences.Reader (doesn’t overwrite specified arguments)Writer (configurator on call or when it doesn’t exist)Editor?Bug fixes when I find them. Any other suggestions?What else would be nice?