summaryrefslogblamecommitdiffstats
path: root/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.vtt
blob: 11fcffad91dba1456aeb70279945253f3a0506b6 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490









































































































































































































































































































































































































































































































                                                                 
WEBVTT captioned by sachac

NOTE Introduction

00:00:00.000 --> 00:00:04.799
Okay. Hi, everyone. My name is Vincent. I'm a PhD student in

00:00:04.800 --> 00:00:07.439
Nanzan University, Japan. Today I'm going to present to

00:00:07.440 --> 00:00:11.799
you how I'm using Org notes and Org Roam to write academic

00:00:11.800 --> 00:00:14.999
papers. The slides I'm going to present here are available

00:00:15.000 --> 00:00:17.305
in the Git repository, so you can check them later

00:00:17.306 --> 00:00:20.129
if you want to.

NOTE What?

00:00:20.130 --> 00:00:21.910
Firstly what are we talking about here?

00:00:21.911 --> 00:00:26.692
So in general, it's possible, if you have any Org nodes,

00:00:26.693 --> 00:00:31.315
to export them as LaTeX. Given some extra configuration,

00:00:31.316 --> 00:00:34.956
it's possible, basically, to reproduce any LaTeX setup

00:00:34.957 --> 00:00:42.031
that you would use to create documents with an Org file.

00:00:42.032 --> 00:00:46.753
In my case, I'm using that system to take some notes

00:00:46.754 --> 00:00:48.453
that I have in my org-roam system

00:00:48.454 --> 00:00:52.239
and to export that into finished academic papers

00:00:52.240 --> 00:00:56.279
that you can submit eventually to a conference and so on.

00:00:56.280 --> 00:00:59.439
Actually, before I submit that proposal, after I submit

00:00:59.440 --> 00:01:03.559
that proposal, I just noticed that Mike Hamrick in last

00:01:03.560 --> 00:01:07.879
year's EmacsConf made a very extensive presentation about

00:01:07.880 --> 00:01:13.039
org export. But in here, I just want to showcase my usage of

00:01:13.040 --> 00:01:16.959
org-roam and to present what are the configuration I'm

00:01:16.960 --> 00:01:21.376
using to be able to achieve that. Why do that?

NOTE Why?

00:01:21.377 --> 00:01:23.037
In general, like I said, I'm using that

00:01:23.038 --> 00:01:26.639
as part of my writing system, so in

00:01:26.640 --> 00:01:30.239
having org-roam notes that can be exported as a document

00:01:30.240 --> 00:01:34.159
make for a great workflow in my opinion. It makes Org even

00:01:34.160 --> 00:01:38.839
more versatile, so if you use that for maybe writing code in

00:01:38.840 --> 00:01:41.599
the literate programming, now you're going to be also able

00:01:41.600 --> 00:01:47.559
to export that into any format you want.

00:01:47.560 --> 00:01:49.879
The Org notes are very clean. In my opinion, it looks

00:01:49.880 --> 00:01:53.799
better to work in Org rather than editing LaTeX code

00:01:53.800 --> 00:01:58.959
directly. The centralized bibliography system is also

00:01:58.960 --> 00:02:02.559
great because it allows to have just a few notes that you can

00:02:02.560 --> 00:02:06.599
reference everywhere and have links to them. Of course

00:02:06.600 --> 00:02:09.479
everything is happening inside of Emacs so you have access

00:02:09.480 --> 00:02:13.359
to all the tools you are used to like Magit or Projectile and

00:02:13.360 --> 00:02:16.214
whatnot.

NOTE Challenges

00:02:16.215 --> 00:02:18.599
However, to quote one of the funniest recent

00:02:18.600 --> 00:02:22.999
video about Emacs: "[With LaTeX,] I used to spend hours trying to

00:02:23.000 --> 00:02:25.599
get the image on the right page. Now I use Org Mode LaTeX and

00:02:25.600 --> 00:02:28.759
just accept it's impossible." Like all the jokes in that

00:02:28.760 --> 00:02:32.799
video, it lands in very well because there is some truth to

00:02:32.800 --> 00:02:38.239
that in that with that system you are not getting rid of

00:02:38.240 --> 00:02:41.239
the complexity of LaTeX, so if you have problems, you're going to

00:02:41.240 --> 00:02:45.959
have to deal with the very long logs. It's a layer on top of

00:02:45.960 --> 00:02:50.519
LaTeX, so if you need to debug your configuration, if you

00:02:50.520 --> 00:02:52.999
want to adjust something specific, you would need to be

00:02:53.000 --> 00:02:58.879
proficient in LaTeX and also in being very at ease with

00:02:58.880 --> 00:03:03.119
your Emacs configuration. The way to use the Org export is

00:03:03.120 --> 00:03:06.639
less documented than using LaTeX so if you want to implement

