CardLayout

Last-modified: 2014-12-30 (火) 12:39:26

カード・レイアウト (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)

clayout1.png
clayout1J.png


カードテンプレートを使って、カードの表と裏に何が表示されるのか を設定します。また 答えをキー入力するか などのオプションを設定します。

カードテンプレートを変更すると、そのテンプレートを使っている全てのカードが変更されます。
このため、テンプレートを使うと、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)

clayout2.png
clayout2J.png


一番上のエリアを使って、フィールドを追加・削除・並べ替え できます。
フィールドの順序を変えると、カードの追加/編集時の表示順が変わります。しかし復習時のカードの表示は変わりません。

復習時と編集時で 別々のフォントサイズを使うことができます。
そのときは、前述した 高度な使い方: フィールドから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)
右から左の順に書くような外国語 (アラビア語やヘブライ語など) を学ぶときは、これを有効にしてください。