diff options
Diffstat (limited to '2021/talks/babel.md')
-rw-r--r-- | 2021/talks/babel.md | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/2021/talks/babel.md b/2021/talks/babel.md new file mode 100644 index 00000000..a42ba97d --- /dev/null +++ b/2021/talks/babel.md @@ -0,0 +1,76 @@ +[[!meta title="Babel for academics"]] +[[!meta copyright="Copyright © 2021 Asilata Bapat"]] +[[!inline pages="internal(2021/info/babel-nav)" raw="yes"]] + +<!-- You can manually edit this file to update the abstract, add links, etc. ---> + + +# 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. + +<!-- - 20 minutes: (brief description/outline) + For a 20 minute presentation I would like to discuss how one might + +begin with setting up org/babel environments for course admin and +notes, or for writing papers. I will discuss the org export dispatcher +and how to play with some settings to make it do what you want it to +do. + +- 40 minutes: (brief description/outline) + A 40-minute version would include a combination of the 5 and 20 + +minute versions in more depth. Along the way, I will go into some more +of the technicalities of babel, such as header arguments, the various +result and export formats, noweb references and variables, code +sessions, and tangling. +--> + + +[[!inline pages="internal(2021/info/babel-schedule)" raw="yes"]] + +[[!inline pages="internal(2021/info/babel-nav)" raw="yes"]] |