00:03:06.640 --> 00:03:09.959
something, probably it's going to be described in pure LaTeX,

00:03:09.960 --> 00:03:13.599
and then you're going to need to adjust that to make it work

00:03:13.600 --> 00:03:17.679
inside your Org files. I explained before that the

00:03:17.680 --> 00:03:20.959
bibliography system is great, although it's very picky

00:03:20.960 --> 00:03:26.359
on the way it works, especially to be exported. Depending

00:03:26.360 --> 00:03:29.239
on the template you are using, you might run into issues

00:03:29.240 --> 00:03:33.199
with some packages that are in conflict, so there is

00:03:33.200 --> 00:03:35.319
that to be taken in mind.

NOTE Basic Org to PDF

00:03:35.320 --> 00:03:41.519
In general, if you have a Org note, you can simply export it

00:03:41.520 --> 00:03:46.199
with a C-c C-e and l o with the menu that appears. I can

00:03:46.200 --> 00:03:49.479
show that briefly: C-e, then you have the menu. You can select

00:03:49.480 --> 00:03:53.519
l and o to export. That works very well. In general,

00:03:53.520 --> 00:03:56.959
with that, you are able to deal with everything that you have

00:03:56.960 --> 00:03:59.959
in your normal Org notes. If you have images, tables,

00:03:59.960 --> 00:04:03.559
links, it's going to be exported in a way that looks decent.

00:04:03.560 --> 00:04:08.060
That's what we are starting with.

NOTE How to LaTeX properly, though?

00:04:08.061 --> 00:04:11.543
However, if you want to make a publication,

00:04:11.544 --> 00:04:13.479
if you have a template that you receive

00:04:13.480 --> 00:04:17.479
from a conference or whatnot, you want to be able to adapt

00:04:17.480 --> 00:04:20.519
your Org notes to be able to export it exactly the way you

00:04:20.520 --> 00:04:23.039
want. I'm going to present the four points that I'm

00:04:23.040 --> 00:04:25.919
showing here that are, for me, the elements that you need to

00:04:25.920 --> 00:04:29.879
be careful with when you try to work with templates and

00:04:29.880 --> 00:04:32.303
exporting to LaTeX.

NOTE LaTeX-specific headers

00:04:32.304 --> 00:04:34.525
Firstly, you have headers. So basically,

00:04:34.526 --> 00:04:37.119
this allows to add LaTeX elements that are going

00:04:37.120 --> 00:04:41.559
to be at the top of the file. You're going to have the title.

00:04:41.560 --> 00:04:44.119
You're going to have your extra packages here. You're going

00:04:44.120 --> 00:04:46.959
to have your class. I'm going to present that later. That's

00:04:46.960 --> 00:04:50.479
the part that you're going to adjust to make it look like the

00:04:50.480 --> 00:04:54.624
.tex template that you receive.

NOTE Using a formatting class file

00:04:54.625 --> 00:04:58.625
Then you have the formatting class file. That's a .cls file

00:04:58.626 --> 00:05:01.786
that you would receive as a part of the template.

00:05:01.787 --> 00:05:08.147
This one is used instead of the typical doc class like article.

00:05:08.148 --> 00:05:10.588
The way I'm using them is to add an entry,

00:05:10.589 --> 00:05:12.759
like add an element to the list or get a

00:05:12.760 --> 00:05:18.599
class in my Emacs init. This way I can use the CLS file

00:05:18.600 --> 00:05:22.719
directly and also give the parameters that I want. In that

00:05:22.720 --> 00:05:26.402
case, I'm going to have a apris.cls next to my Org note,

00:05:26.403 --> 00:05:31.394
and it's going to be able to to use it.

NOTE Using a different LaTeX command

00:05:31.395 --> 00:05:33.599
A third element is, in some cases,

00:05:33.600 --> 00:05:38.359
you might want to use a different LaTeX compiler to build

00:05:38.360 --> 00:05:41.719
your project, to build your notes. That can be done per

00:05:41.720 --> 00:05:45.319
file, per note, in my opinion, that's the most flexible way,

00:05:45.320 --> 00:05:48.519
by editing, by adding this line as the very first line of your

00:05:48.520 --> 00:05:52.599
file and thus changing the LaTeX PDF process variable. And

00:05:52.600 --> 00:06:00.461
in there, you can put multiple commands in a row.

00:06:00.462 --> 00:06:01.959
For example you can have the shell

00:06:01.960 --> 00:06:06.079
escape to have the minted note block, the BibTeX element, so

00:06:06.080 --> 00:06:08.959
that works very well. When you add that, you need to

00:06:08.960 --> 00:06:13.137
reload your file, though. Something to keep in mind.

NOTE References links for bibliography

00:06:13.138 --> 00:06:16.999
Lastly, you have the bibliography. When you have a reference,

