カード・レイアウト (Card Layout)
原文 = http://ankisrs.net/docs/CardLayout.html
最新情報は 2.0/CardsAndTemplates を参照してください。
目次
Card Layout 画面を使うと、あなたが Anki に入力した情報が どのようなカードとして表されるかを設定できます。
1番目のタブで、カードの表・裏に どんな情報を表示するか、その他全般の設定をします。
2番目のタブで フィールドのカスタマイズや フィールドの表示方法を設定します。
Card Layout画面へは、編集時に Card Layout ボタンを押すか、復習時に 編集>カードレイアウト (Edit>Card Layout) を選ぶか、モデルの編集時に Card Layout ボタンを押すことでアクセスすることができます。
カードテンプレート (Card Templates)
カードテンプレートを使って、カードの表と裏に何が表示されるのか を設定します。また 答えをキー入力するか などのオプションを設定します。
カードテンプレートを変更すると、そのテンプレートを使っている全てのカードが変更されます。
このため、テンプレートを使うと、1枚ずつカードを変更する手間なしに レイアウトを変更できます。
このページで設定できることを以下で説明します。
テンプレート (Template)
設定するテンプレートを変更します。
カードの編集中に card layout 画面に入った場合、このテンプレートは そのカードのテンプレートに固定されていて、他のテンプレートに変更することはできません。
もし そのカードが使っているテンプレートを他のものに変更したい場合、ブラウザ の Actions>Change Model を使ってください。
カードの追加中に card layout 画面に入った場合、生成されうるテンプレートのうち アクティブなもの全部 が表示されます。
アクティブ・非アクティブなテンプレートについては ブラウザ を見てください。
デフォルトでは、カードの問題の面に 非空白フィールドがあるときだけ、Anki はカードを生成します。
これにより、問題に何も書かれていないカードが作られることを防げます。
注意: テンプレート内で入力したテキストや 特殊フィールド (tagなど) は 含まれません。
モデルプロパティ ウィンドウ (Model Properties) から card layout画面に入った場合は、全てのテンプレートを選択できます。
問題 & 答え (Question & Answer)
詳しくは以下の情報を見てください。
ここに入力したテキストは、このテンプレートを使っている全てのカードで表示されます。
いちばん基本的なテンプレートは以下のようなものです:
{{Front}}
この意味は、Frontフィールドからテキストを持ってきて、テンプレートの中に配置する、ということです。
フィールドの作成については次の節で説明します。
カードに表示したい個々の情報について、個別のフィールドを作ることをおすすめします。
たとえば カードの表の面に 4つの情報を表示させたいとしましょう: 外国語の単語 (Foreign Word)、画像 (Image)、発音の音声 (Audio Clip)、補足 (Notes)。
フィールドを作ったあと、問題エリアには以下のように設定します:
{{Foreign Word}} {{Audio Clip}} {{Image}} {{Notes}}
カードの裏面 (答え) にも 補足 を表示したいと あとで気づいたら、 Notes フィールドをテンプレートの答えの部分に移動されば、全てのカードがいっせいに更新されます。
もし全ての情報をひとつのフィールドに入力していたとしたら、表示方法をあとで変えるのは とても難しいでしょう。
テンプレートには、3つの特殊フィールドを含むこともできます:
このファクトのタグ: {{Tags}} このファクトのテンプレート名: {{cardModel}} このファクトのモデル: {{modelTags}}
フィールドではない内容 (Non-field content)
テンプレートは、単なるフィールドのリストではありません。
テンプレートには どんなテキストでも入れることができます。
例えば、国と首都を憶えようとしているから、以下のような問題を作るといいでしょう:
{{Country}} の首都はどこ?
テンプレートはウェブページを作るのと同じ言語で書きます: HTML。
このためカードのレイアウトに柔軟性があります。
しかし 書式 や 改行 の挙動に注意が必要です。
フィールド以外の内容の書式を設定する (Styling non-field content)
テンプレート内のテキストの書式を設定するために 標準的なHTMLを使えます。
例えば フォントを Arial・サイズ50 にしたいときは、
<span style="font-family: arial; font-size: 50px;"> {{Country}} の首都はどこ? </span>
しかし実際に試してみると、 Country フィールド部分だけ 違うフォントで表示されます。
これは、フィールドの書式設定が HTMLで指定された書式を上書きするからです。
これを直すには、以下のように、波カッコを 2つではなく 3つにして、フィールドの書式設定を無視するように Anki に指示してください:
<span style="font-family: arial; font-size: 50px;"> {{{Country}}} の首都はどこ? </span>
テキストの色を変えることもできます:
<span style="color: #ff0000;"> {{{Country}}} の首都はどこ? </span>
HTMLで色を指定するにはカラーコードを使います。
色のリストは このページ にあります。
HTMLを使うと他にもいろいろな書式設定ができます。画像、表、水平線、など。
そのすべてをこの説明書に書くことはできません。インターネットを検索すれば HTMLの入門書がたくさん見つかります。
改行 (Newlines)
問題や答えの中で 行末がフィールドのとき、改行が自動的に挿入されます。
しかし行末がフィールドではないとき、改行は挿入されません。
以下のようなカードテンプレートがあるとき:
Line 1 Line 2
&br
実際のプレビューでは以下のような表示になります。
Line 1 Line 2
HTMLでは、改行するには 次の特別なコードを使う必要があります: <br>
なので、テンプレートを以下のように変えてください:
Line 1<br> Line 2
Anki は フィールド以外の内容に対して 改行を追加しません。
理由は、高度な書式設定と干渉するからです。
高度な使い方: フィールドからHTMLを除去する (Advanced: Stripping HTML from fields)
フィールドの文字列を使って、辞書へのリンクを作れます。
外国語を学習していて、あなたのお気に入りのオンライン辞書は 以下のような URLを使って (単語mywordを) 検索できるとしましょう:
http://example.com/search?q=myword
テンプレートを以下のように設定すると 自動的にリンクを追加できます:
{{Expression}}
<a href="http://example.com/search?q={{{Expression}}}">辞書を見る</a>
しかし、Anki では問題と答えのエリアで 同じフィールドへの {{ と {{{ を混ぜて使うことはできません。また Expression にHTMLが含まれていたら (例えば <b> で太字にしたら)、このリンクはうまくいきません。
そのかわり、Anki にはフィールドから HTMLを取り除く機能があります。
正しいテンプレートは以下のようになります:
{{Expression}}
<a href="http://example.com/search?q={{text:Expression}}">辞書を見る</a>
高度な使い方: 条件つき置換 (Advanced: Conditional Replacement)
例:
このテキストは常に表示されます。
{{#FieldName}} このテキストは FieldName が 入力されている ときだけ表示されます。 {{/FieldName}}
{{^FieldName}} このテキストは FieldName が 入力されていない ときだけ表示されます。 {{/FieldName}}
実際に役立つ例としては、フィールドが空ではないときだけ ラベルを表示する というものです。
{{#Tags}}タグ: {{Tags}}{{/Tags}}
また、どのカードが生成されるかを制御するために 条件つき置換 を使うこともできます。
例えば、問題に 2つのフィールドがあるテンプレートを考えましょう:
{{Expression}} {{Notes}}
ふつう、Expressionフィールド か Notesフィールド のどちらかにテキストが入力されていれば、カードが生成されます。
もし Expression が空でないときだけカードが生成されるようにしたければ、テンプレートを以下のように変更してください:
{{#Expression}} {{Expression}} {{Notes}} {{/Expression}}
高度な使い方: LaTeX用の区切り記号を変える (Advanced: Changing the delimiter for LaTeX)
数式を書くとき LaTeXコードの中に {{ や }} が出現することは珍しくありません。
LaTeXの式が Ankiのフィールド置換と衝突しないように、区切り文字を別のものに変更できます。
例えば、以下のテンプレートがあるとしましょう:
{{latex field}}
これを以下のように変更すると、LaTeXとの衝突を避けることができます:
{{=<% %>=}} <%latex field%>
書式設定を除去したフィールドが欲しければ、3つの波カッコを使うかわりに、以下のようにしてください。
閉じる波カッコがないことに注意。
<%{field%>
その他のオプション (Other Options)
「解答を入力しない (don't ask me to type in the answer)」チェックボックスを変更すると、Anki は答えのキー入力を求めるようになり、入力された答えと正解を比較して正誤を表示します。
この機能はカードに答える方法を変えるものではありません --- キー入力するように設定したとしても、答えの 4つのボタンを使って正解を表示し、どれくらい良く憶えていたかを指示できます。
「解答を表示する時に、質問を隠す (hide the question when showing the answer)」がチェックされていると、「解答を表示 (show answer)」を押したあと、カードの答えの面だけが表示されます。
この機能は、問題と答えが似た形式のときに便利です。
例えば、画像の一部が隠されたものが問題として表示され、画像全体が答えとして表示されるようなときです。
最後のオプション「解答を入力しなくていい (Allow the answer to be blank)」を使うと、答えのエリアが空白のときにカードが生成されるかどうかを設定できます。デフォルトでは、カードの答えの面が空欄であっても カードが生成されます。
フィールド (Fields)
一番上のエリアを使って、フィールドを追加・削除・並べ替え できます。
フィールドの順序を変えると、カードの追加/編集時の表示順が変わります。しかし復習時のカードの表示は変わりません。
復習時と編集時で 別々のフォントサイズを使うことができます。
そのときは、前述した 高度な使い方: フィールドからHTMLを除去する を見てください。
オプションは:
- 重複を許さない (Prevent Duplicates)
- このモデルの他のファクトで、このフィールドに同じ文字列が入力されたものがあったら、カードを追加できなくします。
- もし異なるモデルについても重複を見つけたければ、ブラウザを使ってください。
- 空白のを許さない (Prevent empty entries)
- このフィールドが空白のとき、カードを追加できないようにします。
- Preserve whitespace
- このオプションは、テキスト内の空白文字が普通に扱われるか、HTMLのように扱われるかを指定します。
- ほとんどのユーザは デフォルトの設定でいいでしょう;
- 複雑なHTMLをこのフィールドに入力したいときは、このオプションを無効にするといいかもしれません。
- Sort as numbers in browser
- このフィールドをブラウザでソートするとき、アルファベット順ではなく数値順に並べます ("1, 10, 2" という順ではなく "1, 2, 3" にする)。
- Reverse text direction (RTL)
- 右から左の順に書くような外国語 (アラビア語やヘブライ語など) を学ぶときは、これを有効にしてください。