#+TITLE: Emacs Configuration #+HTML_DOCTYPE: xhtml # xhtml for gogs needed, bug showing table in the footer, bc/ html5 creates instead of This is an ongoing evolution of Emacs configuration files, inspired by a bunch of online resources. * Installation :PROPERTIES: :CUSTOM_ID: installation :END: Run one of the following install script commands. #+begin_src sh curl sh -c "$(curl -fsSL http://gogs.weseng.de/daniel/emacs/raw/master/scripts/install.sh)" wget sh -c "$(wget -O- http://gogs.weseng.de/daniel/emacs/raw/master/scripts/install.sh)" fetch sh -c "$(fetch -o - http://gogs.weseng.de/daniel/emacs/raw/master/scripts/install.sh)" #+end_src Installation path is =~/.config/emacs=. See details and other installed linux packages as requirements inside =sripts/install.sh=. * Packages :PROPERTIES: :CUSTOM_ID: packages :END: #+caption: General key bindings and functions | M-> | end-of-buffer | | | M-< | beginning-of-buffer | | | C-x h | mark-whole-buffer | mark the whole buffer | | C-x TAB | indent-rigidly | indent selected region | | 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 and file | | C-h v | counsel-describe-variable | help text of variable | | C-h f | counsel-describe-funtion | help text of function | | C-r | query-replace-regexp | replace text. (former isearch-backward) | | C-x C-b | ibuffer | list buffers (former list-buffers) | | C-x \vert | toggle-window-split | toggle horizontal/vertical 2 window split | | M-up | move-line-up | move current line up | | M-down | move-line-down | move current line down | | mouse-6 | | scroll right | | mouse-7 | | scroll left | | mouse-8 | previous-buffer | | | mouse-9 | next-buffer | | ** Org :PROPERTIES: :CUSTOM_ID: org :END: #+caption: Org key bindings and functions | C-c \vert | org-table-create-or-convert-from-region | convert seperator 1. TAB, 2. comma, 3. space | | C-u C-c \vert | org-table-create-or-convert-from-region | convert using comma (CSV) seperator | | C-u C-u C-c \vert | org-table-create-or-convert-from-region | convert using TAB | | C-u N C-c \vert | org-table-create-or-convert-from-region | convert using N spaces | | C-u REGEX C-c \vert | org-table-create-or-convert-from-region | convert using regex to match seperator | | C-c C-x \ | org-toggle-pretty-entries | e. g. displays =\pm= as ± | | | | | | Org table | | | | S-right | org-shiftright | move a single cell right | | S-left | org-shiftleft | move a single cell left | | C-c SPC | org-table-blank-field | clear cell | | | | | | Org src block | | | | C-c C-v t | org-babel-tangle | create a file with the content of the block, use in header: :tangle filename | | | | | | Org export | | | | f5 | | in org export to html | | f6 | | in org export to LaTeX | *Important* - For *Gnuplot* source blocks: Do not use =%= inside Gnuplot source block but =\%= or in format command =\%%= - % starts a comment in LaTeX and therefore stops further interpretations like a closing bracket =}= etc. - Gnuplot graphics are imported as .tex (text, axis, legend) and .eps (figure) files. - =\%= =\%%= can also be used for HTML SVG export Links - https://tex.stackexchange.com/questions/167583/include-custom-file-into-header-with-org-mode/201674 - https://orgmode.org/manual/LaTeX-specific-export-settings.html ** Multiple cursors :PROPERTIES: :CUSTOM_ID: multiple-cursors :END: #+caption: Multiple cursors key bindings and functions | M-m s m a | mc/mark-all-dwim | try to mark all at point | | C-v | | jump to next cursor | | M-v | | jump to previous cursor | | C-' | | hide/unhide lines without a cursor | ** Other packages :PROPERTIES: :CUSTOM_ID: other-packages :END: - rainbow-mode.el :: https://elpa.gnu.org/packages/rainbow-mode.html rainbow-mode is a minor mode for Emacs which displays strings representing colors with the color they represent as background. * Information :PROPERTIES: :CUSTOM_ID: information :END: 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 [[https://www.emacswiki.org/info-ref?find=Interlocking][Interlocking]] in the [[https://www.emacswiki.org/emacs/EmacsManual][EmacsManual]] for details. * Errors :PROPERTIES: :CUSTOM_ID: errors :END: - failed execution of bibtex2html - see bib2htmlxxxxxx.blg for errors, e.g. - I couldn't 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 - ~~ * TODOs :PROPERTIES: :CUSTOM_ID: todos :END: - Org / global configuration - Page formatting - Modify HTML styling - Printed page layout, white styled figures - Custom export function for HTML and \(\LaTeX\), with; - =Shift= - ==, =Shift= - == with open file - delete temp. generated export files - Figures - Gnuplot - plot transposed files/tables - preamble in function and call this function for every gnuplot block either manually or automatically with a hook?! - 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: - Preamle: ~#+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]~ #+Begin_example 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\"] }); }); #+End_example