increase gc during startup, add org article latex option fontsize, deactivate global-emojify-mode

This commit is contained in:
2024-02-18 16:21:27 +01:00
parent 3894350a6a
commit 5e9bb3b882
6 changed files with 1159 additions and 95 deletions

994
README.md

File diff suppressed because it is too large Load Diff

View File

@@ -37,6 +37,8 @@ sh -c "$(fetch -o - http://gitea.weseng.de/daniel/emacs/raw/master/scripts/insta
:CUSTOM_ID: programs
:END:
- =ripgrep= (optional) used by =counsel-rg= (package =counsel=)
- =texlive-luatex= for =luainputenc.sty= used by org latex export
- =texlive-xetex= for =realscripts.sty= for =KpRoman= used by org latex export
* Usage
:PROPERTIES:

View File

@@ -8,7 +8,7 @@
;; A big contributor to startup times is garbage collection. We up the gc
;; threshold to temporarily prevent it from running, then reset it later by
;; enabling `gcmh-mode'. Not resetting it will cause stuttering/freezes.
(setq gc-cons-threshold (* 50 1000 1000)) ;; Make startup faster by reducing the frequency of garbage collection. The default is 800 kilobytes. Measured in bytes. Will be decreased again at the end.
(setq gc-cons-threshold (* 100 1024 1024)) ;; Make startup faster by reducing the frequency of garbage collection. The default is 800 kilobytes. Measured in bytes. Will (and should) be decreased again at the end.
;; make UTF-8 the default coding system:
(set-language-environment "UTF-8")

View File

@@ -36,6 +36,22 @@
(require 'org)
(require 'org-ref) ;; `org-ref-acronyms-before-parsing' and to find `cite:...' in the org file.
;;; Function Declarations
(defvar my-org-article-latex-default-packages-alist)
(defvar my-org-article-latex-packages-alist)
(defvar my-org-article-latex-compiler)
(defvar my-org-article-latex-default-class)
(defvar my-org-article-latex-default-class-options)
(defvar my-org-article-latex-header)
(defvar my-org-article-latex-header-extra)
(defvar my-org-article-latex-document-type)
(defvar my-org-article-latex-header-biblatex)
(defvar my-org-article-latex-opening)
(defvar my-org-article-latex-closing)
(defvar my-org-article-latex-fontsize)
(defvar my-org-article-latex-draft)
(defvar my-org-article-latex-references)
;; add to generel org variabels, so that it works also for babel latex src blocks
(add-to-list 'org-babel-latex-htlatex-packages "{pgfplots}" t)
@@ -256,6 +272,33 @@ This is intended to be run in `org-export-before-parsing-hook'."
(or (booleanp x)
(integerp x))))
;;;; Document
(defcustom my-org-article-latex-document-type
"Paper"
"Article opening."
:group 'my-org-export-article)
(defcustom my-org-article-latex-opening
""
"Article opening."
:group 'my-org-export-article)
(defcustom my-org-article-latex-closing
""
"Article closing."
:group 'my-org-export-article)
(defcustom my-org-article-latex-fontsize
"11pt"
"fontsize"
:group 'my-org-export-article)
(defcustom my-org-article-latex-draft
nil
"draft"
:group 'my-org-export-article)
;; LaTeX
@@ -388,21 +431,6 @@ Currently only one i.e. A.x is possible."
(add-to-list 'org-export-filter-headline-functions
'my-org-article-latex-appendix)
;;; Function Declarations
(defvar my-org-article-latex-default-packages-alist)
(defvar my-org-article-latex-packages-alist)
(defvar my-org-article-latex-compiler)
(defvar my-org-article-latex-default-class)
(defvar my-org-article-latex-default-class-options)
(defvar my-org-article-latex-header)
(defvar my-org-article-latex-header-extra)
(defvar my-org-article-latex-document-type)
(defvar my-org-article-latex-header-biblatex)
(defvar my-org-article-latex-opening)
(defvar my-org-article-latex-closing)
(defvar my-org-article-latex-draft)
(defvar my-org-article-latex-references)
(defcustom my-org-article-latex-references "" "")
;; see ox-latex function org-export-define-backend
@@ -436,6 +464,7 @@ Currently only one i.e. A.x is possible."
(:article-biblatex "BIBLATEX" nil my-org-article-latex-header-biblatex t)
(:article-closing "CLOSING" nil my-org-article-latex-closing newline)
(:article-opening "OPENING" nil my-org-article-latex-opening newline)
(:article-fontsize nil "fontsize" my-org-article-latex-fontsize t)
(:article-draft nil "draft" my-org-article-latex-draft t) ;; toogle (nil/t) to activate draft visuals, see :draft in `my-org-article-latex-template-plist'
(:article-references "REFERENCES" nil my-org-article-latex-references newline)) ;; TODO not installed yet, maybe using oc-biblatex?
@@ -463,8 +492,7 @@ Currently only one i.e. A.x is possible."
:group 'my-org-export-article
:type '(string :tag "LaTeX class"))
(defcustom my-org-article-latex-header-biblatex
"
(let ((default "
%\\usepackage[fixlanguage]{babelbib} % Mehrsprachige Literaturliste, nicht mit biblatex
%\\selectbiblanguage{german}
\\usepackage[
@@ -624,13 +652,17 @@ Currently only one i.e. A.x is possible."
\\usebibmacro{date+extrayear}}
\\addbibresource{references.bib}
"
"The default LaTeX biblatex setup."
:group 'my-org-export-article
:type '(string :tag "LaTeX class"))
"))
(defcustom my-org-article-latex-header-biblatex default
"The default LaTeX biblatex setup."
:group 'my-org-export-article
:type '(string :tag "LaTeX class"))
)
(defvar my-org-article-latex-template-plist
(list
;; :fontsize (symbol-value 'my-org-article-latex-fontsize)
:fontsize my-org-article-latex-fontsize
:draft "\\setlength{\\overfullrule}{5pt}"
;; LANG REPLACEMENTS
:documentclass-en "english"
@@ -653,11 +685,10 @@ Currently only one i.e. A.x is possible."
:lstlistingname-de "\\renewcommand{\\lstlistingname}{Programmausdruck}\\renewcommand{\\lstlistlistingname}{Programmausdrucke}"
)
"Replacements.
:documentclass-xx used in
`my-org-article-latex-default-class-options' as <<documentclass>>
all other in `my-org-article-latex-header' template replacements
in `my-org-article-latex-template-value' IMPORTANT an 'en'
version must be defined. This is the fallback for language
:documentclass-xx used in `my-org-article-latex-default-class-options'
as %<<documentclass>> all other in `my-org-article-latex-header'
template replacements in `my-org-article-latex-template-value' IMPORTANT
for lang vars an 'en' version must be defined as a fallback for language
replacements.")
(defcustom my-org-article-latex-default-class-options
@@ -672,7 +703,7 @@ replacements.")
"\
[
paper=a4,
fontsize=11pt,
fontsize=<<fontsize>>,
DIV=12,
BCOR=10mm,
headsepline,
@@ -685,8 +716,12 @@ replacements.")
]"
"The default LaTeX class options.
Replaces <<...>> with values defined in
`my-org-article-latex-template-plist'"
Replaces %<<...>> with values defined in
`my-org-article-latex-template-plist'
<<fontsize>> with :options-alist :article-fontsize (default in
`my-org-article-latex-fontsize')
"
:group 'my-org-export-article
:type '(string :tag "LaTeX class"))
@@ -1341,52 +1376,41 @@ Text like <<...>>> will be replaced according to
(boolean :tag "Snippet"))
(string :tag "A line of LaTeX"))))
;;;; Document
(defcustom my-org-article-latex-document-type
"Paper"
"Article opening."
:group 'my-org-export-article)
(defcustom my-org-article-latex-opening
""
"Article opening."
:group 'my-org-export-article)
(defcustom my-org-article-latex-closing
""
"Article closing."
:group 'my-org-export-article)
(defcustom my-org-article-latex-draft
nil
"Article closing."
:group 'my-org-export-article)
;;; Template
(defun my-org-article-latex-template-value (property &optional suffix)
(defun my-org-article-latex-template-value (property &optional suffix suffix-fallback)
"Return PROPERTY value defined in `my-org-article-latex-template-plist'.
If SUFFIX is a string and not empty (e.g. \"de\") it is concat to
property with - (i.e. \"-de\") and returned if found otherwise
will return the -en version.
property with - (i.e. \"-de\") and returned if found, otherwise if
SUFFIX is not found will return the -SUFFIX-FALLBACK version.
Example:
(my-org-article-latex-template-value :documentclass-en)
\"english\"
(my-org-article-latex-template-value :documentclass-de)
\"ngerman\"
(my-org-article-latex-template-value :documentclass \"de\")
\"ngerman\""
\"ngerman\"
(my-org-article-latex-template-value :documentclass \"xx\" \"en\")
\"english\"
(my-org-article-latex-template-value :documentclass \"xx\" \"xx\")
\"nil\"
(my-org-article-latex-template-value :documentclass \"xx\")
\"nil\"
(my-org-article-latex-template-value xx)
\"nil\""
(if suffix
;; suffix (language) replacements
(let ((value (plist-get
my-org-article-latex-template-plist
(intern (concat (symbol-name property) "-" suffix)))))
(intern (concat (symbol-name property) "-" suffix))))
(suffix-fallback (or suffix-fallback "en")))
(if value
value
(plist-get
my-org-article-latex-template-plist
(intern (concat (symbol-name property) "-en")))))
(intern (concat (symbol-name property) "-" suffix-fallback)))))
;; direct preplacements
(plist-get my-org-article-latex-template-plist property)))
@@ -1403,13 +1427,16 @@ Uses also `my-org-article-latex-template-value' with
;; (class-options
;; (string-replace
;; "%<<documentclass>>"
;; (my-org-article-latex-template-value :documentclass lang)
;; (my-org-article-latex-template-value :documentclass lang \"en\")
;; (plist-get info :latex-class-options)))
;; multi replace
(class-options
(s-replace-all
(list (cons "%<<documentclass>>"
(my-org-article-latex-template-value :documentclass lang)))
(list
(cons "%<<documentclass>>"
(my-org-article-latex-template-value :documentclass lang "en"))
(cons "<<fontsize>>"
(plist-get info :article-fontsize)))
(plist-get info :latex-class-options)))
(header (nth 1 (assoc class (plist-get info :latex-classes)))))
(and (stringp header)
@@ -1436,19 +1463,19 @@ Uses also `my-org-article-latex-template-value' with
(my-org-article-latex-template-value :draft))
(cons "%<<draft>>" ""))
(cons "%<<babel>>"
(my-org-article-latex-template-value :babel lang))
(my-org-article-latex-template-value :babel lang "en"))
(cons "%<<fontspec>>"
(my-org-article-latex-template-value :fontspec lang))
(my-org-article-latex-template-value :fontspec lang "en"))
(cons "%<<ruby>>"
(my-org-article-latex-template-value :ruby lang))
(my-org-article-latex-template-value :ruby lang "en"))
(cons "%<<biblatex>>"
(my-org-article-latex-template-value :biblatex lang))
(my-org-article-latex-template-value :biblatex lang "en"))
(cons "%<<csquotes>>"
(my-org-article-latex-template-value :csquotes lang))
(my-org-article-latex-template-value :csquotes lang "en"))
(cons "%<<mtcselectlanguage>>"
(my-org-article-latex-template-value :mtcselectlanguage lang))
(my-org-article-latex-template-value :mtcselectlanguage lang "en"))
(cons "%<<lstlistingname>>"
(my-org-article-latex-template-value :lstlistingname lang)))
(my-org-article-latex-template-value :lstlistingname lang "en")))
(plist-get info :latex-header))
(and (not snippet?)
(plist-get info :latex-header-extra)))
@@ -1773,29 +1800,45 @@ pre.src::before {
/* Import ET Book styles
adapted from https://github.com/edwardtufte/et-book/blob/gh-pages/et-book.css */
/*
@font-face { font-family: \"et-book\";
src: url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot\");
src: url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix\") format(\"embedded-opentype\"), url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff\") format(\"woff\"), url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf\") format(\"truetype\"), url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf\") format(\"svg\");
font-weight: normal;
font-style: normal; }
@font-face {
font-family: \"et-book\";
src: url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot\");
src: url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix\") format(\"embedded-opentype\"),
url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff\") format(\"woff\"),
url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf\") format(\"truetype\"),
url(\"et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf\") format(\"svg\");
font-weight: normal;
font-style: normal; }
@font-face { font-family: \"et-book\";
src: url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot\");
src: url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix\") format(\"embedded-opentype\"), url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff\") format(\"woff\"), url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf\") format(\"truetype\"), url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf\") format(\"svg\");
font-weight: normal;
font-style: italic; }
@font-face {
font-family: \"et-book\";
src: url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot\");
src: url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix\") format(\"embedded-opentype\"),
url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff\") format(\"woff\"),
url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf\") format(\"truetype\"),
url(\"et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf\") format(\"svg\");
font-weight: normal;
font-style: italic; }
@font-face { font-family: \"et-book\";
src: url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot\");
src: url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix\") format(\"embedded-opentype\"), url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff\") format(\"woff\"), url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf\") format(\"truetype\"), url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf\") format(\"svg\");
font-weight: bold;
font-style: normal; }
@font-face {
font-family: \"et-book\";
src: url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot\");
src: url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix\") format(\"embedded-opentype\"),
url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff\") format(\"woff\"),
url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf\") format(\"truetype\"),
url(\"et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf\") format(\"svg\");
font-weight: bold;
font-style: normal; }
@font-face { font-family: \"et-book-roman-old-style\";
src: url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot\");
src: url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot?#iefix\") format(\"embedded-opentype\"), url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff\") format(\"woff\"), url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf\") format(\"truetype\"), url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg#etbookromanosf\") format(\"svg\");
font-weight: normal;
font-style: normal; }
@font-face {
font-family: \"et-book-roman-old-style\";
src: url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot\");
src: url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot?#iefix\") format(\"embedded-opentype\"),
url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff\") format(\"woff\"),
url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf\") format(\"truetype\"),
url(\"et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg#etbookromanosf\") format(\"svg\");
font-weight: normal;
font-style: normal; }
*/
/* Tufte CSS styles */
@@ -1926,15 +1969,30 @@ a:link { text-decoration: none;
-moz-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
background-repeat: no-repeat, no-repeat, repeat-x;
text-shadow: 0.03em 0 #fffff8, -0.03em 0 #fffff8, 0 0.03em #fffff8, 0 -0.03em #fffff8, 0.06em 0 #fffff8, -0.06em 0 #fffff8, 0.09em 0 #fffff8, -0.09em 0 #fffff8, 0.12em 0 #fffff8, -0.12em 0 #fffff8, 0.15em 0 #fffff8, -0.15em 0 #fffff8;
text-shadow: 0.03em 0 #fffff8, -0.03em 0 #fffff8,
0 0.03em #fffff8, 0 -0.03em #fffff8,
0.06em 0 #fffff8, -0.06em 0 #fffff8,
0.09em 0 #fffff8, -0.09em 0 #fffff8,
0.12em 0 #fffff8, -0.12em 0 #fffff8,
0.15em 0 #fffff8, -0.15em 0 #fffff8;
background-position: 0% 93%, 100% 93%, 0% 93%; }
@media screen and (-webkit-min-device-pixel-ratio: 0) { a:link { background-position-y: 87%, 87%, 87%; } }
a:link::selection { text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
a:link::selection { text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe,
0 0.03em #b4d5fe, 0 -0.03em #b4d5fe,
0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe,
0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe,
0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe,
0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
background: #b4d5fe; }
a:link::-moz-selection { text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
a:link::-moz-selection { text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe,
0 0.03em #b4d5fe, 0 -0.03em #b4d5fe,
0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe,
0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe,
0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe,
0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
background: #b4d5fe; }
/* Sidenotes, margin notes, figures, captions */
@@ -2287,10 +2345,20 @@ a:link {
background: linear-gradient(#292b2e, #292b2e), linear-gradient(#292b2e, #292b2e), linear-gradient(#333, #333);
/* delete the other to background entries? */
background: transparent;
text-shadow: 0.03em 0 #292b2e, -0.03em 0 #292b2e, 0 0.03em #292b2e, 0 -0.03em #292b2e, 0.06em 0 #292b2e, -0.06em 0 #292b2e, 0.09em 0 #292b2e, -0.09em 0 #292b2e, 0.12em 0 #292b2e, -0.12em 0 #292b2e, 0.15em 0 #292b2e, -0.15em 0 #292b2e;
text-shadow: 0.03em 0 #292b2e, -0.03em 0 #292b2e,
0 0.03em #292b2e, 0 -0.03em #292b2e,
0.06em 0 #292b2e, -0.06em 0 #292b2e,
0.09em 0 #292b2e, -0.09em 0 #292b2e,
0.12em 0 #292b2e, -0.12em 0 #292b2e,
0.15em 0 #292b2e, -0.15em 0 #292b2e;
}
a:link::selection, a:link::-moz-selection {
text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe,
0 0.03em #b4d5fe, 0 -0.03em #b4d5fe,
0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe,
0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe,
0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe,
0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
background: #b4d5fe;
}
/*]]>*/

View File

@@ -1,7 +1,7 @@
;;; post-settings.el --- Summary -*- lexical-binding: t -*-
;;; Commentary:
;;; Code:
(setq gc-cons-threshold (* 2 1000 1000)) ;; Make gc pauses faster by decreasing back the threshold. See also above.
(setq gc-cons-threshold (* 2 1024 1024)) ;; Make gc pauses faster by decreasing back the threshold. See also above.
(provide 'post-settings)
;;; post-settings.el ends here

View File

@@ -54,7 +54,7 @@
(use-package emojify
:if window-system
:commands emojify-mode
:hook (after-init . global-emojify-mode)
;; :hook (after-init . global-emojify-mode)
:init
(setq emojify-emojis-dir (concat user-emacs-directory ".cache/emojify")))