Files
emacs/README.md

22 KiB
Raw Blame History

Table of Contents

  1. Installation
  2. External programs
  3. Usage
  4. Packages
  5. Information
  6. Errors
  7. TODOs

This is an ongoing evolution of Emacs configuration files, inspired by a bunch of online resources.

Installation

Download repo and point the emacs init (and early-init.el) file to this configuration.

Or run one of the following install script commands (using curl, wget or fetch).

sh -c "$(curl -fsSL http://gitea.weseng.de/daniel/emacs/raw/master/scripts/install.sh)"
sh -c "$(wget -O- http://gitea.weseng.de/daniel/emacs/raw/master/scripts/install.sh)"
sh -c "$(fetch -o - http://gitea.weseng.de/daniel/emacs/raw/master/scripts/install.sh)"

Installation path is ~/.config/emacs. See details and other installed linux packages as requirements inside sripts/install.sh.

External programs

  • ripgrep (optional) used by counsel-rg (package counsel)

Usage

See the emacs command my-help for some key-bindings and further commands and information.

  • Org Templates
    • Article: ?article[TAB] / YASnippet - org-mode - Article Templates - Article
    • Letter: ?letter[TAB] / YASnippet - org-mode - Letter Templates - Letter
  • Org Export
    • To Article HTML (extended version)
      • my-org-article-html-export-to-html / My - Org Export - Article HTML
      • my-org-article-html-export-to-html-notify-async (F5) / My - Org Export - Article HTML async
    • To Article PDF (LaTeX, extended version)
      • my-org-article-latex-export-to-pdf / My - Org Export - Article PDF
      • my-org-article-latex-export-to-pdf-notify-async (F6) / My - Org Export - Article PDF async
    • To Letter (LaTeX)
      • my-org-letter-latex-export-to-pdf (C-c C-e l t)

Packages

General key bindings and functions

  • C-r (query-replace-regexp) replace text
  • C-x RET f (set-buffer-file-coding-system) e.g. set to =utf-8
  • (decode-coding-region) e.g. decode to utf-8 (郭富城Aaron Kwok)
  • (diff-buffer-with-file) show a diff between buffer (current state) and file (saved state)
PACKAGE_____________________ VERSION______ REPO_______
ace-window 20220911.358 melpa
adaptive-wrap 0.8 elpa-gnu
all-the-icons 20220929.2303 melpa
all-the-icons-ivy-rich 20221202.1336 melpa
amx 20210305.118 melpa
anaconda-mode 20220922.741 melpa
async 20221217.649 melpa
avy 20220910.1936 melpa
awesome-tray 4.2 custom
biblio 20210418.406 melpa
biblio-core 20210418.406 melpa
bibtex-completion 20221024.857 melpa
bind-key 20221209.2013 melpa
cfrs 20220129.1149 melpa
citeproc 20221216.1238 melpa
cl-libify 20181130.23 melpa
company 20221206.2122 melpa
company-anaconda 20200404.1859 melpa
company-ledger 20210910.25 melpa
company-quickhelp 20221212.534 melpa
company-web 20220115.2146 melpa
compat 28.1.2.2 elpa-gnu
counsel 20221015.936 melpa
crdt 0.3.5 elpa-gnu
ctable 20210128.629 melpa
dash 20221013.836 melpa
dashboard 20221206.1228 melpa
deft 20210707.1633 melpa
delight 1.7 elpa-gnu
dialog 0.2 custom
diff-hl 20221007.2147 melpa
dim 20160818.949 melpa
elisp-refs 20220704.2141 melpa
emacsql 20221127.2146 melpa
emacsql-sqlite 20221127.2146 melpa
emojify 20210108.1111 melpa
ess 20221204.1348 melpa
ess-R-data-view 20130509.1158 melpa
f 20220911.711 melpa
flycheck 20221213.107 melpa
flycheck-ledger 20200304.2204 melpa
flycheck-pos-tip 20200516.16 melpa
flyspell-correct 20220520.63 melpa
flyspell-correct-ivy 20220520.63 melpa
focus 20221016.1846 melpa
git-commit 20221127.2227 melpa
git-messenger 20201202.1637 melpa
gnuplot 20221112.2049 melpa
helpful 20221209.1743 melpa
ht 20221031.705 melpa
htmlize 20210825.215 melpa
hydra 20220910.1206 melpa
indent-guide 20210115.4 melpa
iscroll 20220612.31 melpa
ivy 20220926.125 melpa
ivy-bibtex 20210927.1205 melpa
ivy-rich 20210409.931 melpa
js2-mode 20221028.1819 melpa
key-chord 20201222.203 melpa
langtool 20200529.23 melpa
ledger-mode 20220623.1125 melpa
lv 20200507.1518 melpa
magit 20221208.1848 melpa
magit-section 20221127.2227 melpa
markdown-mode 20221210.348 melpa
memoize 20200103.2036 melpa
mu4e-maildirs-extension 20220517.1852 melpa
multiple-cursors 20221126.743 melpa
notmuch 20221115.1134 melpa
ob-async 20210428.2052 melpa
olivetti 20220330.635 melpa
ol-notmuch 20220428.1337 melpa
org 9.6 elpa-gnu
org-appear 20220617.2355 melpa
org-brain 20210706.1519 melpa
org-cliplink 20201126.102 melpa
org-contrib 0.4.1 elpa-nongnu
org-drill 20210427.2003 melpa
org-fancy-priorities 20210830.1657 melpa
org-fragtog 20220714.2146 melpa
orgit 20221127.2228 melpa
org-ref 20221129.1925 melpa
org-roam 20221205.355 melpa
org-roam-bibtex 20221104.2139 melpa
org-roam-timestamps 20221104.1544 melpa
org-roam-ui 20221105.104 melpa
org-sticky-header 20201223.143 melpa
org-superstar 20210915.1934 melpa
org-table-sticky-header 20190924.506 melpa
ov 20200326.1042 melpa
ox-pandoc 20220705.1036 melpa
ox-reveal 20221127.814 melpa
ox-tufte 20160926.1607 melpa
page-break-lines 20210104.2224 melpa
parsebib 20221007.1402 melpa
pdf-tools 20221202.1104 melpa
persist 0.5 elpa-gnu
pfuture 20220913.1401 melpa
php-mode 20221112.1616 melpa
pkg-info 20150517.1143 melpa
plantuml-mode 20191102.2056 melpa
polymode 20220820.163 melpa
popup 20220927.161 melpa
popwin 20210215.1849 melpa
posframe 20221220.544 melpa
pos-tip 20220715.102 melpa
powershell 20220805.1712 melpa
pythonic 20220723.1741 melpa
queue 0.2 elpa-gnu
rainbow-mode 1.0.6 elpa-gnu
restart-emacs 20201127.1425 melpa
s 20220902.1511 melpa
seq 2.23 elpa-gnu
simple-httpd 20191103.1446 melpa
spacemacs-theme 20221103.1406 melpa
sphinx-doc 20210213.125 melpa
sql-indent 1.6 elpa-gnu
srefactor 20180703.181 melpa
stickyfunc-enhance 20150429.1814 melpa
string-inflection 20220910.1306 melpa
swiper 20220430.2247 melpa
systemd 20210209.2052 melpa
tablist 20200427.2205 melpa
transient 20221202.1727 melpa
treemacs 20221221.1301 melpa
treemacs-magit 20220917.1026 melpa
use-package 20221209.2013 melpa
virtual-auto-fill 20200906.2038 melpa
visual-fill-column 20220519.1959 melpa
vterm 20221118.1354 melpa
web-completion-data 20160318.848 melpa
web-mode 20221012.8 melpa
websocket 20221218.115 melpa
which-key 20220811.1616 melpa
with-editor 20221127.2243 melpa
yasnippet 20200604.246 melpa
yasnippet-snippets 20220713.1234 melpa

