summaryrefslogtreecommitdiff
path: root/tex.org
blob: 5355514ff73553374952414ab74a0189c55a957c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#+PROPERTY: header-args :tangle-mode (identity #o444)
#+PROPERTY: header-args:latex :eval never
Here are some custom latex packages and stuff.

Let us start by creating the local latex directory. We can also use this source block as a quick way to find the appropriate tangle directory for any latex files.
#+NAME: lob-localtexdir
#+begin_src sh :results silent
texdir=$(kpsewhich -var-value "TEXMFHOME")/tex/latex
mkdir -p $texdir
echo $texdir
#+end_src
* defeq.sty
This first latex package defines a better looking version of =:==.
#+begin_src latex :tangle (expand-file-name "defeq.sty" (org-sbe "lob-localtexdir"))
% Tangled from dotfiles/tex.org
% Defines a better looking version of := 
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{defeq}
    [2016/03/28 v0.1 defeq]

\RequirePackage{textcomp}
\RequirePackage{marvosym}
\RequirePackage{amsmath}

\newcommand*{\defeq}{\mathrel{\vcenter{\baselineskip0.5ex \lineskiplimit0pt \hbox{\scriptsize.}\hbox{\scriptsize.}}} =}

\endinput
%%
%% End of file `defeq.sty'.
#+end_src
* personal.sty
A package which includes commands, packages and settings I want to be generally available.
Some settings are in external files. We can list these files using basic unix commands and input them in the main file using the noweb syntax.

#+NAME: personal-files
#+begin_src sh :dir (org-sbe lob-localtexdir) :results raw silent
ls personal-*sty | sed -e 's/\(.*\)/\\input{\1}/'
#+end_src

#+begin_src latex :tangle (expand-file-name "personal.sty" (org-sbe "lob-localtexdir")) :tangle-mode (identity #o444) :noweb yes
% Tangled from dotfiles/tex.org
\ProvidesPackage{personal}
\RequirePackage{defeq}
\RequirePackage{unicode-math}
\RequirePackage{textcomp}
\RequirePackage{marvosym}
\RequirePackage{amsmath}

% Command for non-italic subscripts
\newcommand{\V}[1]{\textrm{#1}}
\catcode`\~=\active
\newcommand{~}[1]{_{\textrm{#1}}}

\def\μ{\si{\micro}}
% \def\Ω{\si{\ohm}}

\RequirePackage{tikz}
\usetikzlibrary{scopes, intersections, positioning}
\usepackage{gnuplot-lua-tikz}

% Include other files
<<personal-files()>>
#+end_src