org-mode という
闇鍋マークアップ言語について

SlideはWeb上にあります:

markdown-in-org-mode_qrcode.png

https://exflikt.github.io/slide/markup-in-org-mode.html

マークアップ言語とは

文書の構造、フォーマットを記述する言語

  • LaTeX
  • XML, JSON, YAML
  • HTML
  • Markdown
  • org-mode

Markdown 記法

# ヘッダー
## 小さいヘッダー
### さらに小さいヘッダー

[リンク](https://youtu.be/dQw4w9WgXcQ)

- **強調**
- *イタリック*
- __下線__

`single line code`

Markdown 記法

markdown-in-org-mode_markdown.png

org-mode

  • Emacsで使うために開発された
  • 実はMarkdown (2004年) よりも前に出来ている (2003年)

org-mode 記法

* ヘッダー
** 小さいヘッダー
*** さらに小さいヘッダー

- *強調*
- /イタリック/
- _下線_
- +取り消し線+

=single line code=

org-mode 記法

markdown-in-org-mode_org-mode.png

プログラムを埋め込む

#+begin_src C :results output
  #include <stdio.h>
  int main() {
    https://x.com/thingskatedid/status/1370862460735868928
    int number = 0;
    char *string = (char *)&number;
    0[string] = 'x';
    1[string] = 'y';
    2[string] = 'z';
    3[string] = '\0';
    printf("string = \"%s\"\n", string);
    printf("number = %#010x\n", number);
  }
#+end_src

実行結果

C-c C-c で実行して結果が見れる

#include <stdio.h>
int main() {
  https://x.com/thingskatedid/status/1370862460735868928
  int number = 0;
  char *string = (char *)&number;
  0[string] = 'x';
  1[string] = 'y';
  2[string] = 'z';
  3[string] = '\0';
  printf("string = \"%s\"\n", string);
  printf("number = %#010x\n", number);
}
string = "xyz"
number = 0x007a7978

スライドも org-mode

markdown-in-org-mode_slides.png

ox-reveal でスライド生成

reveal.js フレームワークを元にスライド化

M-x load-library , then ox-reveal

Export: C-c C-e R R

補足スライド

C言語の配列添字は可換演算

int array[10];

array[3] = 0xbad;

[3]array = 0xbad;

配列の添字アクセスはポインタ加算 + 参照外し

array[3] = 0xbad;

*(array + 3) = 0xbad; // 糖衣構文

ポインタ加算 array + 3 は足す順番を

変えても同じ結果になるので…

*(3 + array) = 0xbad;

3[array] = 0xbad;

YouTube 動画の埋め込み

GIFの埋め込み

GIFの埋め込み2