[[!meta title="Babel for academics"]] [[!meta copyright="Copyright © 2021 Asilata Bapat"]] [[!inline pages="internal(2021/info/babel-nav)" raw="yes"]] # Babel for academics Asilata Bapat Plain org-mode is already an extremely powerful and customisable tool for task and time management, note-taking, calendar and agenda management, and much more. Babel takes org a step further by letting you write, evaluate, and export code in different languages from within a single file. In this talk, I will highlight some features of babel that I find exciting and extremely useful, particularly for an academic workflow. Getting started with babel can be intimidating, but it's hard to stop using it once you start. As an academic, I typically don't manage large coding projects. My primary purpose is writing lecture notes, assignments, and papers, and managing related admin. Typically, I want to try and automate the boring portions of my workflow without extra overhead. I also tend to find various tasks easier in some programming languages and harder in others, and prefer to mix and match languages as the task dictates. Babel makes this process seamless. A basic use case is writing a document in org-mode and exporting it to LaTeX or HTML. Org-mode even lets you write multiple documents in a single org file, which can be convenient. Babel lets you add all sorts of enhancements to the same file. For example, suppose we have a single org document with all the problem sets for a course. Within this single file, we could now: - draw pictures in ditaa, graphviz, or python instead of LaTeX, - use python to do complex calculations and then output the result as LaTeX, - define skeletons to quickly draw up assignment templates, - toggle exporting of assignments with or without solutions based on tags, - locally change export settings or run a post-export hook, - automatically export to LaTeX after saving, - tangle code blocks from some or all of the languages to external files. I will try to showcase features of babel that academics could find helpful, by presenting some ways in which I have tried to use babel. I would also like to be inspired by other people's babel workflows! # Outline - 5-10 minutes: (brief description/outline) For a 5-10 minute presentation I will give a brief intro and present one or two example files that heavily use babel. I will use these examples to highlight some of the features mentioned in the abstract. [[!inline pages="internal(2021/info/babel-schedule)" raw="yes"]] [[!inline pages="internal(2021/info/babel-nav)" raw="yes"]]