Folio Writer ロードマップ
Mac、iOS、iPad をまたぐネイティブな共同執筆。Markdown ファースト。研究者のために作られています。
提供中の機能
Mac——Folio Writer は現在 Mac App Store で入手できます。Scrivener 流のプロジェクト構成をフルに備えたネイティブの Markdown エディタで、ライブ数式、そして PDF、Word、LaTeX、Typst へのワンクリックのコンパイルに対応します。
提供中
提供中——フルのクラウド同期を備えた、Mac と iOS のネイティブアプリ。Mac で書き、iPad で続け、iPhone で編集。すべての変更はデバイス間で即座に同期されます。
提供中——プレゼンス表示、コメントスレッド、変更履歴を備えた、複数の著者によるライブ編集。Overleaf のワークフローのように、でもネイティブアプリの性能とオフライン対応で。
近日公開
開発中 — まだリリースされていません。執筆アシスタントにこの Mac の ChatGPT (Codex) とローカルモデル用の API キーが加わり、バインダー、エディタ、メタデータ、テンプレートも改善されます。リリースまでに内容が変わる場合があります。 ↓
開発中——大きなディスプレイに最適化。トラックパッドとキーボードに対応した、フル機能の原稿編集。参考文献やアウトラインと並べられるスプリットビューのマルチタスク。
1.18 で予定されている新機能
バージョン 1.18 はまだ開発中で、App Store ではまだ入手できません。以下は 1.18 に含まれる予定の内容です。リリースまでに詳細が変わる場合があります。
執筆アシスタント
- この Mac の ChatGPT。新しいプロバイダ この Mac の ChatGPT (Codex) は、Claude Code プロバイダが
claudeを実行するのと同じように、OpenAI の Codex コマンドライン(codex exec)を実行します。ChatGPT アカウントでサインインして使うので(codex login)、API キーもトークンごとの請求も不要で、回答はそのまま確認できる提案として Folio Writer に戻ってきます。codexコマンドは自動で見つかります(npm、Homebrew、Volta、シェルの PATH)。見つからない場合は 設定 ▸ アシスタント でパスを指定できます。App Store 版では Folio Helper を通じて実行されます(Folio Helper 1.7 以降)。 - ローカルモデルに API キーを設定できます。Unsloth はアプリごとにキーを発行し、LM Studio はキーを必須にするよう設定できます。設定 ▸ アシスタント ▸ ローカルモデル にキーを貼り付けると、そのサーバーにだけベアラートークンとして送られ、キーチェーンに保管されます。Ollama はキー不要で、これまでどおり動作します。サーバーから 401 や 403 が返ったときは、キーの場所が案内されるようになりました。
バインダーとエディタ
- 無題の文書は冒頭の言葉を表示します。設定 ▸ 一般 ▸ 「無題」の代わりにあらすじまたは冒頭のテキストを表示 をオンにすると、あらすじのない無題の文書は、バインダーに本文の最初の行を表示します。短いフェンス付き div のセクションや単独の段落も、あらすじなしで見つけ直せます。無題の文書では、エディタ上部のタイトル行と Scrivenings のセクション間の区切りに「無題」と表示されず、空欄になります。
- 文書は子文書と一緒に開きます。下に項目が入れ子になった文書を選択すると、フォルダと同じように、それらが一続きのテキストとして表示されます。Scrivener でグループを Scrivenings で表示するのと同じです。設定 ▸ エディタ ▸ 子文書 でオフにすると、そうした文書を単独で編集できます。
- 角かっこのスパンは、その言葉として表示されます。キャレットが別の場所にあるとき、
[1sg]{.smallcaps}は 1sg と表示されます。[、]、末尾の{.class #id key=val}は他の Markdown の区切り記号と同じように隠れ、スパンを編集すると再び現れます。設定 ▸ エディタ ▸ スパンのスタイル では、Scrivener の文字スタイルのように、クラスをエディタ上の見た目(スモールキャピタル、太字、イタリック、下線、等幅、色付き、ハイライト)に対応づけられます。.smallcapsと.scは最初からスモールキャピタル、.underlineは下線です。.name→ 色合い、.gloss→ イタリックなど、フィルタが想定するものを自由に追加できます。プレビューとコンパイルには影響しません。 - 属性チップが控えめになりました。
{#fig:x}、{.unnumbered}、スパンの属性は、ティールの背景ではなく、柔らかく暖かみのあるグレーのチップに落ち着いた文字色で表示されます。ティールの背景では、すべてのスパンや div がハイライトされているように見えていました。 - テンプレート文書はすべての項目を保持します。テンプレートフォルダ内の文書でも、インスペクタとアウトラインに「メタデータとコンパイル」ペイン(キーワード、日付、セクションタイプ、コンパイルフラグ、セクションの接頭辞と接尾辞、執筆目標)が表示されるようになりました。そこに設定した値は、その文書から作成されるすべての文書に引き継がれます。
メタデータとテンプレート
- 入力中に YAML をチェック。「メタデータ」文書のフロントマターに pandoc や Quarto が受け付けないミスがあると、その瞬間に控えめな帯が表示されます。インデント内のタブ、閉じられていない引用符、2 回設定されたキー、他が 2 スペースなのに 3 スペースのインデント、下に何もない
|、または(レンダラーが Quarto のとき)ただの文字列で指定されたjournal:などです。該当する行がそれぞれ示され、「表示」で一覧を開き、「隠す」で閉じます。 - 挿入 ▸ 著者エントリ(YAML)。フォーマット ▸ テンプレートを挿入 ▸ 著者エントリ(YAML) は、テンプレートと組み込みの著者フィルタが読むスキーマで、構造化された著者(名前、メール、ORCID、責任著者のフラグ、所属)をキャレット位置に挿入します。2 人目、3 人目の著者も、書式を覚えておかなくても埋めるだけで済みます。
- ファイル ▸ 新規 Lua フィルタ… — テンプレート ▸ Lua フィルタ の下に
.lua文書を作成します。スパンや div を LaTeX と Typst に変換する方法がすでに書かれたひな形から始まり、ワンステップでプロジェクト設定に登録されます。プロジェクト設定の「組み込み」メニューでは、ポインタを合わせると各フィルタの説明が表示され、脚注には、プロジェクト独自のフィルタはそのプロジェクトを開くすべての人の環境で実行されることがはっきり記されています。 - Lua フィルタは Lua として表示されます。テンプレート ▸ Lua フィルタ の下の
.lua文書は、等幅フォントと Lua のハイライト(キーワード、pandoc.*API と要素名、文字列、コメント)で開き、Markdown の便利機能(スマートリスト、#タグの補完、インラインの表)がコードの邪魔をすることはありません。バインダーのアイコンは ƒ です。 - 新規プロジェクトは前回の場所を覚えています。ピッカーは最後に開いていたカテゴリで開き、各テンプレートには含まれるものが表示されます。フィルタ名を示す Lua フィルタ のカプセル(ポインタを合わせると機能を説明)、リサーチフォルダを含むパッケージには 図を同梱、同梱のテンプレートの代わりになるユーザーテンプレートには 組み込みテンプレートのあなたのコピー と表示されます。
修正
- バインダーで Lua フィルタの文書を別のフォルダに移動しても、プロジェクト設定はその文書を指したままになります。
- それ自体がスタックに含まれている、子文書を持つ文書が二重に表示されることはなくなりました。Elsevier または IEEE の著者フィルタをオンにした Typst のコンパイルでも、構造化された著者は Typst 自身のテンプレートで読める形のまま保たれます。
なぜネイティブなのか?
学術執筆には、ウェブだけのツールより良いものがふさわしい。ネイティブアプリが与えてくれるもの:
- オフライン作業——飛行機で、学会で、カフェで書けます。再接続すれば同期されます。
- 性能——ウェブアプリには真似できない、原稿の扱いと応答性。
- プラットフォームとの統合——シームレスなコピー&ペースト、Finder との同期、システムのショートカット、トラックパッドのジェスチャー。
- プレーンテキストの Markdown——ソースは読めるまま、バージョン管理でき(Git と相性が良く)、将来にわたって使えます。
なぜ Markdown なのか?
LaTeX(Overleaf)や新しい言語(Typst)とは違い、Markdown はすでに学術計算の標準です:Jupyter ノートブック、R Markdown、データサイエンスのワークフロー。原稿のソースは人間が読めるままで、すでに使っているツールと統合できます。