CodeBlock

自炊した書籍のpdfを整理するときに emacsの org-mode のコードブロックの が役にたったため、備忘録代りに記事にする。

agrep は曖昧検索を実現するgrepの派生プログラム。

code block の使いかたはorg-modeのコードブロック(Babel)の使い方 | Misohena Blogを参考にした。

#+NAME: get-book-links
#+begin_src elisp :var title="" :resutls list
  (let* (
         (len (/ (length title) 3))
         )
    (mapcar (lambda (n) (print (s-concat "[[" n "][" (f-filename n) "]]")))
          (s-lines
           (shell-command-to-string
            (s-lex-format
             "find ~/Dropbox/Book | agrep -E ${len}  \"${title}\"")))))
#+end_src

#+CALL: get-book-links[:results list](title="並列")

#+RESULTS:
- Akkaとアクターモデルではじめる並列並行分散処理プログラミング Vol 1.5.pdf
- C/C++プログラマーのためのOpenMP並列プログラミング 菅原 清文 318p_4877831991.pdf
- 並列計算と数理とアルゴリズム.pdf
- Akkaとアクターモデルではじめる並列並行分散処理プログラミング.pdf
- [[][]]

org-mode エクスポートの設定

org-mode の設定を変更。エクスポートをスニペットとしていたが、 #+SETUPFILE を使用してLatexヘッダー等を別ファイルとする。

元のスニペットは下記.

#+LaTeX_CLASS: koma-jarticle
#+LaTeX_CLASS_OPTIONS: [12pt]

#+latex_header: \usepackage{xcolor}
#+latex_header: \usepackage{minted}

#+LATEX_HEADER: \usepackage{geometry}
#+LATEX_HEADER: \geometry{left=1cm,right=1cm,top=1cm,bottom=1cm}
#+LATEX_HEADER: \usepackage[natbib=true]{biblatex} \DeclareFieldFormat{apacase}{#1} \addbibresource{~/Dropbox/Bibliography/references.bib}
#+STARTUP:  overview
#+STARTUP:  hidestars
#+OPTIONS:  H:4 num:nil toc:nil \n:nil @:t ::t |:t ^:nil -:t f:t *:t TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+LINK_UP:
#+LINK_HOME:

#+TITLE: ${1: title}
#+AUTHOR: k-sunako
#+DATE: `(let ((x (org-time-stamp '(16) t ))))`
\vspace*{-1.5cm}

* 概要
  blabla

* 参考文献

  #+LaTeX: \printbibliography[heading=none]

上記のLatexヘッダーなどレポートとしての体裁を設定する箇所を report-header.org として別ファイルにする。

#+LaTeX_CLASS: koma-jarticle
#+LaTeX_CLASS_OPTIONS: [12pt]

#+latex_header: \usepackage{xcolor}
#+latex_header: \usepackage{minted}

#+LATEX_HEADER: \usepackage{geometry}
#+LATEX_HEADER: \geometry{left=1cm,right=1cm,top=1cm,bottom=1cm}
#+LATEX_HEADER: \usepackage[natbib=true]{biblatex} \DeclareFieldFormat{apacase}{#1} \addbibresource{~/Dropbox/Bibliography/references.bib}
#+STARTUP:  overview
#+STARTUP:  hidestars
#+OPTIONS:  H:4 num:nil toc:nil \n:nil @:t ::t |:t ^:nil -:t f:t *:t TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+LINK_UP:
#+LINK_HOME:

そのため、スニペットは下記となる。

# -*- mode: snippet -*-
# name: report2
# key: rep2
# --
#+setup: report-header.org

#+TITLE: ${1: title}
#+AUTHOR: k-sunako
#+DATE: `(let ((x (org-time-stamp '(16) t ))))`
\vspace*{-1.5cm}

* 概要
  blabla

* 参考文献

  #+LaTeX: \printbibliography[heading=none]

ripgripのオプション

emacsの ripgrep-regex コマンドが遅いことが多いので調べると検索結果の文字数に上限を設け れば良いらしい。

下記のコマンドで100バイトの文字数に上限を設定できる。

rp -M 100 blahblah . 

emacsの ripgrep-regex コマンドに反映するために下記の設定を追加した。

(setq ripgrep-arguments '("-M 100"))

イデアルの”I”

数学の講義中にイデアルの飾り文字がうまく書けない。latexで出力できるかをチェック。

\[ \mathscr{A} / \mathscr{I} := \{a + \mathscr{I}: a \in \mathscr{A} \} \]

\[ a + \mathscr{I} = b + \mathscr{I} \Longleftrightarrow b – a \in \mathscr{I} \]

iy-go-to-char

マルチカーソルでカンマ(,)まで進みたいとかに便利

(use-package iy-go-to-char
  :ensure t
  :after multiple-cursors
  :bind (("C-c f" . iy-go-to-char) ("C-c F" . iy-go-to-char-backward))
  :config
  (add-to-list 'mc/cursor-specific-vars 'iy-go-to-char-start-pos))

読んだ記事

記事

Simplifying Factorials: The Easy Way

階乗の説明をしている記事。この位は英語を書けるようになりたい。

\({}_{x}C_{2}\) の単純にした結果がなるちょっと気になった。

久々にCoCalcに接続し、階乗を計算してみた。(Exportしたら結果が見えない。)

Learning by Cloning: How to Decompose the Problem

Web開発の学習に関する記事。

サイトを模倣(クローン)することが学習になる。所謂、写経?

Modernizing Math Typesetting with SVG

いまいち理解できなかった。