00:06:17.000 --> 00:06:19.879
when you want to put a reference, you can use the

00:06:19.880 --> 00:06:23.719
org-roam-bibtex package that needs to be installed. Then you

00:06:23.720 --> 00:06:27.759
have some configuration to to be set so you have the bibtex

00:06:27.760 --> 00:06:31.199
compilation bibliography, where you explain where is your

00:06:31.200 --> 00:06:35.959
your reference file, your bib file. You can also give a path

00:06:35.960 --> 00:06:40.079
for where to search for PDFs. If you have matching names

00:06:40.080 --> 00:06:44.039
with your BibTeX entries and some PDF files in there,

00:06:44.040 --> 00:06:46.479
they're going to be linked. I'm going to show that later. So

00:06:46.480 --> 00:06:49.199
that's something that's going to be part of your init

00:06:49.200 --> 00:06:53.039
configuration as part of the org-roam-bibtex package

00:06:53.040 --> 00:06:56.479
configuration. Then in the node you are exporting, you want

00:06:56.480 --> 00:07:01.319
to add a section called reference. Here you can set a style

00:07:01.320 --> 00:07:06.479
for the bibliography. Again you put which of the

00:07:06.480 --> 00:07:09.719
reference file you want to use.

NOTE Examples

00:07:09.720 --> 00:07:15.559
With all of that, I'm going to show some examples. Here I

00:07:15.560 --> 00:07:21.759
have an Org note that I used as the file to be exported into a

00:07:21.760 --> 00:07:26.719
publication. You can see up front, I set all my headers

00:07:26.720 --> 00:07:30.519
package. I have some extra package I put. I have the class

00:07:30.520 --> 00:07:35.839
that is something that is next to it. You can see in the

00:07:35.840 --> 00:07:41.239
files, I have the apris.cls just here.

NOTE Tags

00:07:41.240 --> 00:07:47.119
Also, with all of that, you can also add tags. I

00:07:47.120 --> 00:07:49.399
didn't explain that, but you can also ignore some

00:07:49.400 --> 00:07:52.719
sections. That's quite convenient as well. Here we

00:07:52.720 --> 00:07:57.359
have some section, and if you want to add a bibliography,

00:07:57.360 --> 00:08:04.999
you're going to do c l cite:, you can put some cite entry, put

00:08:05.000 --> 00:08:08.199
any file in there, no description, and you're going to put

00:08:08.200 --> 00:08:11.919
some link like that. It's very convenient because, firstly,

00:08:11.920 --> 00:08:14.519
it's going to be exported as a reference like I'm going to

00:08:14.520 --> 00:08:18.079
show later, but also it gives you access to it directly from

00:08:18.080 --> 00:08:22.679
the note. If I click the thing here, I have some menu, I can

00:08:22.680 --> 00:08:31.039
open the bibliography page.

00:08:31.040 --> 00:08:34.799
I can also open the PDF that was linked to it. If I do

00:08:34.800 --> 00:08:38.919
that, here is the file that pops up that was linked to the

00:08:38.920 --> 00:08:44.959
bibliography. That's great. Otherwise, within

00:08:44.960 --> 00:08:47.759
that document, you're going to have other things you can

00:08:47.760 --> 00:08:53.279
have. Figures with parameters set on top, footnotes as well if

00:08:53.280 --> 00:08:57.279
that's something that you need. For example, here it's a

00:08:57.280 --> 00:09:00.959
section that's not exported, but you can have your

00:09:00.960 --> 00:09:04.079
normal footnotes. We can go back and forth. If they are in

00:09:04.080 --> 00:09:07.759
the exported section, they're going to be

00:09:07.760 --> 00:09:11.919
managed. So with that, you can export the notes. You're going to

00:09:11.920 --> 00:09:16.879
C-c C-e so you have that menu for exporting

00:09:16.880 --> 00:09:23.479
Org files. You do l for LaTeX and then o for running directly as

00:09:23.480 --> 00:09:27.399
PDF and opening it. It takes a little while to build. Here we

00:09:27.400 --> 00:09:31.359
are. The templates have been used, so there is a

00:09:31.360 --> 00:09:34.879
two-column situation happening, we have a specific header

00:09:34.880 --> 00:09:41.519
format and figures and the citation that we put. It's

00:09:41.520 --> 00:09:45.079
happening, it's shown here, and it's also going to be

00:09:45.080 --> 00:09:49.879
visible at the end in the reference section. Like I

00:09:49.880 --> 00:09:55.479
said, a fully ready, finished paper can be

00:09:55.480 --> 00:10:01.119
produced this way. That's all that I had for today.

00:10:01.120 --> 00:10:03.199
Thank you very much for your attention. I am

00:10:03.200 --> 00:10:06.232
available for questions on IRC or in the video chat.

00:10:06.233 --> 00:10:07.400
Thank you.