Table of Contents
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
| 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 | | 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
| 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
- % starts a comment in LaTeX and therefore stops further
interpretations like a closing bracket
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
- https://tex.stackexchange.com/questions/167583/include-custom-file-into-header-with-org-mode/201674
- https://orgmode.org/manual/LaTeX-specific-export-settings.html
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
| 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: 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
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 couldn’t open style file acmu.bst
- copy/merge the texmf directory into your home directory.
- see bib2htmlxxxxxx.blg for errors, e.g.
- 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.xmland comment out<policy domain="delegate" rights="none" pattern="gs" />
- can leads to:
TODOs
- Org / global configuration
- Page formatting
- Modify HTML styling
- Printed page layout, white styled figures
- Modify HTML styling
- Custom export function for HTML and (\LaTeX), with;
Shift-<f5>,Shift-<f6>with open file
- delete temp. generated export files
- Page formatting
- Figures
- Gnuplot
- plot transposed files/tables
- preamble in function and call this function for every gnuplot block either manually or automatically with a hook?!
- Gnuplot
- 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\"] }); });
-