Information

Interlock symlinks and auto-save files. Be aware that symbolic links of the form “.#*” are not auto-save files but interlocks to prevent the simultaneous editing of the same file. See Interlocking in the EmacsManual for details.

Errors

  • failed execution of bibtex2html
    • see bib2htmlxxxxxx.blg for errors, e.g.
      • I couldnt open style file acmu.bst
    • copy/merge the texmf directory into your home directory.
  • when using this in an Org mode buffer: #+HEADER: :fit yes :imagemagick yes :iminoptions -density 300
    • can leads to:
      • convert: attempt to perform an operation not allowed by the security policy `gs' @ error/delegate.c/ExternalDelegateCommand/378.
      • convert: no images defined `DESY_logo_tikz.png' @ error/convert.c/ConvertImageCommand/3282.
    • edit /etc/ImageMagick-7/policy.xml and comment out
      • <policy domain="delegate" rights="none" pattern="gs" />

TODOs

  • Org / global configuration
    • Page formatting
      • Modify HTML styling
        • Printed page layout, white styled figures
  • Figures
    • Gnuplot
      • plot transposed files/tables
  • Tables
    • Wrap Table in div element. For smartphone scrolling.
  • Table of contents
    • \LaTeX; currently headers with no-number property means not included in TOC
    • HTML; currently generated list, like lot and lol, are not included in toc but own headers without numbers are.
  • Equation cancel/strike out with color line
    • hcancel[color]{}
    • Example: \(\hcancel[red]{f_{X_2}(x_2)}}\)
    • Definition:
      • Preamble: #+LATEX_HEADER: \usepackage{cancel}
        #+LATEX_HEADER: \newcommand\hcancel[2][black]{\setbox0=\hbox{$#2$}%
        #+LATEX_HEADER: \rlap{\raisebox{.45\ht0}{\textcolor{#1}{\rule{\wd0}{1pt}}}}#2}

      • hcancel: [\"{\\\\setbox0=\\\\hbox{$#2$}\\\\rlap{\\\\raisebox{.45\\\\ht0}{\\\\textcolor{#1}{\\\\rule{\\\\wd0}{1pt}}}}#2}\",2]

        MathJax.Ajax.config.path[\"Contrib\"] = \"https://cdn.mathjax.org/mathjax/contrib\";
        MathJax.Hub.Register.StartupHook(\"TeX Jax Ready\",function () {
            MathJax.Hub.Insert(MathJax.InputJax.TeX.Definitions.macros,{
                cancel: [\"Extension\",\"cancel\"],
                bcancel: [\"Extension\",\"cancel\"],
                xcancel: [\"Extension\",\"cancel\"],
                cancelto: [\"Extension\",\"cancel\"]
            });
        });