@@ -161,7 +161,7 @@ You are #amazed[beautiful]!
161161I am #amazed(color: purple)[amazed]!
162162```
163163
164- テンプレートは` amazed ` のようなカスタム関数でドキュメント全体をラップすることで機能します。しかし、文書全体を巨大な関数呼び出しでラップするのは面倒でしょう!代わりに、「everything」showルールを使用して、より洗練されたコードで同じことを実現できます。そのようなshowルールを書くには、showキーワードの直後にコロンを置き、関数を提供します。この関数にはドキュメントの残りの部分がパラメータとして渡されます 。関数はこのコンテンツに対して何でも行うことができます。` amazed ` 関数は単一のコンテンツ引数で呼び出せるので、showルールに名前で渡すだけで良いのです。試してみましょう。
164+ テンプレートは` amazed ` のようなカスタム関数でドキュメント全体をラップすることで機能します。しかし、文書全体を巨大な関数呼び出しでラップするのは面倒でしょう!代わりに、「everything」showルールを使用して、より洗練されたコードで同じことを実現できます。そのようなshowルールを書くには、showキーワードの直後にコロンを置き、関数を提供します。この関数にはドキュメントの残りの部分がパラメーターとして渡されます 。関数はこのコンテンツに対して何でも行うことができます。` amazed ` 関数は単一のコンテンツ引数で呼び出せるので、showルールに名前で渡すだけで良いのです。試してみましょう。
165165
166166``` example
167167>>> #let amazed(term, color: blue) = {
@@ -257,7 +257,7 @@ It's going great so far!
257257
2582582 . さらに、コンテンツブロックの代わりに中括弧で囲まれたコードブロックを使用しました。この方法では、全てのsetルールや関数呼び出しの前に` # ` を付ける必要がなくなります。代わりに、コードブロック内に直接マークアップを書くことはできなくなります。
259259
260- また、タイトルがどこから来ているかに注目してください。以前は変数に格納しましたが、今はテンプレート関数の最初のパラメータとして受け取っています 。そのために、everythingのshowルールにクロージャー(その場で使用される名前のない関数)を渡しました。` conf ` 関数は2つの引数(タイトルと本文)を期待しますが、showルールは本文のみを渡すからです。したがって、論文のタイトルを設定し、showルールからの単一パラメータを使用できる新しい関数定義を追加します 。
260+ また、タイトルがどこから来ているかに注目してください。以前は変数に格納しましたが、今はテンプレート関数の最初のパラメーターとして受け取っています 。そのために、everythingのshowルールにクロージャー(その場で使用される名前のない関数)を渡しました。` conf ` 関数は2つの引数(タイトルと本文)を期待しますが、showルールは本文のみを渡すからです。したがって、論文のタイトルを設定し、showルールからの単一パラメーターを使用できる新しい関数定義を追加します 。
261261
262262## 名前付き引数を持つテンプレート { #named-arguments }
263263前章の論文にはタイトルと著者リストがありました。これらの要素をテンプレートに追加しましょう。タイトルに加えて、所属機関を含む著者リストと論文の要約をテンプレートに受け付けるようにします。可読性を保つために、これらを名前付き引数として追加します。最終的には、次のように機能させたいと思います。
@@ -287,9 +287,9 @@ It's going great so far!
287287...
288288```
289289
290- この新しいテンプレート関数を構築しましょう。まず、` title ` 引数にデフォルト値を追加します。これにより、タイトルを指定せずにテンプレートを呼び出すことができます。また、空のデフォルト値を持つ名前付き引数として` authors ` および` abstract ` パラメータを追加します 。次に、前章からタイトル、要約、著者を生成するコードをテンプレートにコピーし、固定の詳細をパラメータに置き換えます 。
290+ この新しいテンプレート関数を構築しましょう。まず、` title ` 引数にデフォルト値を追加します。これにより、タイトルを指定せずにテンプレートを呼び出すことができます。また、空のデフォルト値を持つ名前付き引数として` authors ` および` abstract ` パラメーターを追加します 。次に、前章からタイトル、要約、著者を生成するコードをテンプレートにコピーし、固定の詳細をパラメーターに置き換えます 。
291291
292- 新しい` authors ` パラメータは 、` name ` 、` affiliation ` 、` email ` というキーを持つ[ 辞書] ( $dictionary ) の[ 配列] ( $array ) を想定しています。任意の数の著者を持つことができるため、著者リストに1列、2列、または3列が必要かどうかを動的に決定します。まず、` authors ` 配列の[ ` .len() ` ] ( $array.len ) メソッドを使用して著者の数を決定します。次に、列数を著者数と3の最小値に設定し、3列以上作成しないようにします。3人以上の著者がいる場合は、代わりに新しい行が挿入されます。この目的のために、` grid ` 関数に` row-gutter ` パラメータも追加しました 。そうしないと、行同士が近すぎてしまいます。辞書から著者の詳細を抽出するには、[ フィールドアクセス構文] ( $scripting/#fields ) を使用します。
292+ 新しい` authors ` パラメーターは 、` name ` 、` affiliation ` 、` email ` というキーを持つ[ 辞書] ( $dictionary ) の[ 配列] ( $array ) を想定しています。任意の数の著者を持つことができるため、著者リストに1列、2列、または3列が必要かどうかを動的に決定します。まず、` authors ` 配列の[ ` .len() ` ] ( $array.len ) メソッドを使用して著者の数を決定します。次に、列数を著者数と3の最小値に設定し、3列以上作成しないようにします。3人以上の著者がいる場合は、代わりに新しい行が挿入されます。この目的のために、` grid ` 関数に` row-gutter ` パラメーターも追加しました 。そうしないと、行同士が近すぎてしまいます。辞書から著者の詳細を抽出するには、[ フィールドアクセス構文] ( $scripting/#fields ) を使用します。
293293
294294各著者についてグリッドに引数を提供する必要があります。ここで配列の[ ` map ` メソッド] ( $array.map ) が便利です。これは引数として関数を取り、その関数が配列の各アイテムで呼び出されます。各著者の詳細をフォーマットし、コンテンツ値を含む新しい配列を返す関数を渡します。これで、グリッドの複数の引数として使用したい値の配列ができました。[ ` spread ` 演算子] ( $arguments ) を使用してこれを実現できます。これは配列を取り、その各アイテムを関数の個別の引数として適用します。
295295
0 commit comments