差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
emacs [2025/01/10 03:27] – skk | emacs [2025/01/13 01:28] (現在) – skk | ||
---|---|---|---|
行 1: | 行 1: | ||
- | = [[emacs]] / LM: [2025-01-10 03:26:35] | + | = [[emacs]] / LM: [2025-01-13 01:28:49] |
~~NOCACHE~~ | ~~NOCACHE~~ | ||
行 841: | 行 841: | ||
" | " | ||
</ | </ | ||
- | |||
- | === - latex export === | ||
- | org-mode で書いた文章を,LaTeX に export して,PDF にできる.頑張る人は論文まで書いている模様.MarkDown よりも org-mode の方が記述力が高い為,共同作業などをしない場合は,org-mode で記述する方が LaTeX コマンドを直接記述する割合を減らせる. | ||
- | |||
- | < | ||
- | * セクション | ||
- | 内容内容. | ||
- | </ | ||
- | |||
- | のように書く.オプションは以下のようなものがある. | ||
- | |||
- | ^ コマンド | ||
- | | #+TITLE: タイトル文字 | ||
- | | #+AUTHOR: 著者 | ||
- | | #+DATE: \today | ||
- | | #+OPTIONS: H:2 toc:nil num:t | | | ||
- | | #+LANGUAGE: ja | ||
- | | # | ||
- | |||
- | |||
- | <TBD> | ||
行 1223: | 行 1202: | ||
==== - PDF 生成 ==== | ==== - PDF 生成 ==== | ||
+ | |||
+ | org-mode で書いた文章は,HTML や MarkDown, LaTeX などに Export できる. | ||
+ | 多少の文章を作るのに,Word や Google Spreadsheet で作成しても良いのだが,テキストベースで残っている方が保存の観点からは安心なので,共同作業が求められない場合,僕は emacs で文章を書き,LaTeX に export した上で PDF にする機能をちょいちょい使っている.org-mode は MarkDown よりも記述力が高いので,そこそこ複雑な文章でも作成しやすいような気がする.世の中的には MarkDown の方が流行っているけれども. | ||
+ | |||
+ | === - 基本設定 === | ||
+ | |||
+ | org-latex-pdf-process で,呼び出す latex コマンドを指定する.もし,参照を使いたい人は,bibtex などもここで指定する必要がある.また,latexmk などを使って呼び出す内容をまとめておくのもよいかもしれない.僕はコマンドラインから呼び出すことはほぼないので,latexmk まで整備する必要はない. | ||
+ | |||
+ | org-latex-default-class は,org-latex-classes で指定された複数の class のうち,文章内で # | ||
+ | |||
+ | org-latex-classes には,複数のクラスを記述して追加しておく.以下の例で言えば,''" | ||
+ | |||
+ | <code lisp> | ||
+ | (use-package org | ||
+ | :ensure t ;; 多分イラナイ | ||
+ | :after action-lock | ||
+ | :init | ||
+ | (setq org-latex-default-class " | ||
+ | (setq org-latex-pdf-process | ||
+ | ' | ||
+ | " | ||
+ | " | ||
+ | (setq org-export-with-toc nil) ; \tableofcontents を出さない | ||
+ | (setq org-export-latex-date-format " | ||
+ | :hook | ||
+ | (org-mode . turn-off-auto-fill) | ||
+ | (org-mode . action-lock-mode) | ||
+ | :config | ||
+ | (add-hook ' | ||
+ | (add-hook ' | ||
+ | ) | ||
+ | |||
+ | (add-to-list ' | ||
+ | ' | ||
+ | " | ||
+ | \\setlength{\\topmargin}{15mm} | ||
+ | \\addtolength{\\topmargin}{-1in} | ||
+ | \\setlength{\\oddsidemargin}{20mm} | ||
+ | \\addtolength{\\oddsidemargin}{-1in} | ||
+ | \\setlength{\\evensidemargin}{15mm} | ||
+ | \\addtolength{\\evensidemargin}{-1in} | ||
+ | \\setlength{\\textwidth}{170mm} | ||
+ | \\setlength{\\textheight}{254mm} | ||
+ | \\setlength{\\headsep}{0mm} | ||
+ | \\setlength{\\headheight}{0mm} | ||
+ | \\setlength{\\topskip}{0mm} | ||
+ | \\usepackage{otf} | ||
+ | \\usepackage{fancyhdr} | ||
+ | \\usepackage[dvipdfmx]{graphicx, | ||
+ | \\usepackage{xytree} | ||
+ | \\usepackage{indentfirst} | ||
+ | \\usepackage{minijs} | ||
+ | \\usepackage[T1]{fontenc} | ||
+ | \\usepackage{lmodern} | ||
+ | \\pagestyle{plain} | ||
+ | \\makeatletter | ||
+ | \\西暦" | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ) | ||
+ | |||
+ | ) | ||
+ | |||
+ | </ | ||
+ | |||
+ | org の文章をエクスポートするには,'' | ||
+ | |||
+ | Windows の emacs で作業する際,PDF をオープンするために,毎回,howm で保存されてるフォルダにまでエクスプローラでたどり着くのがめんどくさいので,'' | ||
+ | |||
+ | <code lisp> | ||
+ | (global-set-key " | ||
+ | (defun open-current-file-dir-with-explore () | ||
+ | (interactive) | ||
+ | (my-action-lock-explorer-open (unix-path-to-windows (file-name-directory buffer-file-truename))) | ||
+ | ) | ||
+ | </ | ||
+ | |||
+ | 実際に文章を書く際は,文章毎にいくつかオプションをつけることになる.次の項目に僕が使う代表的なものをいくつか載せておくが,クラスを選ぶには,''# | ||
+ | |||
+ | |||
+ | === - 文章毎のオプション === | ||
+ | |||
+ | < | ||
+ | #+TITLE: 文章のタイトル | ||
+ | #+AUTHOR: skk | ||
+ | # | ||
+ | * セクション | ||
+ | 内容内容. | ||
+ | </ | ||
+ | |||
+ | のように書く.オプションは以下のようなものがある. | ||
+ | |||
+ | ^ コマンド | ||
+ | | #+TITLE: タイトル文字 | ||
+ | | #+AUTHOR: 著者 | ||
+ | | #+DATE: \today | ||
+ | | #+OPTIONS: H:2 toc:nil num:t | | | ||
+ | | #+LANGUAGE: ja | ||
+ | | # | ||
<TBD> | <TBD> | ||
- | 1. article としての生成 | ||
- | 2. beamer を利用して,プレゼン用資料の生成 | ||
- | コマンドメモ: | + | === - latex engine |
- | * C-e C-p:変換先の候補を出す | + | |
- | * l p:PDF を出力する | + | |
+ | 僕は 2000 年代頭くらいの状態のまま LaTeX を使っていたので,platex を使っていたのだが,ここ最近は,lualatex,uplatex, | ||
+ | これと同じように,documentclass で指定するクラスも,jarticle ではなく,jsarticle や bxjsarticle などを使うのが主流になってきている模様. | ||
+ | |||
+ | 年賀状で原の味フォントを使うのなんかも,platex のままで動作してたので,問題ないのかもしれないが,せっかくちょっとずついじるなら, jsarticle などを使っていってみたいと思う. | ||
+ | |||
+ | ただ,その際,jarticle ベースで設定していたフォーマットと,jsarticle でこれから育てていくフォーマットを共存させたくなってくるので,latex class に応じて呼び出されるコマンドを変更したいと考えた. | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||
+ | ここのコードを拝借して,以下のように書いてみたら,切替がうまく言ったような気がする. | ||
+ | |||
+ | <code lisp> | ||
+ | |||
+ | (use-package org | ||
+ | ... | ||
+ | :hook | ||
+ | (add-hook ' | ||
+ | ) | ||
+ | |||
+ | (defun skk/ | ||
+ | (message " | ||
+ | ;; [2025-01-12] | ||
+ | ;; https:// | ||
+ | (setq current-latex-class | ||
+ | (cdr (assoc " | ||
+ | (org-element-map (org-element-parse-buffer ' | ||
+ | (lambda (keyword) (cons (org-element-property :key keyword) | ||
+ | (org-element-property :value keyword))))))) | ||
+ | (if (eq current-latex-class nil) | ||
+ | (setq current-latex-class org-latex-default-class)) | ||
+ | |||
+ | (cond ((string-match current-latex-class " | ||
+ | (setq org-latex-pdf-process | ||
+ | ' | ||
+ | " | ||
+ | " | ||
+ | | ||
+ | | ||
+ | | ||
+ | ((string-match current-latex-class " | ||
+ | (setq org-latex-pdf-process | ||
+ | ' | ||
+ | " | ||
+ | " | ||
+ | | ||
+ | | ||
+ | | ||
+ | ((string-match current-latex-class " | ||
+ | (setq org-latex-pdf-process | ||
+ | ' | ||
+ | " | ||
+ | " | ||
+ | | ||
+ | | ||
+ | | ||
+ | ) | ||
+ | ) | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | 備考:[[https:// | ||
+ | |||
+ | === - beamer === | ||
+ | LaTeX の beamer クラスは,スライドを LaTeX で作成するためのクラス.org で箇条書したものを beamer で export すると,スライドにしやすい.ox-beamer というパッケージを使いつつ export できる. | ||
+ | |||
+ | beamer の LaTeX 的な記法は,[[latex]] に記載予定. | ||
+ | |||
+ | <TBD> | ||
==== - tbl 関係 | ==== - tbl 関係 |