summaryrefslogtreecommitdiffstats
path: root/2021/talks/babel.md
diff options
context:
space:
mode:
Diffstat (limited to '2021/talks/babel.md')
-rw-r--r--2021/talks/babel.md76
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"]]