literate-dotfiles/emacs-library-babel.org
Thomas Dehaeze 3e97711adc Change indentation of all blocks.
Use (setq org-src-preserve-indentation t) for Emacs.
2021-01-08 01:26:27 +01:00

73 lines
2.0 KiB
Org Mode

#+TITLE: My Own Library of Babel
#+SETUPFILE: ./setup/org-setup-file.org
* =get-password= - Get Password from =pass=
#+name: get-password
#+begin_src bash :var passname="""
pass $passname | sed -n 1p
#+end_src
* =pdf2svg= - Export to pdf/png/svg at the same time
#+name: pdf2svg
#+begin_src sh :var file="" :var ext="svg" :results output
_mydir="$(pwd)";
file=$(echo "$file" | cut -f 2- -d ':');
_figdir=$(dirname "$file");
cd $_figdir;
filename=$(echo "${file##*/}" | cut -f 1 -d '.');
pdftocairo -png -transp -singlefile "$filename.pdf";
pdftocairo -svg "$filename.pdf";
cd "$_mydir";
echo "[[file:$_figdir/$filename.$ext]]"
#+end_src
* =addhdr= - Add hline to tables
#+name: addhdr
#+begin_src emacs-lisp :var tbl=""
(cons (car tbl) (cons 'hline (cdr tbl)))
#+end_src
* Matlab Related
** =matlab-dir= Go to current directory
#+name: matlab-dir
#+begin_src matlab :tangle no :results none :exports none :var current_dir=""
%% Go to current Directory
cd(current_dir);
%% Initialize ans with org-babel
ans = 0;
#+end_src
** =matlab-init= Initialize matlab
#+name: matlab-init
#+begin_src matlab :results none :exports none
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
#+end_src
** =plt-matlab= Plot figures
Some variable can be set by block that expands this org source code block:
- =path=: specify the path of the figure including the file extension. Can be relative or absolute. If not provided, it will create the figure in the =/tmp= folder
- =fig_size=: can specify the size of the figure. If not specify, default will be applied.
#+name: plt-matlab
#+begin_src matlab :results value raw replace :exports code :var filepath="" :var figsize="normal-normal"
if ~exist('filepath') || length(filepath) < 2
symbols = ['a':'z' 'A':'Z' '0':'9'];
random_string = symbols(randi(numel(symbols),[1 5]));
filepath = ['/tmp/matlab-fig-', random_string];
end
size_strings = strsplit(figsize, '-');
ans = exportFig(filepath, 'width', size_strings{1}, 'height', size_strings{2});
#+end_src