# Table of Contents 1. [Installation](#installation) 2. [Packages](#packages) 1. [Org](#org) 1. [HTML export](#export-html) 2. [LaTeX export](#export-latex) 3. [Article export (HTML and LaTeX)](#export-article) 4. [Letter export (LaTex)](#export-letter) 2. [Multiple cursors](#multiple-cursors) 3. [Other packages](#other-packages) 3. [Information](#information) 4. [Errors](#errors) 5. [TODOs](#todos) This is an ongoing evolution of Emacs configuration files, inspired by a bunch of online resources. # Installation 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`. # Packages General key bindings and functions - `M->` (`end-of-buffer`) - `M-<` (`begin-of-buffer`) - `C-x b` (`counsel-switch-buffer`) - `C-x |` (`toggle-window-split`) toggle horizontal/vertical of 2 window split - `C-x h` (`mark-whole-buffer`) - `C-x TAB` (`indent-rigidly`) indent lines in the region - `C-r` (`query-replace-regexp`) replace text - `M-` (`move-line-up`) - `M-` (`move-line-down`) - `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) - `C-h f` (`helpful-callable`) - `C-h v` (`helpful-variable`) - `mouse-6` scroll right - `mouse-7` scroll left - `mouse-8` (`previous-buffer`) - `mouse-9` (`next-buffer`) ## Org
Table 1: Org key bindings and functions
C-c | org-table-create-or-convert-from-region convert seperator 1. TAB, 2. comma, 3. space
C-u C-c | org-table-create-or-convert-from-region convert using comma (CSV) seperator
C-u C-u C-c | org-table-create-or-convert-from-region convert using TAB
C-u N C-c | org-table-create-or-convert-from-region convert using N spaces
C-u REGEX C-c | 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 ### HTML export - `C-c C-e h h` (org-html-export-to-html) to export Org document as HTML file, i.e. no spectial settings. - `C-c C-e T t` (org-tufte-export-to-file) to export Org document as Tufte-HTML file, i.e. with tufte syling. - `C-c C-e h a` (my-org-article-html-export-to-html) to export Org document as HTML-article file, see also Article export ### LaTeX export - `C-c C-e l l` (org-latex-export-to-pdf) to export Org document as PDF file, i.e. no spectial settings. - `C-c C-e l a` (my-org-article-latex-export-to-pdf) to export Org document as PDF-article file, see also Article export. - `C-c C-e l t` (my-org-article-latex-export-to-letter) to export Org document as PDF-letter file. Links - - ### Article export (HTML and LaTeX) - `C-c C-e h a` (my-org-article-html-export-to-html) to export Org document as HTML-article file. - `C-c C-e l a` (my-org-article-latex-export-to-pdf) to export Org document as PDF-article file. Template for an article # -*- ispell-local-dictionary: "english" -*- #+LANGUAGE: en #+TITLE: My article #+SUBTITLE: #+AUTHOR: Daniel #+EMAIL: name@example.org #+DATE: May 12, 2021 #+KEYWORDS: #+DESCRIPTION: * Abstract :ignore:noexport: #+BEGIN_ABSTRACT *Abstract*\\ This is the abstract of the article. #+END_ABSTRACT * List of contents & figures & tables & listings :ignore: :PROPERTIES: :VISIBILITY: folded :CLEARPAGE: t :END: #+LATEX: \begin{spacing}{1.25}\begingroup\renewcommand*{\addvspace}[1]{} #+LATEX: \clearpage # #+LATEX: \tableofcontents #+TOC: headlines #+LATEX: \clearpage #+LATEX: \listoffigures # #+LATEX: \phantomsection\addcontentsline{toc}{section}{Abbildungsverzeichnis}\listoffigures # #+TOC: figures is not implemented yet in the HTML backend. And not working with LaTeX, see listing # #+TOC: figures # #+LATEX: \listoftables # #+LATEX: \phantomsection\addcontentsline{toc}{section}{Tabellenverzeichnis} #+TOC: tables # for latex listing is figures # #+LATEX: \phantomsection\addcontentsline{toc}{section}{Programmausdrucke} #+TOC: listings #+LATEX: \endgroup\end{spacing} * List of Symbols :ignore: :PROPERTIES: :CUSTOM_ID: list-of-symbols :UNNUMBERED: t :END: #+LATEX: \pagenumbering{arabic}\setcounter{page}{1} Examples for an article # -*- ispell-local-dictionary: "german" -*- #+LANGUAGE: de * Header not listed in toc :ignore: bla bla bla * Section not exported :noexport: bla bla bla, this will not be exported * Header listed unnumbered :PROPERTIES: :UNNUMBERED: t :END: bla bla bla * Section will start on a clear page (LaTeX) :PROPERTIES: :CLEARPAGE: t :END: bla bla bla # For PDF/LaTeX export we do not want to use org-ref ox-bibtex, as its output is # already defined in the preamble. The output for 'bibliography:references.bib' # is something like '\bibliography{references}' # reftex version # bibliography:references.bib # ox-bibtex version # #+BIBLIOGRAPHY: references mbunsrtdin option:-a option:-unicode option:-nobibsource limit:t * References-en :ignore: :PROPERTIES: :VISIBILITY: folded :END: #+LATEX: \newpage\thispagestyle{plain} #+LATEX: \sloppy\printbibliography #+LATEX: \begin{comment} #+BIBLIOGRAPHY: references acmu option:-a option:-unicode option:-nobibsource limit:t #+LATEX: \end{comment} * References-de :ignore: :PROPERTIES: :VISIBILITY: folded :END: #+LATEX: \newpage\thispagestyle{plain} #+LATEX: \sloppy\printbibliography #+LATEX: \begin{comment} #+BIBLIOGRAPHY: references mbunsrtdin option:-a option:-unicode option:-nobibsource limit:t #+LATEX: \end{comment} * References-rott :ignore: :PROPERTIES: :VISIBILITY: folded :END: #+LATEX: \newpage\thispagestyle{plain} # all references from the bib #+LATEX: \nocite{*} #+BIBLIOGRAPHY: references rottbibsty option:-a option:-unicode option:-nobibsource ### Letter export (LaTex) # -*- ispell-local-dictionary: "german" -*- :FORM: #+LANGUAGE: de #+FROM_ASSOCIATION: XYZ AG #+FROM_NAME: Max Mustermann #+FROM_STREET: Regenbogenstrasse 7 #+FROM_PLACE: 12345 Hamburg #+FROM_PHONE: 0123456789 #+FROM_URL: www.beispiel.de #+FROM_EMAIL: mail@example.de #+TO_ASSOCIATION: Firma AG #+TO_NAME: Karl Marx #+TO_STREET: Firmstrasse 13 #+TO_PLACE: Berlin #+PLACE: Hamburg #+DATE: \today # #+DATE: 3. Januar 2020 :END: #+SUBJECT: Abrechnung #+SUBJECT: 2020 #+SUBJECT_EXTRA: Kontonummer #+SUBJECT_EXTRA: März #+OPENING: Sehr geehte Frau \toname, hiermit sende ich Ihnen die angeforderten Unterlagen zu und ... #+CLOSING: MfG, #+ATTACHMENT: analage 1 #+ATTACHMENT: anlage 2 #+ATTACHMENT: analage 3 #+ATTACHMENT: analage 6 ## Multiple cursors
Table 2: 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 - **rainbow-mode.el:** rainbow-mode is a minor mode for Emacs which displays strings representing colors with the color they represent as background. # 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](https://www.emacswiki.org/info-ref?find=Interlocking) in the [EmacsManual](https://www.emacswiki.org/emacs/EmacsManual) for details. # Errors - 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 - 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]` 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\"] }); });