講義スライドのリメイク
退屈な講義スライドを、学生が実際に学べるものに変えます。出力は Slidesアーティファクトタイプ(言語ごとに1つ)で作成されたスライドデッキです。スライドのフォーマット、ファイル、公開に関するすべては、そのタイプの指示に従います。このスキルは、その上に、教育デザイン、アニメーションとコマンドのルール、そしてヘブライ語RTL(右横書き)のテクニックを追加します。
最初のスライドを書く前に references/patterns.md を読んでください。以下に挙げるすべてのパターンの、コピー可能なマークアップが記載されています。
1. まずソース全体を読む
- PDF:
Readを使用し、最大20ページずつチャンクに分けてすべてのページを確認します。PPTX: pptxスキルを使用してテキストと画像を抽出します。 - 読みながら、以下のものをリストアップします:トピックの順序、すべてのコマンドまたはコードスニペット、すべての定義、デッキ内に既にあるすべてのクイズや質問、そして、1つのコールアウトだけが変更された同じスクリーンショットが繰り返されているスライド。これらの繰り返しスライドは、最初に統合すべきものです。
- また、保存する価値のあるすべての画像をリストアップします:写真、実物やモデル、ツールのスクリーンショット、そして手描きでは表現できないものを示す図。各画像のページと、
Readプレビューでのおおよその位置をメモします。後でそれを切り抜く(クロップする)ためです(§6)。 - ソースからのすべての事実(名前、日付、メール、採点、リンク、コマンドフラグ)を保持します。ソースまたは例自体の論理から導き出せない数値、引用、ツールの動作を決して作り出してはいけません。
2. 教育計画を立て、それから構築する
計画を一行でユーザーに伝え、開始します。承認を待つ必要はありません。
- 1つの実行例。 ソース自身の例を選び、それに具体的で物理的なイメージを与えます(例:3ビットone-hot FSM → 「3つのランプを使った光のチェイサー」)。すべてのスライドでそれを再利用します:プロパティはそれに関する平易な質問になり、結果はその用語で説明されます。
- 概念ごとに1つのアナロジーを、日常生活から選び、スライド上で正式な定義の隣にイタリック体で書きます(例:シミュレーションvs形式手法 = 1000個の鍵を試すvs錠前師が機構を証明する;リセット = 「ニューゲーム」;クロック = メトロノーム;境界 = 通りにある最寄りのコーヒーショップ;デバッグの「なぜ」 = 過去に戻る探偵)。
- 4~6枚ごとにクイズを挿入します:実行前の予測、手書きトレース、「Xを変えたらどうなるか」、○×問題。答えは、クリックで表示される固定ボックスに収めます。スピーカーノートにも答えを記載してください。
- ソースの画像を保持し、残りは描画します。 ユーザーは元のデッキの関連画像を望んでいます。図解を優先してそれらを落とさないでください。リストアップした各画像について:
- もしあなたの描画と同じものを示している場合(解像度のストリップ、ツールの実際のウィンドウ、ビフォー/アフターの比較)、描画の代わりにその画像を使用します。
- もし描画では表現できないものを追加している場合(実際の写真、実際の3Dモデル、実際のデータセット)、同じスライド上で実行例の描画の隣に配置し、両者を結びつける1行のキャプションを付けます。
- もしそれが純粋に装飾的であるか、別の画像を繰り返しているだけなら、それを除外し、レポートでその旨を明記します。 ソースが言葉でしか説明していないもの(状態遷移図、波形、タイムライン、数直線、実行例の段階的な構築)は、SVG/div(patterns.md参照)として描画します。
- 1スライド1アイデア、約20~26スライド。リズムとして、カバー、各セクションのオープナー、まとめには暗い背景のステートメントスライドを、明るい背景のコンテンツスライドを、クイズスライドには暖色系の背景を使用します。
- チートシートで締めくくります:すべてのコマンドを順番に、2~3語の注釈と共に、そして主要な用語の用語集を添えます。
3. アニメーションは必須、オプションではない
ユーザーはより多くのアニメーションを求めています。すべてのデッキは以下を満たす必要があります:
- すべてのセクションに
data-transitionを設定します:ほとんどのセクションではfade、新しいセクションに入る時はpush、同じ図を2つの状態で表示するスライド間ではmagicを使用します。 - すべてのコンテンツスライドに少なくとも1つのビルドシーケンスを設けます:主要な要素は
position:absoluteの子要素とし、data-build-in="<効果> <順序>"を付けることで、プレゼンモードで1つずつ表示されるようにします。ビルドは固定された子要素でのみ機能するため、段階的に表示するスライドは、明示的なleft/top/widthでレイアウトします。 - 教えるためのビルドを使用します。フローを1ステップずつ表示する(
rise 1,rise 2, ...)、状態遷移図を矢印ごとに描画する(矢印グループごとに1つの固定SVG)、波形を1サイクルずつ進める、定義の後にアナロジーを表示する、クイズの答えを最後に表示する、など。 - マジックムーブを使用して変化をアニメーション化します:連続する2つのスライド上の、一致する固定要素に同じ
idを設定します(ランプが点灯する、ハイライトが次のサイクルに移動する、境界区間が狭まるなど)。 - 効果を目的に応じて使い分けます:リストやステップには
rise、結果やチェックにはpop、方向から到着するものにはleft/right、注釈にはfade、大きな披露にはscale。1スライドあたり約6ビルドを超えないようにします。
4. コマンドはスライドから飛び出るように
ユーザーはより目立つコマンドを求めています。すべてのコマンド、フラグ、Tclまたはシェルの行には、patterns.mdのコマンドチップを使用し、デッキ内の他の要素はそのスタイルを真似してはいけません:
- 自身のブロック(
<p>)を持ち、文中にインラインで配置してはいけません。spanは色しか適用できないため、spanにfont-familyを設定しても無視されます。 - 等幅フォント(JetBrains Mono)で32~40px、太字。暗いチップ背景、コマンド専用の明るいアクセントカラー、左端の太いアクセントバー、そしてプロンプト記号(Tclには
%、シェルには$)。 - 各チップの隣に、その機能を説明する短いラベル(「コンパイル」、「すべてを証明」など)を配置します。
- ステップスライドでは、コマンドチップはタイトルの次に大きく、最初にビルドインされます。
- コードリスト(ファイル全体)には、別の落ち着いたコードカードスタイルを使用し、コマンドがそれらからも際立つようにします。
5. 言語
ユーザーが2つの言語を希望する場合、同じスライドIDとコンテンツで、そのタイプから2つの別々のデッキを作成します。まずソース言語(または英語)でデッキを構築し、次にもう一方の言語で構築します。ヘブライ語では、patterns.mdのRTLテクニックが必要です:すべてのヘブライ語テキストブロックを ⁧…⁩ で囲み、ヘブライ語内のインラインコードを ⁦…⁩ で囲み、text-align:right と row-reverse の行を使用し、テーブルの列順序を逆にし、シーケンス内では ← を使用し、<br> で区切られた各行を個別に分離します。コード、コマンドチップ、波形、GUIワイヤーフレームは左から右のままにします。Rubikフォントはヘブライ語とラテン文字の両方をカバーします。
6. 構築と公開
Slidesタイプ自身のファイルと呼び出しに関する指示に従い、使用経験から得られた以下のルールを適用します:
project/deck.json(完全なorder,sections,faces)とカバースライドを作成し、公開し、その後ラウンドごとに約4枚のスライドを作成・公開します。editsを含む公開は、同時にfilesを含むことができません。Editツールで編集し、その後ファイルを公開します。- 公開がネットワークエラーで失敗した場合、同じファイルを再送信します。それは安全です。
- PDFからのソース画像の切り抜き(クロッピング)(それらの画像を使用するスライドを書く前に行います):
- そのPDFをスクラッチパッド内の新しいフォルダにコピーし、クロップ結果は別の
assetsフォルダに書き込みます。 - ページサイズを取得します:
python -I -c "import pypdf,sys;print(pypdf.PdfReader(sys.argv[1]).pages[0].mediabox)" <pdf>。PyMuPDFとPillowはここではインストールされていません。pdftoppm(MiKTeX)は利用可能です。「Windows 10が必要です」という警告は無視してください。 - ページから直接クロップします:
pdftoppm -f N -l N -r 250 -x X -y Y -W W -H H -png -singlefile <pdf> <assets>/<name>。座標はReadプレビューから取得します:スケール = (250 / 72) × ページ幅(pt) / プレビュー幅(px)。720ptのページが1000px幅でプレビューされた場合、×2.5になります。 - すべてのクロップを一度
Readして端を修正してからアップロードします:隣の画像の一部が混入していることがよくあります。 - パネルのストリップ(例:1つの画像が7つの解像度で表示されている場合)は、各パネルごとに1つのクロップに分割し、パネルを1つずつビルドインできるようにします。
- すべてのクロップを1回の呼び出しでアップロードします:Artifact publish に
url,asset: true,file_paths(最大25個)を指定します。返された各/_blob/<id>を<img src>にそのまま使用し、object-fit:containと、クロップのアスペクト比に合った幅/高さを指定します。 - PPTXの場合は、pptxスキルが抽出した画像を取得し、同様にアップロードします。
- そのPDFをスクラッチパッド内の新しいフォルダにコピーし、クロップ結果は別の
- 高さを予算化します:マージン内で824px。タイトルブロックは約130px、テーブルの行は1行あたりフォントサイズの約2.1倍、固定ボックスはy座標952より上で終わるようにします。テキストは縮小する前に短くし、テキストは24px以上に保ちます。
- ユーザーから要求がない限り、レンダリングやスクリーンショットで確認しないでください。
7. レポート
各デッキのリンク、オリジナルと比較した変更点(実行例、アナロジー、イラスト、保持したソース画像とその場所、除外した画像、クイズ、アニメーション、コマンドのスタイル、統合した繰り返しスライド)、そして確認しなかった点を伝えます。デッキは共有されるまで非公開であることをユーザーに思い出させてください。