|
| 1 | +#let fontMincho = "Source Han Serif JP" |
| 2 | +#let fontGothic = ("Noto Sans", "UDEV Gothic") |
| 3 | +#let fontLatin = "Times New Roman" |
| 4 | + |
| 5 | +#let fontSizeDefault = 12pt |
| 6 | +#let fontSizeHeading = 16pt |
| 7 | + |
| 8 | +// ヘルパー関数 |
| 9 | +#let mathbf(str) = $ upright(bold(str)) $ |
| 10 | + |
1 | 11 | #let empty_par() = {
|
2 | 12 | v(-1em)
|
3 | 13 | box()
|
4 | 14 | }
|
5 | 15 |
|
| 16 | +#let name_box(id: "", name: "") = { |
| 17 | + set align(left) |
| 18 | + set text( |
| 19 | + size: 14pt, |
| 20 | + ) |
| 21 | + [ |
| 22 | + #text(font: fontGothic)[*学籍番号*] : #text(font: (fontLatin, fontMincho))[#id] |
| 23 | + #parbreak() |
| 24 | + #text(font: fontGothic)[*氏名*] : #text(font: (fontLatin, fontMincho))[#name] |
| 25 | + ] |
| 26 | +} |
| 27 | + |
6 | 28 | #let report(body) = {
|
7 | 29 | set text(
|
8 |
| - font: ( |
9 |
| - "Times New Roman", |
10 |
| - // "UDEV Gothic", |
11 |
| - "Source Han Serif JP" |
12 |
| - ), |
13 |
| - size: 13pt |
| 30 | + font: (fontLatin, fontMincho), |
| 31 | + size: fontSizeDefault |
14 | 32 | )
|
15 | 33 |
|
16 | 34 | set page(
|
|
22 | 40 | )
|
23 | 41 |
|
24 | 42 | set par(leading: 0.8em, first-line-indent: 20pt, justify: true)
|
25 |
| - show par: set block(spacing: 1.4em) |
| 43 | + set par(spacing: 1.2em) |
26 | 44 |
|
27 | 45 | show link: underline
|
28 | 46 | show link: set text(fill: rgb("#125ee0"))
|
29 | 47 |
|
| 48 | + show strong: set text( |
| 49 | + font: fontGothic, |
| 50 | + weight: "medium", |
| 51 | + ) |
| 52 | + |
| 53 | + // 数式関係のスタイル |
| 54 | + set math.equation(numbering: "(1)", number-align: bottom) |
| 55 | + show math.qed: math.square.stroked.big |
| 56 | + show ref: it => { |
| 57 | + let eq = math.equation |
| 58 | + let el = it.element |
| 59 | + if el != none and el.func() == eq { |
| 60 | + // Override equation references. |
| 61 | + numbering( |
| 62 | + "式 " + el.numbering, |
| 63 | + ..counter(eq).at(el.location()) |
| 64 | + ) |
| 65 | + } else { |
| 66 | + // Other references as usual. |
| 67 | + it |
| 68 | + } |
| 69 | + } |
| 70 | + |
30 | 71 | show heading.where(level: 1): it => {
|
31 | 72 | set text(
|
| 73 | + font: fontGothic, |
32 | 74 | weight: "bold",
|
33 |
| - size: 20pt |
| 75 | + size: 22pt |
34 | 76 | )
|
35 | 77 | text()[
|
36 | 78 | #it.body
|
|
39 | 81 |
|
40 | 82 | show heading.where(level: 2): it => block({
|
41 | 83 | set text(
|
| 84 | + font: fontGothic, |
42 | 85 | weight: "semibold",
|
43 |
| - size: 17pt |
| 86 | + size: fontSizeHeading |
44 | 87 | )
|
45 | 88 | text()[
|
46 | 89 | #it.body
|
|
49 | 92 |
|
50 | 93 | show heading.where(level: 3): it => block({
|
51 | 94 | set text(
|
| 95 | + font: fontGothic, |
52 | 96 | weight: "medium",
|
53 |
| - size: 15pt |
| 97 | + size: fontSizeDefault + 2pt |
54 | 98 | )
|
55 | 99 | text()[
|
56 | 100 | #it.body
|
|
60 | 104 | show heading: it => {
|
61 | 105 | set text(
|
62 | 106 | weight: "medium",
|
63 |
| - size: 12pt, |
| 107 | + size: fontSizeDefault, |
64 | 108 | )
|
65 | 109 | set block(above: 2em, below: 1.5em)
|
66 | 110 | it
|
|
69 | 113 | set page(numbering: "1 / 1")
|
70 | 114 |
|
71 | 115 | body
|
72 |
| - |
73 | 116 | }
|
0 commit comments