Created: 2019-02-12 Tue 09:48
simon.tournier@univ-paris-diderot.fr
Not able to Getting Things Done.
\(\Rightarrow\) Switch to Org-mode
I am only an enthusiast user, not a guru
(defun ask-at-point (&optional i-know) "Feel free to ask everything." (interactive "P") (if i-know (message "Quick Answer.") (browse-url (concat "https://www.ddg.gg/?q=org-mode+" (thing-at-point 'symbol)))))
https://zimoun.github.io/infomath-emacs/pres.html
(ok let quick recap in 3 slides)
Emacs is a User Interface (UI) to manipulate text
All what X is able, Emacs does it too.
Advice: give a try to the tutorial of Emacs:
C-h t
The Org-mode configuration is driven by
$HOME/.emacs.d/init.el
Nothing to do!
Org-mode is included in all recent Emacs
(since GNU Emacs 22 released in 2006)
Specific features are in contrib
(require 'package) (setq package-enable-at-startup nil) (add-to-list 'package-archives ;; `use-package' is not in ELPA, as many more ;-) '("melpa" . "http://melpa.org/packages/")) (add-to-list 'package-archives ;; Add org-plus-contrib '("org" . "http://orgmode.org/elpa/")) (package-initialize)
M-x package-list-packages
"Awesome!" – John Kitchin (video)
… start small!
"Don't try to set up the 'final' task managing system from the start. Because you have no idea yet what your system should look like. […] Start by creating and managing a small TODO list and then develop your own system as the needs arises." – Carsten Dominik (creator of org)
C-h i m org
)… and, in fact, Org can do X
verbatim
code
* Level 1 ** Level 2 *** Level 3 **** Level 4 + _underline_ + *bold* + /italic/ *** Other 3 1) =verbatim= 2) ~code~ 3) +strike+ ** More 2 - list - section, [[https://orgmode.org/][link]], etc.
M-Enter
creates new itemM-Left/Right
changes the levelM-Up/Dow
moves the item up/downC-c C-n
move next header (C-p
previous)C-c C-u
move upper header (level 2->level 1)S-Left/Right
change list item kind (C-c -
)S-TAB
cycles the visibilityEmacs power! ;-)
Let only consider $\pi^2$ or $\Pi_\infty$, considering $$\cos(x) = \textrm{real}~ \sum_n \frac{ix}{n!}$$ \begin{array}{ccl} u^{\prime\prime} + k^2 u &=& 0 \\ & \textrm{with} & u(0) = 1 \\ & \textrm{and} & u^\prime(1)=iku(1) \end{array}
\(\LaTeX\) support
Let only consider \(\pi^2\) or \(\Pi_\infty\), considering \[\cos(x) = \textrm{real}~ \sum_n \frac{ix}{n!}\]
Yes!
from .org
to HTML or PDF (or .tex
) or … Reveal.js etc.
—
C-c C-e
opens the menu of exporters
* Stuff [2/4] - [X] Read the Dautray-Lions - [-] Write summary [75%] + [X] Tome 1 + [X] Tome 2 + [X] Tome 3 + [ ] Les autres - [ ] Present Chapter 2 in Seminar - [X] Drink coffee
C-c C-c
on the itemIs not also a planner?
* TODO Presentation [1/4] ** TODO Collect ressources [50%] *** DONE Read the manual CLOSED: [2019-01-22 Tue 17:12] *** TODO Browse the web ** DONE Preparation DEADLINE: <2019-01-23 Wed> CLOSED: [2019-01-22 Tue 22:22] ** Free header ** TODO Lunch Bertrand SCHEDULED: <2019-01-24 Thu> ** TODO Fix bugs with Reveal.js DEADLINE: <2019-01-25 Fri>
C-c C-t
cycles nothing->TODO->DONE->nothinginit.el
)S-Left/Right
also worksC-c C-s
schedulesC-c C-d
assigns a deadlineS-Up/Down
C-c C-c
updates the dayM-x calendar
:bind ("\C-ca" . org-agenda) ;; where to look for the agenda files (setq org-agenda-files (directory-files-recursively "~/org/" "\.org$"))
demo
(C-c a a
or M-x org-agenda
)
C-a a s
and e.g. web
@simon: v l
to setup log on.
** TODO Bertrand's idea *** DONE Discuss :@meet: CLOSED: [2019-01-16 Wed 18:37] *** TODO Proof-of-Concept with Julia :code: **** TODO [#B] Clean the geo file **** TODO [#A] Read the mesh **** TODO [#C] Update Petsc **** TODO [#B] Implement decent Krylov *** TODO Refresh the idea :@meet:write: SCHEDULED: <2019-01-31 Thu 18:00> *** TODO Sent the paper to Wave :write: DEADLINE: <2019-02-01 Fri> ** DONE Calderon preconditioner :read:write:code: CLOSED: [2019-01-15 Tue 15:51]
demo
C-c a t
shows the tasks sorted by prioritiesC-c a m code
shows the tasks corresponding to the tag code
or how to easily manage the table
| Student | Algebra | Analysis | |---------+---------+----------| | Alice | 12.5 | 15. | | Bob | 11. | 14. | | John | 10. | 10. |
C-c |
creates with the convention line x colM-S-Right
creates new col (Left
deletes)M-a/e
moves beginning/end cellC-c -
or C-c Enter
inserts horizontal lineM-S-Up
removes the current lineC-c ^
sorts the col.tex
with C-c C-e C-b l l
(body only)\input{}
(or epxort to buffer C-c C-e C-b l L
and copy/paste)
DEMO!
all: doc.tex table1.tex table2.tex pdflatex doc.tex %.tex: %.org emacs -batch -q $< --eval="(org-latex-export-to-latex nil nil t t)" clean: -rm table?.tex -rm doc.{aux,log}
| N | N^4 | ~Sqrt(N)~ | 1/N | Mean | |---+-----+-----------+-----+------| | 4 | | | | | | 3 | | | | | | 2 | | | | | | 1 | | | | | | | | | | | #+TBLFM: $2=$1^4::$3=sqrt($1)::$4=1/$1::$5=vmean($2..$4)::@6$1=vmean(@2$1..@4$1)
I do not use myself
C-c ?
to get information the current cellC-c }
to enter in debbuging modeEntry point: the tutorial :-)
Toward Reproducible workflow
"Buzzword – What'chu talkin' 'bout, Willis?" – Arnold
The Babel Fish is small, yellow, and simultaneously translates from one spoken language to another.
The Hitchhiker's Guide to the Galaxy – Douglas Adams
#+begin_src python def f(x): return x + x #+end_src #+begin_src r f <- function(x) { x + x } #+end_src #+begin_src julia function f(x) x + x end #+end_src
:tangle
or :noweb
or :export
etc.C-c C-,
opens the menu of different blocks<s
or <q
… does not work anymore. Use Org Tempo.demo
C-c C-v t
tangles i.e. writes to files the exposed blocksC-c C-v e
evals all the blocksOrg-mode is:
Master a tool needs large amount of work
think all the maths you learn before complete non-trivial proofs
Master a tool is not easy; otherwise it is a lie
think nunchaku practise to be as efficient as Bruce Lee
Why computing tools should be different ?
Tools should be freedom, not constraint and pain.