GIFTフォーマット
GIFTフォーマット を使用すると、テキストエディタを使用して、インポート可能な単純なフォーマットで、多肢選択、真偽、記述、マッチングミッシングワードや数値の問題を書くことができます。 GIFTフォーマットは、問題バンクで使用できるエクスポートファイルフォーマットでもあります。このフォーマットはMoodleコミュニティ内で開発されましたが、他のソフトウェアが多かれ少なかれそれをサポートしている可能性があります。
一般的な手順
各問題の間に少なくとも1行の空白行を残す必要があります。
シンプルなフォーマットでは、問題が最初に来て、次に答えが括弧の間にセットされます。等号 (=) は正しい答えを示し、チルダ (~) は間違った答えを示します。 ハッシュ (#) は回答を挿入します。 パーセンテージ記号 (%..%) で問題の重み付けをすることができます。 コメントの前にはダブルスラッシュ (//) が付けられ、インポートされません。
インポートしたり、大まかなテンプレートとして使用したりできる便利なGIFTの例をいくつか紹介します。以下の例の多くは、ファイル内の問題を出発点として使用しています。
UTF-8エンコーディング
GIFTファイルは、UTF-8で正しくエンコードされている 必要があります。Windowsに付属しているMicrosoftのテキストエディタのメモ帳を使って、ファイルをUTF-8で保存することができます。
注: ANSIフォーマットは、特殊文字 (ä、ö、ü、æ、å、ø、œ、ßなど) のない言語でのみ機能します。また、"Unicode" をフォーマットとして使用しないでください。これは実際にはUTF-16であり、機能しません。詳細については、ファイルをUTF-8に変換するを参照してください。
フォーマットシンボル
一般的なGIFTシンボルとその使用法を次に示します。
記号 | 使用 |
---|---|
// text | 行末までコメントする(オプション) |
::title:: | 問題のタイトル(オプション) |
text | 問題テキスト(タイトルが指定されていない場合はタイトルになります) |
[...format...] | 次のテキストのフォーマット。オプションは、[html]、[moodle]、[plain]、[markdown]です。問題テキストのデフォルトは[moodle]で、問題の他の部分は問題テキストに使用されるフォーマットにデフォルト設定されます。 |
{ | 回答を開始します - 回答がない場合、テキストは次の問題の説明です |
{T} または {F} | 正誤問題;また、{TRUE} と {FALSE} |
{ ... =right ...} | 複数選択の正解(複数回答?-ページのコメントを参照)または空欄に記入 |
{... ~wrong ...} | 多肢選択または複数回答の不正解 |
{... =item -> match ...} | 一致する問題への回答 |
#feedback text | 直前の複数回答、穴埋め回答、数値回答に対する回答フィードバック |
####general feedback | 全般的なフィードバック |
{# | 数値回答の開始 |
answer:tolerance | ±許容範囲内で受け入れられる数値回答 |
low..high | 受け入れられた数値回答の下限値と上限値 |
=%n%answer:tolerance | 回答からの許容範囲内の複数の数値範囲の1つに対するnパーセントのクレジット |
} | 回答を終了します |
\character | バックスラッシュは、~、=、#、{、}、および : の特別な意味をエスケープします。 |
\n | 問題テキストに改行を配置します - 空白行は問題を区切ります |
ここにいくつかの簡単な例があります:
// true/false ::Q1:: 1+1=2 {T}
// multiple choice with specified feedback for right and wrong answers ::Q2:: What's between orange and green in the spectrum? { =yellow # right; good! ~red # wrong, it's yellow ~blue # wrong, it's yellow }
// fill-in-the-blank ::Q3:: Two plus {=two =2} equals four. // matching ::Q4:: Which animal eats which food? { =cat -> cat food =dog -> dog food } // math range question ::Q5:: What is a number from 1 to 5? {#3:2} // math range specified with interval end points ::Q6:: What is a number from 1 to 5? {#1..5} // translated on import to the same as Q5, but unavailable from Moodle question interface // multiple numeric answers with partial credit and feedback ::Q7:: When was Ulysses S. Grant born? {# =1822:0 # Correct! Full credit. =%50%1822:2 # He was born in 1822. Half credit for being close. } // essay ::Q8:: How are you? {}
フォーマット記号の説明
Moodleがエクスポートする際、問題のユニークID番号がここに表示されます。
- の最初のセットは、問題のタイトルの前にあります。
2番目の :: は実際の問題の前にあります。最初の { は、回答の開始を示します。正解の前には = 記号が付き、間違った答えの前には ~ が付きます。教師の回答の前には#が付いています。問題は}で終わり、その後に空白行が続きます。( ) 括弧ではなく { } であることに注意してください!通常、これらは[AltGr]キーを使用して取得されます。
//Comment line ::Question title :: Question { =A correct answer ~Wrong answer1 #A response to wrong answer1 ~Wrong answer2 #A response to wrong answer2 ~Wrong answer3 #A response to wrong answer3 ~Wrong answer4 #A response to wrong answer4 }
多肢選択問題の最短フォーマットは次のとおりです。
Question{= A Correct Answer ~Wrong answer1 ~Wrong answer2 ~Wrong answer3 ~Wrong answer4 }
- ヒント: 問題のタイトルを指定しない場合、Moodleへのインポート時に問題全体がタイトルとして使用されます。これを可能にすることには賛否両論があります。
- 短所: これにより、不要な単語が多数追加される可能性があります。これには、GIFTのエクスポートプロセスを混乱させる可能性のある文字が含まれる場合があります。
- 長所: 一方、各問題の開始が異なる場合は、問題のカテゴリリストで1つの問題を簡単に見つけることができます。タイピングの手間が省けます。すべての問題に同じタイトルを付けるのは非常に悪い考えです。
問題フォーマットの例
テキストエディタを使ってGIFTフォーマットを書くには、いくつかの方法があります。 ここでは、例としてシンプルなバージョンを紹介し、いくつかのフォーマットでは、多くのMoodle問題フォーマットにインポートできる、より複雑な機能を紹介したいと思います。
多肢選択問題
多肢選択問題の場合、間違った答えの前にはチルダ (~) が付き、正解の前には等号 (=) が付きます。
ここでは、簡単に受け入れられるGIFTの多肢選択フォーマットをご紹介します。
Who's buried in Grant's tomb?{=Grant ~no one ~Napoleon ~Churchill ~Mother Teresa }
これは、ほとんどのGIFT要素を使用する長いフォーマットです。
// question: 1 name: Grants tomb ::Grants tomb::Who is buried in Grant's tomb in New York City? { =Grant ~No one #Was true for 12 years, but Grant's remains were buried in the tomb in 1897 ~Napoleon #He was buried in France ~Churchill #He was buried in England ~Mother Teresa #She was buried in India }
複数の正解を伴う多肢選問題
つまり、ラジオボタンではなくチェックボックスを使用します。
What two people are entombed in Grant's tomb? { ~%-100%No one ~%50%Grant ~%50%Grant's wife ~%-100%Grant's father }
○/×問題
この問題タイプでは、答えは文が真か偽かを示します。答えは{TRUE}または{FALSE}と書きます。または{FALSE}、または{T}または{F}と略記します。
// question: 0 name: TrueStatement using {T} style ::TrueStatement about Grant::Grant was buried in a tomb in New York City.{T} // question: 0 name: FalseStatement using {FALSE} style ::FalseStatement about sun::The sun rises in the West.{FALSE}
記述問題
記述問題タイプの回答には、すべて等号 (=) が付いており、すべて正解であることを示しています。回答にチルダを含めることはできません。
ここでは、単純な方法を用いた2つの例を紹介し、クレジットの正解の可能性を示します。
Who's buried in Grant's tomb?{=Grant =Ulysses S. Grant =Ulysses Grant}
Two plus two equals {=four =4}
正解が1つしかない場合は、True-Falseと混同しない限り、等号の接頭辞で記述できます。
組み合わせ問題
一致するペアは等号 (=) で始まり、この記号 "->" で区切られます。少なくとも3つの一致するペアが必要です。
Match the following countries with their corresponding capitals. { =Canada -> Ottawa =Italy -> Rome =Japan -> Tokyo =India -> New Delhi }
組み合わせ問題は、フィードバックまたは回答の重みのパーセンテージをサポートしていません。
ミッシングワード
ミッシングワードフォーマットでは、文の途中に空白の線(この_____ のような)が自動的に挿入されます。ミッシングワードフォーマットを使用するには、文中の線を表示させたい場所に答えを配置します。
Moodle costs {~lots of money =nothing ~a small amount} to download from moodle.org.
回答が終了句読点の前にある場合、"ミッシングワード" フォーマットの空白を埋める行が挿入されます。すべての問題タイプは、ミッシングワードフォーマットで記述できます。
問題を区切る空白行(二重キャリッジリターン)が必要です。わかりやすくするために、回答は別々の行に記述したり、インデントしたりすることもできます。いくつかの例:
Mahatma Gandhi's birthday is an Indian holiday on { ~15th ~3rd =2nd } of October. Since { ~495 AD =1066 AD ~1215 AD ~ 43 AD } the town of Hastings England has been "famous with visitors".
数値問題
数値問題の解答セクションは、番号記号 (#) で始まる必要があります。数値回答には、コロンで区切られた正解の後に書かれるエラーマージンを含めることができます。したがって、たとえば、正解が1.5〜2.5の場合、次のように記述されます {#2:0.5}。これは、許容誤差が0.5の2が正しいことを示しています(つまり、1.5から2.5までのスパン)。エラーマージンが指定されていない場合は、ゼロと見なされます。
これは簡単な数値フォーマットの問題です。それは5年の範囲を受け入れます。
When was Ulysses S. Grant born?{#1822:5}
範囲のマージンを確認することをお勧めします。3.141は正しいとは見なされず、3.142は範囲内にあると見なされます。
What is the value of pi (to 3 decimal places)? {#3.14159:0.0005}.
オプションで、数値の回答は次のフォーマットのスパンとして記述できます{#MinimumValue..MaximumValue}。
What is the value of pi (to 3 decimal places)? {#3.141..3.142}.
Moodleのブラウザインターフェースは複数の数値回答をサポートしていませんが、MoodleのコードはGIFTをサポートしています。これは、数値の複数のスパンを指定するために使用でき、パーセンテージの加重評定と組み合わせると特に便利です。複数の回答を使用する場合は、記述問題のように、等号で区切る必要があります。
When was Ulysses S. Grant born? {# =1822:0 =%50%1822:2 }
MoodleのブラウザGUIは数値問題に対する複数の解答をサポートしていなかったため、古いバージョンのMoodleではそれらを表示したりMoodleで編集したりする方法がないことに注意してください。最初の解答を超えて数値の解答を変更する唯一の方法は、問題を削除して再インポートすることです(または、phpMyAdminなどを使用します)。ただし、Moodleを少なくとも1.9にアップグレードすることをお勧めします。
作文
作文問題は、単に回答フィールドが空の問題です。中括弧の間に何も許可されていません。
Write a short biography of Dag Hammarskjöld. {}
説明
説明 "問題" には答えの部分がまったくありません
You can use your pencil and paper for these next math questions.
オプション
これらの基本的な問題タイプに加えて、このフィルタは次のオプションを提供します:行コメント、問題名、フィードバック、および回答の重みのパーセンテージ。
行コメント
Moodleにインポートされないコメントはテキストファイルに含めることができます。これは、問題に関するヘッダまたは詳細情報を提供するために使用できます。二重円記号で始まるすべての行(タブまたはスペースはカウントされません)は、フィルタによって無視されます。
// Subheading: Numerical questions below What's 2 plus 2? {#4}
コメントはMoodleからエクスポートされ、一意な問題IDが含まれます。 上記の問題は、インポートされた後、Moodleからエクスポートされました。
// question: 914 name: What's 2 plus 2? ::What's 2 plus 2?::What's 2 plus 2?{# =4:0# }
問題ID番号と問題タグはエクスポートされ、次のフォーマットを使用してインポートできます。
// [id:123] [tag:basic] [tag:set 1]
問題名
問題名は、最初に配置し、二重コロン (::...::) で囲むことで指定できます。
::Kanji Origins::Japanese characters originally came from what country? {=China}
::Thanksgiving Date::The American holiday of Thanksgiving is celebrated on the {~second ~third =fourth} Thursday of November.
問題名が指定されていない場合、デフォルトでは問題全体が名前として使用されます。
フィードバック
回答の後に番号記号(#はハッシュマークとも呼ばれます)とフィードバックを続けることで、回答ごとにフィードバックを含めることができます。
What's the answer to this multiple-choice question? { ~wrong answer#feedback comment on the wrong answer ~another wrong answer#feedback comment on this wrong answer =right answer#Very good! }
//From The Hitchhiker's Guide to the Galaxy Deep Thought said " { =forty two#Correct according to The Hitchhiker's Guide to the Galaxy! =42#Correct, as told to Loonquawl and Phouchg =forty-two#Correct! } is the Ultimate Answer to the Ultimate Question of Life, The Universe, and Everything."
42 is the Absolute Answer to everything.{ FALSE#42is the Ultimate Answer.#You gave the right answer.}
多肢選択問題では、学生が選択した答えに対してのみフィードバックが表示されます。記述問題では、学生が対応する正解を入力した場合にのみフィードバックが表示されます。真偽を問う問題では、1つまたは2つのフィードバック文字列があります。最初のフィードバック文字列は、学生が間違った答えを与えた場合に表示されます。2つ目は、学生が正しい答えを与えた場合に表示されます。
解答の重みのパーセンテージ
解答の重みのパーセンテージは、多肢選択問題と記述問題の両方で使用できます。解答の重みのパーセンテージは、チルダ(多肢選択の場合)または等号(記述問題の場合)に従って、目的のパーセントをパーセント記号(たとえば、%50%)で囲むことによって含めることができます。このオプションは、フィードバックコメントと組み合わせることができます。
難しい問題。{~間違った答え~%50%半分の評価の答え=完全な評価の答え}
::Jesus' hometown::Jesus Christ was from { ~Jerusalem#This was an important city, but the wrong answer. ~%25%Bethlehem#He was born here, but not raised here. ~%50%Galilee#You need to be more specific. =Nazareth#Yes! That's right! }.
::Jesus' hometown:: Jesus Christ was from { =Nazareth#Yes! That's right! =%75%Nazereth#Right, but misspelled. =%25%Bethlehem#He was born here, but not raised here. }
最後の2つの例は基本的に同じ問題であり、最初は多肢選択として、次に記述問題として使用されることに注意してください。
ブラウザインターフェイスでは使用できない解答の重みのパーセンテージを指定できることに注意してください。インポートページの評定の一致ドロップダウンは、これらの処理方法を決定します。エラーの報告を要求するか、解答の重みを最も近い有効な解答の重みに調整するように要求できます。
特に、Moodleは小数点以下5桁を使用して計算を行うため、パーセンテージを3分の1に分割する場合は、%33または%33.33の代わりに%33.33333を使用してください。
問題のテキストフォーマットを指定します 問題テキスト(のみ)には、オプションのテキストフォーマットを指定できます。現在利用可能なフォーマットは、moodle(Moodle Auto-Format)、html(HTMLフォーマット)、plain(プレーンテキストフォーマット)、markdown(マークダウンフォーマット)です。フォーマットは、問題テキストの直前の角括弧内に指定されています。詳細については、テキストのフォーマットを参照してください。
[markdown]The *American holiday of Thanksgiving* is celebrated on the { ~second ~third =fourth } Thursday of November.
複数解答
複数解答オプションは、完全な評価を取得するために2つ以上の解答を選択する必要がある場合に、多肢選択問題に使用されます。複数解答オプションは、複数解答に部分的な解答の重みを割り当てることで有効になりますが、単一の解答が完全な評価を受け取ることはできません。
What two people are entombed in Grant's tomb? { ~No one ~%50%Grant ~%50%Grant's wife ~Grant's father }
どの解答にも等号 (=) はなく、解答の合計は100%を超えないようにする必要があります。そうしないと、Moodleはエラーを返します。すべての解答をチェックするだけで学生が自動的に100%になるという問題を回避するには、間違った解答に対して負の解答の重みを含めるのが最善です。
What two people are entombed in Grant's tomb? { ~%-50%No one ~%50%Grant ~%50%Grant's wife ~%-50%Grant's father }
特殊文字 ~ = # { }
これらの記号 ~ = # { } : このフィルタの操作を制御し、問題内の通常のテキストとして使用することはできません。これらの記号は、このフィルタの動作を決定する上で特別な役割を果たしているため、"制御文字" と呼ばれます。ただし、問題で数式を表示する場合など、これらの文字の1つを使用したい場合があります。この問題を回避する方法は、制御文字を "エスケープ" することです。これは、制御文字の前にバックスラッシュ (\) を置くだけで、フィルタが制御文字ではなくリテラル文字として使用することを認識できるようにすることを意味します。例えば:
Which answer equals 5? { ~ \= 2 + 2 = \= 2 + 3 ~ \= 2 + 4 }
::GIFT Control Characters:: Which of the following is NOT a control character for the GIFT import format? { ~ \~ # \~ is a control character. ~ \= # \= is a control character. ~ \# # \# is a control character. ~ \{ # \{ is a control character. ~ \} # \} is a control character. = \ # Correct! \ (backslash) is not a control character. BUT, it is used to escape the control characters. }
問題が処理されると、バックスラッシュは削除され、Moodleに保存されません。
回答のHTML
GIFTフォーマットでは、問題の前に [html] を付ければ、HTMLを正しく解釈します。 このフォーラムスレッドを参照してください。
カテゴリの指定
GIFTファイルの中で、問題が追加されるカテゴリーを変更することができます。カテゴリの変更は、ファイル内で何度でも可能です。修飾子の後、次の修飾子またはファイルの終わりまでのすべての問題は、指定されたカテゴリに追加されます。最初のカテゴリ修飾子までは、インポート画面で指定されたカテゴリが使用されます。この機能を利用するには、インポート画面でファイルからのボックスがチェックされている必要があります。
カテゴリ修飾子を含めるには、次のような行を含めます(前後に空白行があります)。
$CATEGORY: tom/dick/harry
または単に
$CATEGORY: mycategory
...最初の例では、ネストされたカテゴリのパスを指定しています。この場合、問題は急いで入ります。カテゴリが存在しない場合は作成されます。
カテゴリがどのように編成されているかを確認するには、最初にカテゴリデータを含むいくつかの問題をエクスポートして、エクスポートされたGIFTフォーマットのファイルを確認してください。システムコンテクストの最低レベルでは、 $CATEGORY: $system$/.... のようなものが得られる可能性があります。
問題で大文字と小文字を区別する
moodle/question/format/gift/format.phpファイル で "0"を "1"に変更することで、記述問題で大文字と小文字を区別することができます:
$question->usecase = 0; // Ignore case
ヒント
- Moodleがリストを表示したり、別のGIFTファイルとしてエクスポートする際、あなたの問題を整理するために、すべての問題の先頭にある ::title:: を使用してください。 タイトルが空欄の場合、Moodleは問題の先頭をタイトルとして表示します。教師によっては、タイトルに "001 LIT101 Poe ref Purloin Letter" や "The Purloin Letter was written by (AmLit pg 254)" のように表示したい場合もあります。
- 問題テキストの直前に[html]、[moodle]、[plain]、または[markdown]を設定することで、問題をフォーマットする必要がある場合にマークアップを指定できます。これについての詳細は、以下のリファレンスpdfを参照してください。
- レッスンモジュールの問題ページでは、正解はデフォルトで次のページにジャンプし、不正解はこのページにジャンプします(つまり、学生は "再受験" する必要があります)。 GIFTフォーマットのファイルからインポートする場合、これはまさに使用されるメカニズムです。
- 正解または不正解に関係なく、学生を1つの問題から次の問題に直接移動させたい場合は、レッスンの設定で最大受験回数を1に設定します。
- 問題または解答に特別なGIFT文字を使用する必要がありますか? GIFT文字の前に\を付けます。
- 例えば、あなたがGIFTファイル (TeX式を含む数学の問題) で中括弧、{ もしくは }、等号、=、# また ~ を使用したい場合、{ もしくは } または = の直前に \ を付けて、それらを "エスケープ" する必要があります。 Moodleにインポートする前に、replace program/macro/editorのフィルタを使用して、この変換を行うことができます。
- T/Fタイプの問題を多肢選択に変更したいですか?T/Fの問題をGIFTファイルとしてエクスポートしてから、テキストエディタを使用して (T) を(= True ~False)に置き換えることを検討してください。おそらく、タイトルを少し変更して、新しい問題を認識できるようにします。
- 大文字と小文字を区別するアルファベットの比較は、デフォルトで無効になっています。記述問題で大文字と小文字を区別する比較が必要な場合(通常とは異なる必要性)、その前に次のように入力します。
$question->usecase = 1;
空白行で囲まれています。
ギフトを作成または処理するツール
いくつかの寄稿者は、マクロを使用して、より馴染みのある人気のあるプログラムからGIFTファイルを生成しました。
- 2017 Moodle MootJapanで発表されたMoodle Cloze and Gift generatorはこちらです。
- GIFTファイルを簡単に作成するために利用できるWordマクロがあります。
- さまざまなWordバージョンのダウンロード可能なファイルへの古いリンクについては、このフォーラムスレッドを参照してください。
- GIFT問題を生成するための改善された新しい(2020)Wordテンプレートについては、こちらのGitHubページを参照してください。
- GIFTファイルを生成するためのExcelスプレッドシートがいくつかあります。何人かの人々は他の貢献者の仕事に基づいています。
- 最新バージョンは2007年4月10日に投稿され、次のファイル名でこのスレッドにあります:Excel2GIFTv1.1.zip by Timothy Takemoto。そのスレッドには、同じ日にJeff Shekによる一連の命令Excel2GIFTv1.1_Instructions.rtfもあります。
- ビデオチュートリアル Excel2GIFTv2.xlsを使用する場合
- 複数選択GIFTファイルを生成するためのこのExcelスプレッドシートの以前のバージョン最初にOlga Forlaniによって作成され、A. T. Wyattによって改善されました。
- WriterでGIFTファイルを生成するためのプロジェクトLibre Officeテンプレートがあります。それはにあります
OOo template 2013 to write Exams and convert to GIFT format
- WriterでGIFTファイルを生成するためのOpen Officeテンプレートがあります。これらは、試験を作成してGIFTフォーマットのスレッドに変換するためのOOoテンプレートの小テストフォーラムにあります。
- OO 2.xの最新版は、2005年12月17日にEnrique Castroによって投稿された "OOo2GIFT_Template_05.zip" です。
- 以前のバージョンは、2005年3月22日にEnriqueCastroによって投稿された "GIFT_template_OOo.zip" です。
- a4esl.orgには、オンラインで簡単に使用できる複数の問題ジェネレータがあります。ここでは、フォーマットマークなしで問題を書き、Moodleを選択してクイズの生成ボタンを押します。これにより、Moodleにインポートするためのファイルに貼り付けることができるGIFTフォーマットのテキストが作成されます。
- gift-wrapperは、よりユーザフレンドリーな方法でGIFTフォーマットの問題を生成するためのPythonパッケージです。
- py2giftは、jupyterノートブックから(主に)GIFTファイルを書き込むことを目的としたPythonライブラリです。
- Vimエディタを使用してGIFTフォーマットの問題を準備している場合は、Vim構文強調表示ファイルとVimSnipMate問題スニペットがこのWebサイトで入手できます。
- GIFT Escaperは、通常の問題/回答テキストやLaTeX方程式内のGIFT制御文字を自動的かつ適切にエスケープするための無料で実用的なツールです。
メディア(画像、音声...)を使用したGIFTフォーマット
GIFT with mediasオプションのプラグインはGiftに似たインポートフォーマットであり、同じ構文を使用しますが、テキストファイルの代わりに次のようなzipファイルをインポートします。ギフトテキストファイルとメディアファイル(画像、音声など)。 ドキュメントは、問題にメディアを含める方法を説明しています。
関連項目
- これは2列のPDFですGIFTリファレンスシート
- インポートおよびエクスポートFAQ
- Aikenフォーマット
- 私が使用する最新のGIFTツールフォーラムディスカッション