『プログラマのための圏論』和訳・共同作業ガイドライン

3 min read読了の目安(約3100字

『プログラマのための圏論』 和訳ガイドライン(暫定)

準備

  1. 原文のソース をダウンロード.
  2. 親レポジトリ を fork して,各自のローカル環境に clone.
  3. Zenn-CLI をインストール.

ディレクトリ構成

books
└── 850b20937af93b
    ├── config.yaml
    ├── cover.jpg
    ├── 1-0.md
    ├── 1-1.md
    └── ...
  • 当 book は Zenn の GitHub 連携機能 によって,ウェブ上へデプロイされる.
  • zenn-contents/books/850b20937af93b/ 下に当 book のコンテンツがある.
  • config.yaml 内に book の基本情報が書かれており,末尾の chapters: 下にチャプターが並ぶ.
  • chapters: で指定した各チャプターIDに対応する markdown ファイル (x-y.md) をディレクトリ化に配置することでコンテンツが読み込まれる.
  • Zenn-CLI を使って,ローカル環境でブラウザから執筆中のコンテンツを見ることができる.

作業の進め方

コンテンツの追加

  • 原文ソースでは [part]-[section] でフォルダ分けされているが,当 book では[section]-[subsection] でチャプターを分ける.
  • 原文ソースの milewski-ctfp-pdf/src/content/ 下から担当セクションの TeX ファイルをコピーする.
  • 原文のセクション毎に一つチャプターを作る.
    • セクション x に対して,ファイル x-0.md を作成.
    • md ファイルの冒頭でタイトルを指定:
      ---
      title: "§x ..."
      ---
      
    • 本文の冒頭に原文へのリンクを置き,序文のみを訳す.
  • 以後,x-y.md のようにサブセクション毎にチャプターを追加する.
  • 画像は Zenn の 画像アップローダ を使ってアップロードし,URL を取得する.
  • config.yaml 末尾の chapters: 下に追加したチャプターの md ファイルを追記.

デプロイ

  • ローカルにクローンしたレポジトリからリモート (fork した GitHub レポジトリ) に push.
  • fork リポジトリから,親リポジトリ taketo1024/zenn-contents へ Pull-Request を送る
  • 佐野が確認して,必要に応じて加筆・修正を行い,問題なければ merge する.
  • あとは自動でデプロイされる.

和訳ガイドライン

  • 文体は敬体(です・ます調)ではなく常体(だ・である調).
  • 句読点は「。、」ではなく 「.,」.
  • 定義語は太字で書き、続けて () に英語も入れる.
    • 例: (category) とは…
  • 本文は Markdown 記法で書く.特に:
    • 数式ブロック \[ ... \]$$ ... $$ に置き換える(前者は非対応のため).
    • インラインコード \code{...} はバックティック `...` に置き換える.
    • コードブロック \begin{snip}{text} ... \end{snip}markdown のコードブロックに置き換える.例えば Haskell のコードは次のように書く:

      ```haskell
      x :: Integer
      ```

    • 原文は Haskell 以外にも Scala や Ocaml などにも対応しているが,本和訳では Haskell コードのみ使う.content/*.*/code/haskell/snippet**.hs に該当コードがあるので丸っとコピーする.
  • 各チャプターで末尾に和訳担当者のアカウントをリンクつきで記載する.
  • Google Translate や DeepL などの自動翻訳を使うことは問題ないが,日本語として意味が通ること,適切な専門用語が用いられていること,上のガイドラインを満たしていることは人間の目で確認し,必要に応じて修正すること.
  • (随時追加する)

読者からのサポートについて

  • 読者からのサポート金は翻訳の分量に応じて按分する.ただし按分額が振込手数料を下回る場合は保留.

担当

  • Part I
      1. taketo1024 ✅
      1. taketo1024 ✅
      1. unaoya
      1. unaoya
      1. dshin
      1. taketo1024
  • Part II
      1. ashiato45 ✅
      1. ashiato45
  • Part III