執筆者向けのドキュメントです。
本プロジェクトはRe:VIEW 5.1と5.3が混在しています。
これは5.3でビルドを行った場合、一部レイアウトが崩れるためです。
今後、5.3に統一していく予定となります。
まずローカルで出力を確認できる環境を作ります。 Dockerを使ったセットアップが簡単なため推奨します。
$ docker pull vvakame/review:5.1
Macの場合、Ruby・TeXLive・Re:VIEWをそれぞれインストールすれば自力で環境構築できますが、
いろいろと面倒なので特別な理由がなければDockerを使うのがいいと思います。
上述のDockerイメージをpullして環境構築が完了している状態を想定しています。
Dockerを使ってローカルでビルドするには以下のシェルを実行します。
書籍用
$ ./build-in-docker.sh
電子書籍用
$ ./build-in-docker-epub.sh
articles/text内の「.reファイル」を編集します。
articles/textに新規で「.reファイル」を作成します。
つぎに章扉の画像をimages/chapter_titleに追加します。
章扉の画像名は「chapter_章番号.png」となります。
Re:VIEWの一般的な記法は以下を参照してください。 https://github.com/kmuto/review/blob/master/doc/format.ja.md よく使う記法や注意事項については記法にまとめます。
使用するUnityバージョンは、当時最新だったLTSバージョンの2020.3.24f1を利用します。 他Unityバージョンの機能について言及する際は、バージョンを明記してから執筆を行いましょう。
一般的にA4サイズの書籍の印刷の場合、DPIの基準は以下のようになります。
- フルカラー:350dpi = 2894×4093
- モノクロ:600dpi = 4961×7016
書籍には余白があるため、使用可能な横幅の最大サイズは約1/2ぐらいでしょう。
それでもモノクロの場合は2500近く必要になります。 スクリーンショットは画面解像度に依存するため現実的ではありません。
そのため、本書籍では解像度のレギュレーションは細かく決めませんが、以下のことを意識してください。
- 画面の解像度を最大まで上げる(Macの場合、設定→ディスプレイから変更する。4Kディスプレイがあるなら4K推奨)
- フルカラー基準で考慮し、横幅最大の画像で1400ぐらいを目安とする。(基準を満たさないとしても、なるべく大きく撮る)
Visual Studio Codeのプラグインとして提供されている「テキスト校正くん」を必ず使いましょう。
https://marketplace.visualstudio.com/items?itemName=ICS.japanese-proofreading
記法について、執筆者ごとにブレないようにまとめます。
「キャプション」という馴染みのない言葉が出てきますが、「見出し」や「タイトル名」のことを指しています。
見出しには5つのレベルが存在します。 記法は次のようになります。
={ラベル} 章のキャプション
=={ラベル} 節のキャプション
==={ラベル} 項のキャプション
===={ラベル} 目のキャプション
====={ラベル} 段のキャプション
======{ラベル} 小段のキャプション
見出しはなるべく第3レベルの「項」までに抑えましょう。
第4レベルは利用しても良いですが、本文書体と見分けがつきにくいため、なるべく使用は控えてください。 記述量が少ない場合などの区切りとして使うのは問題ありません。 使う場合は、本文書体と区別を明確にするために採番することを推奨します。
第5レベル以降は禁止とします。
・章を参照する場合
@<chap>{reファイル名}
:「第3章」のように章番号に置換される。
@<chapref>{reファイル名}
:「第3章 最適化」のように章番号と章タイトルに置換される。
@<title>{reファイル名}
:「最適化」のように章タイトルに置換される。
・節や項を参照する場合
@<hd>{ラベル または 見出し}
:「2.1 最適化手法」のように見出し名に置換される。
また、他ファイルの節や項を参照する場合は、次のようにファイル名を使用します。
@<hd>{ファイル名|ラベル名}
本文から少し逸れた話など、雑談のような情報を書く際に使います。
数行の短い文章量の場合に使うと良いでしょう。
記法は次のようになります。
//info[キャプション]{
インフォの内容
インフォの内容
//}
キャプションは省略可能です。
インフォと同様の用途ですが、文章量が多い際はコラムの方を使用します。
記法は次のようになります。
===[column]{ラベル} キャプション
コラムの内容
コラムの内容
===[/column]
ラベルは省略可能です。
@<column>{ラベル または 見出し}>
:「GC.Allocの小話」のようにコラム名に置換される。
記法は次のようになります。
//image[識別子][キャプション][scale=1.0]
scaleは省略可能です。
識別子は画像ファイル名と同じ名前にする必要があります。
識別子のファイル参照先は、images/reファイル名/識別子の画像ファイル名
になります。
@<img>{識別子}>
:「図1.1」のように図番号に置換される。
また、他ファイルの図を参照する場合は、次のようにファイル名を使用します。
@<img>{ファイル名|識別子}
特別な理由がなければ、連番、行番号付のlistnumを使用します。
記法は次のようになります。
//listnum[識別子][キャプション][csharp]{
public class Sample {
public void SampleMethod() {
// サンプルメソッド
}
}
//}
コードフォーマットはRiderのデフォルト設定を採用します。
不安な場合は、コアテク標準のRider設定をインポートしてください。
@<list>{識別子}
:「リスト2.1」のようにリスト番号に置換される
また、他ファイルのリストを参照する場合は、次のようにファイル名を使用します。
@<list>{ファイル名|識別子}
本文中にソースコードを記述したい場合に使用します。
改行が出来ないので1行に収まる引用にしか使えません。
記法は次のようになります。
@<code>{var sample = gameobject.name;}
クラス名、メソッド名、プロパティ名などの本文引用は、この記法を原則、利用しましょう。
特別な理由がなければ、採番あり、キャプションありのテーブルを使用します。
記法は次のようになります。
//table[識別子][キャプション]{
A B
--------------------
HogeHoge FugaFuga
FugaFuga .
//}
ヘッダーと内容を分ける罫線は「-」を12個以上連続する必要があります。
また、表の各列は「タブ」によって区切りと判定されます。
エディターの設定で、タブがスペースに自動変換されると適切に表示されないので注意してください。
空白のセルには「.」を記入します。
先頭文字に「.」を使用する場合は「..」と書きましょう。
@<table>{識別子}
:「表1.1」のようにテーブル番号に置換される
また、他ファイルのテーブルを参照する場合は、次のようにファイル名を使用します。
@<table>{ファイル名|識別子}
記法は次のようになります。
* 第1の項目
** 第1の項目のネスト
* 第2の項目
** 第2の項目のネスト
分かりにくいですが、行頭に1つ以上の空白が必要になるので注意してください。
通常の段落との結合を防ぐために、前後に空行を入れましょう。
記法は次のようになります。
1. 1つ目の内容
2. 2つ目の内容
3. 3つ目の内容
分かりにくいですが、行頭に1つ以上の空白が必要になるので注意してください。
通常の段落との結合を防ぐために、前後に空行を入れましょう。
記法は次のようになります。
: 用語1
用語の説明
用語の説明
: 用語2
用語の説明
分かりにくいですが、行頭に1つ以上の空白が必要になるので注意してください。
通常の段落との結合を防ぐために、前後に空行を入れましょう。
@<em>{太字}
:強調の太字はこれに統一します。
@<kw>{キーワード}
:キーワード。はじめて出てくる専門用語などを強調するために使います。
@<href>{https://www.google.com/}
:URLがそのまま記載されます。
@<href>{https://www.google.com/, Google}
:Googleという文字へ置換されたリンクになります。
@<br>{}
:基本的に使用しません。テーブルのセル内、箇条書き内だけに限定して使いましょう。
//blankline
:基本的に使用しません。前後のページでキャプションだけ分離した場合などに使用するイメージです。