*[[Atom:https://atom.io/]] [#f28ffeb8]
*[[Atom:https://github.com/atom/atom]] (開発終了) → [[Pulsar:https://pulsar-edit.dev/]] (Atom の後継) [#f28ffeb8]

[[Atom:https://atom.io/]] は GitHub が開発するオープンソースのテキストエディタです。
Atom は、開発終了したオープンソースのテキストエディタです。

-https://atom.io/
-https://github.com/atom/atom

Windows、Mac OS X、 Linux をはじめとした、様々な環境で動作します。"A hackable text editor for the 21st Century" として、拡張可能で柔軟な、新技術を積極的に応用したエディタを目指して開発が続けられています。内臓のパッケージマネージャを用いて、多種多様な拡張パッケージを導入・管理することができ、また、Node.js (JavaScript) や CSS などの Web 技術を使ってカスタマイズ可能です。2016 年 1 月現在、1.3 系列が最新です。
Windows、macOS、 Linux をはじめとした、様々な環境で動作します。
"A hackable text editor for the 21st Century" として、拡張可能で柔軟な、新技術を積極的に応用したエディタを目指していましたが開発は終了しました。
内蔵のパッケージマネージャを用いて、多種多様な拡張パッケージを導入・管理することができ、また、Node.js (JavaScript) や CSS などの Web 技術を使ってカスタマイズ可能なエディタでした。

現在では [[Pulsar:https://pulsar-edit.dev/]] が Atom の後継として開発されています。

----
#contents
----

*インストールと設定 [#n0fab191]

インストールは簡単です、様々な環境でインストーラやパッケージが提供されています。


*拡張パッケージの導入 [#ga099443]

Atom の環境設定画面や、https://atom.io/packages で検索して、パッケージを探しましょう。
Pulsar の環境設定画面や、https://web.pulsar-edit.dev/packages で検索して、パッケージを探しましょう。

**日本語関連のパッケージ [#lfe144fd]

-[[japanese-menu:https://atom.io/packages/japanese-menu]] -- メニューバーとコンテキストメニュー、設定画面を日本語化します。
-[[japanese-menu:https://web.pulsar-edit.dev/packages/japanese-menu]] -- メニューバーとコンテキストメニュー、設定画面を日本語化します。
--https://github.com/syon/atom-japanese-menu

**LaTeX 関連のパッケージ [#gb891a80]

LaTeX での文書作成を補助するパッケージも色々とあります。

-[[latex:https://atom.io/packages/latex]] -- Atom から LaTeX 文書をコンパイル・プレビュー
-[[latextools:https://atom.io/packages/latextools]] -- Atom から LaTeX 文書をコンパイル・プレビュー
-[[language-latex:https://atom.io/packages/language-latex]] -- LaTeX の構文ハイライト
-[[latexer:https://atom.io/packages/latexer]] -- LaTeX 文書編集用の自動補完パッケージ
-[[pdf-view:https://atom.io/packages/pdf-view]] -- Atom 内で PDF プレビューをするためのパッケージ
//-https://atom.io/packages/search?q=latex
//-https://atom.io/packages/search?q=keyword:latex
//-[[atom-latex:https://web.pulsar-edit.dev/packages/atom-latex]] -- Atom から LaTeX 文書をコンパイル・プレビュー
-[[latex:https://web.pulsar-edit.dev/packages/latex]] -- Atom から LaTeX 文書をコンパイル・プレビュー
--https://github.com/thomasjo/atom-latex
//-[[latextools:https://atom.io/packages/latextools]] -- Atom から LaTeX 文書をコンパイル・プレビュー
-[[language-latex:https://web.pulsar-edit.dev/packages/language-latex]] -- LaTeX の構文ハイライトとスニペット
--https://github.com/area/language-latex
-[[latexer:https://web.pulsar-edit.dev/packages/latexer]] -- LaTeX 文書編集用の自動補完パッケージ
--https://github.com/Focus/latexer
-[[latex-tree:https://web.pulsar-edit.dev/packages/latex-tree]] -- LaTeX 文書用のツリービュー
--https://github.com/raphael-cch/latex-tree
//-[[document-outline:https://atom.io/packages/document-outline]] -- アウトライン
-[[pdf-view:https://web.pulsar-edit.dev/packages/pdf-view]] -- Atom 内で PDF プレビューをするためのパッケージ
--https://github.com/izuzak/atom-pdf-view
//-[[pdf-view-plus:https://github.atom.io/packages/pdf-view-plus]] -- Atom 内で PDF プレビューをするためのパッケージ
//-[[pdfjs-viewer:https://atom.io/packages/pdfjs-viewer]] -- Atom 内で PDF プレビューをするためのパッケージ

**エディタ乗り換えに役立つパッケージ [#v70fe827]

-[[vim-mode:https://atom.io/packages/vim-mode]]
-[[emacs-plus:https://atom.io/packages/emacs-plus]]
-[[minimap:https://atom.io/packages/minimap]] -- Sublime Text みたいにミニマップを表示させる
-[[vim-mode-plus:https://web.pulsar-edit.dev/packages/vim-mode-plus]] -- Vim キーバインド
-[[atomic-emacs:https://web.pulsar-edit.dev/packages/atomic-emacs]] -- Emacs キーバインド
-[[minimap:https://web.pulsar-edit.dev/packages/minimap]] -- Visual Studio Code みたいにミニマップを表示させる

**ターミナルエミュレータ [#v730a901]

[[term2:https://atom.io/packages/term2]] や [[terminal-plus:https://atom.io/packages/terminal-plus]] などのターミナルエミュレータを Atom 内で使うパッケージがあります。
[[platformio-ide-terminal:https://web.pulsar-edit.dev/packages/platformio-ide-terminal]] や [[terminal-plus:https://web.pulsar-edit.dev/packages/terminal-plus]] などのターミナルエミュレータを Atom 内で使うパッケージがあります。

**その他あると便利なパッケージ [#b9051f32]

-[[open-recent:https://atom.io/packages/open-recent]]
-[[save-session:https://atom.io/packages/save-session]]
-[[file-icons:https://atom.io/packages/file-icons]]

*LaTeX 環境の整備 [#o1b2f62a]

latex, language-latex, latexer などのパッケージをとりあえず入れましょう。
[[Atom/LaTeX]] を参照。

ここでは、pLaTeX 系エンジンを使って文書を作成する設定を解説します。
latex パッケージを使うには [[Latexmk]] か texify が必要です。Latexmk がインストールされ、パスが通っている前提で進めます。

**Windows [#xd2a02e0]

Windows で LaTeX package で Latexmk-upLaTeX-pdfdvi でタイプセットして SumatraPDF で forward and inverse search を実行する方法を記述します。

***設定 [#wa284717]

%USERPROFILE%\.atom\packages\latex\lib\builders\latexmk.js を編集します。

constructArgs (filePath) の const args を変更します。

     const args = [
       '-e',
       '"$latex = \'uplatex %O -file-line-error -no-guess-input-enc -kanji=utf8 -interaction=nonstopmode -synctex=1 %S\'"',
       '-e',
       '"$biber = \'biber %O --bblencoding=utf8 -u -U --output_safechars %B\'"',
       '-e',
       '"$bibtex = \'upbibtex %O %B\'"',
       '-e',
       '"$makeindex = \'upmendex %O -o %D %S\'"',
       '-e',
       '"$dvipdf = \'dvipdfmx %O -o %D %S\'"',
       '-f',
       '-cd',
       '-norc',
       '-gg',
       '-pdfdvi'
     ]


%USERPROFILE%\.atom\packages\latex\lib\openers\sumatra-opener.js を編集します。

open (filePath, texPath, lineNumber, callback) の const args を変更します。

     const args = [
       '-reuse-instance',
       '-inverse-search',
       `"\\"${process.env.userprofile}\\AppData\\Local\\atom\\app-${atom.getVersion()}\\atom.exe\\" \\"%f:%l\\""`,
       '-forward-search',
       `"${texPath}"`,
       `"${lineNumber}"`,
       `"${filePath.replace(/\.dvi$/, '.pdf')}"`
     ]

%USERPROFILE%\.atom\config.cson を編集します。

latex の sumatraPath に SumatraPDF の実行ファイルのフルパスを設定して  alwaysOpenResultInAtom を false に設定します。

   latex:
     sumatraPath: "C:\\Program Files\\SumatraPDF\\SumatraPDF.exe"
     alwaysOpenResultInAtom: false

***使い方 [#f1b15dfc]

Ctrl+Alt+B をタイプすると Latexmk-upLaTeX-pdfdvi でタイプセットしたあと SumatraPDF で forward search が実行されます。

SumatraPDF の画面をダブルクリックすると Atom の該当する TeX ファイルの行にジャンプします。


**latex パッケージと pdf-view パッケージとの連携 [#l8d4ce3a]

[[pdf-view:https://atom.io/packages/pdf-view]] パッケージを使用することで Atom 内で PDF プレビューができます。SyncTeX にも対応しています。
日本語を表示させるには、

  ~/.atom/packages/pdf-view/node_modules/pdfjs-dist/build/pdf.js

から、 CMap 関連の設定場所を探し出し、以下のように編集します:

  PDFJS.cMapUrl = "../cmaps/";
  PDFJS.cMapPacked = true;

pdf-view を使用するための設定をします。

 ~/.atom/config.cson

を編集します。

latex の alwaysOpenResultInAtom を true に設定します。

   latex:
     alwaysOpenResultInAtom: true

latex パッケージで自動プレビューを設定してもなぜか DVI ファイルを開こうとする場合があるようです。プロジェクトフォルダを追加しておき、手動で結果の PDF ファイルを選択すると Atom で PDF を見ることができます。

*Markdown 環境の整備 [#he8ae1a3]

Markdown 関連の拡張パッケージも様々あります。Markdown での文書作成にはそれほど苦労しないと思われるので、入力補助ツールはあまり必要ないでしょう。必要に応じて探していくことになると思いますが、とりあえず、[[markdown-writer:https://atom.io/packages/markdown-writer]] などがあればよいでしょう。
[[Atom/Markdown]] を参照。

Atom は標準で Markdown 文書のリアルタイムプレビュー機能を備えています。

Markdown プレビュー画面を開くには,メニューから

  パッケージ > Markdown Preview > Toggle Preview

を選びます。

**スタイル付け [#l37fd88c]

出力文書のスタイル付けは CSS で行います。メニューの

  ファイル > 環境設定…

で設定画面を開き、"設定フォルダを開く" ボタンを押して、設定フォルダを開きます。そこから style.less を開き、編集します。例えば、Windows 10 向けのフォント設定を行い、両端揃えなどを行うには:

  @font-family-min: "Yu Mincho", serif;
  @font-family-got: "Yu Gothic", sans-serif;
  .markdown-preview{
    font-family: @font-family-min;
    font-size: 10pt;
    line-height: 1.9em;
    text-align: justify;

    h1, h2, h3, h4, h5, h6{
      font-family: @font-family-got;
      font-weight: bold;
    }

    blockquote {
      border-left: 4px solid #ccc;
      font-style: italic;
      font-size: inherit;
      p { font-size: inherit; }
    }
  }

などのようにすると良いでしょう。Chromium ベースなので、今のところハイフネーションはサポートしていないようです。

**文書の生成と保存 [#j459d751]

HTML へ変換するには、単にプレビュー画面で右クリックをして、"Save As MTML…" を選ぶだけです。
markdown-pdf パッケージを導入することで、PDF への出力も可能です。

**数式の表示 [#s3c9391f]

[[markdown-preview-plus:http://atom.io/packages/markdown-preview-plus]] パッケージにより、LaTeX 形式での数式入力と表示が可能となります。
MathJax による描画で、保存した HTML にも結果は反映されますが、markdown-pdf では対応していないようです。MathJax を用いる markdown-preview-plus 以外にも、KaTeX を用いる
[[markdown-preview-katex:https://atom.io/packages/markdown-preview-katex]] や [[atom-markdown-katex:https://atom.io/packages/atom-markdown-katex]] があります。

数式を含んだ文書を PDF へ変換したい場合は、一旦 HTML で保存してから、
[[wkhtmltopdf:http://wkhtmltopdf.org/]] を利用するとなんとかできます。

  wkhtmltopdf --javascript-delay 10000 input.html output.pdf

のように、javascript-delay オプションをつける必要があるようです。数式の変換がうまくいかなかったら、delay の値を増やしてみます。

*文書管理と Git との連携 [#p26877b2]

-[[git-control:https://atom.io/packages/git-control]] -- GUI インターフェイス
-[[git-plus:https://atom.io/packages/git-plus]] -- コマンドパレットで Git 操作
-[[git-control:https://web.pulsar-edit.dev/packages/git-control]] -- GUI インターフェイス
-[[git-plus:https://web.pulsar-edit.dev/packages/git-plus]] -- コマンドパレットで Git 操作



*参考 [#ue2446c0]

-[http://dotinstall.com/lessons/basic_atom Atom入門 (全12回) - プログラミングならドットインストール]
-[[Atomでplatex->dvipdfmxチェーンを実装する話:http://blog.ishotihadus.com/?p=95]]
-[https://dotinstall.com/lessons/basic_atom_v2 Atom入門 (全15回) - プログラミングならドットインストール]