Compare commits
2 Commits
fb133ff49f
...
539f3bb2bc
Author | SHA1 | Date | |
---|---|---|---|
539f3bb2bc | |||
194900b481 |
149
README.org
149
README.org
@ -104,10 +104,10 @@ presentations.
|
||||
|
||||
The [[https://github.com/bdarcus/citar][Citar]] extension package provides quick filtering and selecting of
|
||||
bibliographic entries, and the option to run different commands on those
|
||||
selections. [[https://github.com/bdarcus/citar][Citar]] exploits the extension packages [[https://github.com/minad/vertico][Vertico]], [[https://github.com/oantolin/embark][Embark]], [[https://github.com/minad/marginalia][Marginalia]],
|
||||
and [[https://github.com/minad/consult][Consult]]. The [[https://github.com/andras-simonyi/citeproc-el][CiteProc]] extension package provides [[https://citationstyles.org/][CSL: citation style
|
||||
language]] processing capabilities to [[https://github.com/bdarcus/citar][Citar]] and [[https://orgmode.org/][Org Mode]]. A curated repository
|
||||
of CSL styles is the [[https://github.com/citation-style-language/styles#readme][citation style language repository]].
|
||||
selections. [[https://github.com/bdarcus/citar][Citar]] exploits the extension packages [[https://github.com/minad/vertico][Vertico]] and [[https://github.com/minad/marginalia][Marginalia]]. The
|
||||
[[https://github.com/andras-simonyi/citeproc-el][CiteProc]] extension package provides [[https://citationstyles.org/][CSL: citation style language]] processing
|
||||
capabilities to [[https://github.com/bdarcus/citar][Citar]] and [[https://orgmode.org/][Org Mode]]. A curated repository of CSL styles is the
|
||||
[[https://github.com/citation-style-language/styles#readme][citation style language repository]].
|
||||
|
||||
The [[https://github.com/vedang/pdf-tools][PDF-Tools]] extension package renders [[https://en.wikipedia.org/wiki/PDF][PDF]] file with the possibility to
|
||||
annotate the file or to click on anchors in the [[https://en.wikipedia.org/wiki/PDF][PDF]] file that link back to the
|
||||
@ -1237,6 +1237,60 @@ sub makeglossaries {
|
||||
(sort (cl-remove-duplicates result))))
|
||||
#+end_src
|
||||
|
||||
* [[info:emacs#Saving Emacs Sessions][Saving Emacs sessions (info)]]
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: sec:desktop
|
||||
:END:
|
||||
|
||||
Listing [[lst:desktop-setup][setup desktop]] makes Emacs save its state between closing its session to
|
||||
opening the next session. This setup relies on =desktop-save-mode= in case of
|
||||
overlapping functionality of =desktop-save-mode= and =savehist-mode=. Listing
|
||||
[[lst:prune-file-name-history]] prunes non-existing files from =file-name-history=,
|
||||
which is under Emacs control but neither =desktop-save-mode= nor
|
||||
=savehist-mode=.
|
||||
|
||||
NOTE: The src_emacs-lisp{(describe-function 'savehist-mode)} documentation
|
||||
explains why it is best to turn on =savehist-mode= in =user-init-file=.
|
||||
|
||||
BUG: Adding ~kill-ring~ to ~savehist-additional-variables~ does not save
|
||||
~kill-ring~ from an Emacs session to the next session, contrary to the
|
||||
src_emacs-lisp{(describe-variable 'savehist-additional-variables)}
|
||||
documentation.
|
||||
|
||||
#+caption[Setup =desktop= to save Emacs sessions]:
|
||||
#+caption: Setup =desktop= to save Emacs sessions.
|
||||
#+name: lst:desktop-setup
|
||||
#+begin_src emacs-lisp -n :results silent
|
||||
(with-eval-after-load 'emacs
|
||||
;; GAV: I fail to implement the idea of ChatGPT on how to reload
|
||||
;; `eww' pages automatically while restoring the desktop (idea is to
|
||||
;; add save and restore handlers to `desktop-buffer-mode-handlers').
|
||||
;; GAV: (setopt eww-restore-desktop t) fails and starts hesitantly.
|
||||
;; GAV: I fail to code a function for setting the
|
||||
;; `desktop-buffers-not-to-save-function' option.
|
||||
(setopt desktop-buffers-not-to-save
|
||||
(rx bos (or "*Apropos" "compilation*"))
|
||||
desktop-modes-not-to-save
|
||||
'(emacs-lisp-mode image-mode tags-table-mode))
|
||||
|
||||
(desktop-save-mode t))
|
||||
#+end_src
|
||||
|
||||
#+caption[Prune non-existing files from =file-name-history=]:
|
||||
#+caption: Prune non-existing files from =file-name-history=.
|
||||
#+name: lst:prune-file-name-history
|
||||
#+begin_src emacs-lisp -n :results silent
|
||||
(defun prune-file-name-history ()
|
||||
"Prune non-existing files from `file-name-history'."
|
||||
(interactive)
|
||||
(let ((old (length file-name-history)) ok)
|
||||
(dolist (name file-name-history)
|
||||
(when (file-exists-p name)
|
||||
(push name ok)))
|
||||
(setq file-name-history (nreverse ok))
|
||||
(message "Pruned `file-name-history' from `%S' to `%S' files"
|
||||
old (length file-name-history))))
|
||||
#+end_src
|
||||
|
||||
* Completion
|
||||
:PROPERTIES:
|
||||
@ -1265,14 +1319,6 @@ NOTE: Play with =vertico-buffer-mode=, =vertico-flat-mode=, =vertico-grid-mode=,
|
||||
=vertico-indexed-mode=, =vertico-mouse-mode= (not easy to use with my trackpad),
|
||||
=vertico-reverse-mode=.
|
||||
|
||||
NOTE: The src_emacs-lisp{(describe-function 'savehist-mode)} documentation
|
||||
explains why it is best to turn on =savehist-mode= in =user-init-file=.
|
||||
|
||||
BUG: Adding ~kill-ring~ to ~savehist-additional-variables~ does not save
|
||||
~kill-ring~ from an Emacs session to the next session, contrary to the
|
||||
src_emacs-lisp{(describe-variable 'savehist-additional-variables)}
|
||||
documentation.
|
||||
|
||||
#+caption[Setup =vertico-mode=]:
|
||||
#+caption: Setup =vertico-mode=.
|
||||
#+name: lst:setup-vertico-mode
|
||||
@ -1285,22 +1331,6 @@ documentation.
|
||||
(vertico-mode +1))
|
||||
#+end_src
|
||||
|
||||
#+caption[Prune non-existing files from =file-name-history=]:
|
||||
#+caption: Prune non-existing files from =file-name-history=.
|
||||
#+name: lst:prune-file-name-history
|
||||
#+begin_src emacs-lisp -n :results silent
|
||||
(defun prune-file-name-history ()
|
||||
"Prune non-existing files from `file-name-history'."
|
||||
(interactive)
|
||||
(let ((old (length file-name-history)) ok)
|
||||
(dolist (name file-name-history)
|
||||
(when (file-exists-p name)
|
||||
(push name ok)))
|
||||
(setq file-name-history (nreverse ok))
|
||||
(message "Pruned `file-name-history' from `%S' to `%S' files"
|
||||
old (length file-name-history))))
|
||||
#+end_src
|
||||
|
||||
#+attr_latex: :booktabs yes :float table
|
||||
#+caption[Vertico key map bindings]:
|
||||
#+caption: Vertico key map bindings.
|
||||
@ -1445,9 +1475,6 @@ Consult usage tips are:
|
||||
| consult-yank-pop | global-map | {{{kbd(M-y)}}} |
|
||||
|-----------------------------+----------------------+--------------------|
|
||||
| elfeed | global-map | {{{kbd(C-x w)}}} |
|
||||
| embark-act | global-map | {{{kbd(C-\,)}}} |
|
||||
| embark-bindings | global-map | {{{kbd(C-h B)}}} |
|
||||
| embark-dwim | global-map | {{{kbd(C-:)}}} |
|
||||
| iedit-mode | global-map | {{{kbd(C-;)}}} |
|
||||
| minibuffer-complete-history | minibuffer-local-map | {{{kbd(C-<tab>)}}} |
|
||||
| narrow-or-widen-dwim | ctl-x-keymap | {{{kbd(C-x C-n)}}} |
|
||||
@ -2462,15 +2489,14 @@ def __org_babel_python_format_value(result, result_file, result_params):
|
||||
|
||||
[[https://github.com/bdarcus/citar][Citar]] is a completing-read front-end to browse and act on BibTeX, BibLaTeX, as
|
||||
well as CSL JSON bibliographic data with LaTeX, markdown, and org-cite editing
|
||||
support. In combination with vertico, embark, marginalia, and consult, [[https://github.com/bdarcus/citar][Citar]]
|
||||
provides quick filtering and selecting of bibliographic entries from the
|
||||
minibuffer as well as the option to run different commands on those
|
||||
selections. The article [[https://kristofferbalintona.me/posts/202206141852/][Citations in org-mode: Org-cite and Citar]] tries to walk
|
||||
you from understanding the general context (bibliography producer, text
|
||||
processor, text to product converter) to an Emacs setup. Listing
|
||||
[[lst:set-oc+citar-options]] shows the =oc= and =citar= setup with binding of
|
||||
{{{kbd(C-c b)}}} to src_emacs-lisp{(call-interactively 'org-cite-insert)} in
|
||||
=org-mode-map=.
|
||||
support. In combination with vertico and marginalia, [[https://github.com/bdarcus/citar][Citar]] provides quick
|
||||
filtering and selecting of bibliographic entries from the minibuffer as well as
|
||||
the option to run different commands on those selections. The article [[https://kristofferbalintona.me/posts/202206141852/][Citations
|
||||
in org-mode: Org-cite and Citar]] tries to walk you from understanding the general
|
||||
context (bibliography producer, text processor, text to product converter) to an
|
||||
Emacs setup. Listing [[lst:set-oc+citar-options]] shows the =oc= and =citar= setup
|
||||
with binding of {{{kbd(C-c b)}}} to src_emacs-lisp{(call-interactively
|
||||
'org-cite-insert)} in =org-mode-map=.
|
||||
|
||||
#+caption[Set =oc= and =citar= options]:
|
||||
#+caption: Set =oc= and =citar= options.
|
||||
@ -2506,17 +2532,11 @@ valid directories and files. In an [[https://orgmode.org/][Org-mode]] buffer th
|
||||
1. by navigating to an item and selecting it with {{{kbd(RET)}}}
|
||||
2. by repeatingly navigating to an item and preselecting it with
|
||||
{{{kbd(TAB)}}}. Select all preselected items with {{{kbd(RET)}}}.
|
||||
2. View an electronic copy of an [[https://orgmode.org/][Org-mode]] cite link:
|
||||
1. Move point to the [[https://orgmode.org/][Org-mode]] cite link.
|
||||
2. Type {{{kbd(C-:)}}} or {{{kbd(M-x embark-dwim)}}}.
|
||||
3. Navigate to the corresponding library file.
|
||||
4. Select it.
|
||||
3. Open the DOI of an [[https://orgmode.org/][Org-mode]] cite link:
|
||||
1. Move point to the [[https://orgmode.org/][Org-mode]] cite link.
|
||||
2. Type {{{kbd(C-:)}}} or {{{kbd(M-x embark-dwim)}}}.
|
||||
3. Navigate to the corresponding link.
|
||||
4. Select it.
|
||||
4. The following =citar= functions may be useful too:
|
||||
2. View an electronic copy or the DOI of an [[https://orgmode.org/][Org-mode]] cite link:
|
||||
1. Click on the [[https://orgmode.org/][Org-mode]] cite link.
|
||||
2. Navigate to the corresponding resource.
|
||||
3. Select it.
|
||||
3. The following =citar= functions may be useful too:
|
||||
1. src_emacs-lisp{(call-interactively 'citar-insert-citation)}.
|
||||
2. src_emacs-lisp[:results silent]{(call-interactively 'citar-open)}.
|
||||
|
||||
@ -3737,33 +3757,6 @@ Return \"Front Matter\" when current page is above the first headline."
|
||||
(add-to-list 'which-func-functions 'which-func-pdf-view-function)
|
||||
#+end_src
|
||||
|
||||
* [[info:emacs#Saving Emacs Sessions][Saving Emacs sessions (info)]]
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: sec:desktop
|
||||
:END:
|
||||
|
||||
Listing [[lst:desktop-setup][setup desktop]] makes Emacs save its state between closing its session to
|
||||
opening the next session.
|
||||
|
||||
#+caption[Setup =desktop= to save Emacs sessions]:
|
||||
#+caption: Setup =desktop= to save Emacs sessions.
|
||||
#+name: lst:desktop-setup
|
||||
#+begin_src emacs-lisp -n :results silent
|
||||
(with-eval-after-load 'emacs
|
||||
;; GAV: I fail to implement the idea of ChatGPT on how to reload
|
||||
;; `eww' pages automatically while restoring the desktop (idea is to
|
||||
;; add save and restore handlers to `desktop-buffer-mode-handlers').
|
||||
;; GAV: (setopt eww-restore-desktop t) fails and starts hesitantly.
|
||||
;; GAV: I fail to code a function for setting the
|
||||
;; `desktop-buffers-not-to-save-function' option.
|
||||
(setopt desktop-buffers-not-to-save
|
||||
(rx bos (or "*Apropos" "compilation*"))
|
||||
desktop-modes-not-to-save
|
||||
'(emacs-lisp-mode image-mode tags-table-mode))
|
||||
|
||||
(desktop-save-mode t))
|
||||
#+end_src
|
||||
|
||||
* Programming Tools
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: sec:programming-tools
|
||||
|
Loading…
Reference in New Issue
Block a user