日本の文字の場合はその改行を除去する

org-mode で日本語LaTeXを出力する方法に, 改行前後が日本語文字の場合, 改行を除去する方法が紹介されている. ただこのままだと, 上手く動作しなかった. 良く読めば説明しているのですが, バージョンが23.4でないなら, with-eval-after-loadeval-after-loadに変換すればよい.

(defun remove-org-newlines-at-cjk-text (&optional _mode)
  "先頭が '*', '#', '|' でなく、改行の前後が日本の文字の場合はその改行を除去する。"
  (interactive)
  (goto-char (point-min))
  (while (re-search-forward "^\\([^|#*\n].+\\)\\(.\\)\n *\\(.\\)" nil t)
    (if (and (> (string-to-char (match-string 2)) #x2000)
               (> (string-to-char (match-string 3)) #x2000))
        (replace-match "\\1\\2\\3"))
    (goto-char (point-at-bol))))
(eval-after-load "ox"
  (add-hook 'org-export-before-processing-hook 'remove-org-newlines-at-cjk-text))

これは, latexだけでなく, html出力でも有効である.

投稿者: kenjimyzk カテゴリー: computer

日本の文字の場合はその改行を除去する」への1件のコメント

  1. ピンバック: org-mode | Emacs | One More Duo

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中