公開:
2025/08/12
基礎数学4
線型代数演習
齋藤󠄁正彦著
東京大学出版会
1985年3月25日 初版
の誤りなどのメモ。
正誤表などがあるか、東京大学出版会に問い合わせたところ、存在せず、著者の逝去により質問にも答えない、と言うので。
普通に買わない方がいいかもしれないけれど、間違いが多すぎて、AIに壁打ちできる今では逆に良書となりうると思っている。(内容は良いので)
senkeidaisu_eratta.pdf
時間ある時に書き足す〜
上のpdf用に作ったAIに作ってもらった正誤表用のtypstテンプレート
// template.typ v0.14.1
#let jarticle(
fontsize: 11pt,
title: none,
authors: (),
abstract: [],
date: none,
doc,
) = {
let roman = "Libertinus Serif"
let mincho = "YuToppan Bunkyu Mincho"
let kakugothic = "YuGothic"
let math_font = "New Computer Modern Math"
set text(lang:"ja", font: (mincho, roman), fontsize)
// Use A4 paper
set page(
paper: "a4",
margin: auto,
)
set par(justify: true)
// 行間の調整
set par(
leading: 1.2em,
justify: true,
first-line-indent: 1.1em,
)
set par(spacing: 1.2em)
show heading: set block(above: 1.6em, below: 0.6em)
set heading(numbering: "1.1 ")
// 様々な場所でのフォント
show heading: set text(font: kakugothic)
show strong: set text(font: kakugothic)
show emph: set text(font: (roman, kakugothic))
show math.equation: set text(font: (math_font,roman,mincho))
// 見出しの下の段落を字下げするため
show heading: it =>{
it
par(text(size: 0pt, ""))
}
// 数式番号
set math.equation(numbering: "(1)")
show ref: it => {
let eq = math.equation
let el = it.element
if el != none and el.func() == eq {
// Override equation references.
link(
el.label,
numbering(
el.numbering,
..counter(eq).at(el.location())
)
)
} else {
// Other references as usual.
it
}
}
// 目次
show outline.entry.where(
level: 1
): it => {
v(1.2*fontsize, weak: true)
it
}
set outline(indent: auto)
// 図のキャプション
set figure(gap: 0.3em)
show figure.caption: it => [
#block(width: 90%, align(center, [#it]))
#v(1em)
]
show figure.caption: set text(font: kakugothic,
0.9*fontsize)
show figure.caption: set align(left)
// タイトル
{
set align(center)
text(1.5*fontsize, font:kakugothic, strong(title))
par(for a in authors {a})
par(date)
if abstract != [] {
block(width:90%,text(0.9*fontsize,[
*概要* \
#align(left, abstract)
]))
}
}
doc
}
#let appendix(app) = [
#counter(heading).update(0)
#set heading(numbering: "A.1 ")
#app
]
// 正誤表用のテンプレート関数
#let errata(
fontsize: 11pt,
title: none,
version: none,
date: none,
author: none,
corrections: (),
doc,
) = {
let roman = "Libertinus Serif"
let mincho = "Toppan Bunkyu Mincho"
let kakugothic = "YuGothic"
let math_font = "New Computer Modern Math"
// 日本語を優先してフォントを設定
set text(lang: "ja", font: (mincho, roman), fontsize)
// Use A4 paper
set page(
paper: "a4",
margin: auto,
)
set par(justify: true)
// 行間の調整
set par(
leading: 1.2em,
justify: true,
first-line-indent: 1.1em,
)
set par(spacing: 1.2em)
show heading: set block(above: 1.6em, below: 0.6em)
set heading(numbering: "1. ")
// 様々な場所でのフォント
show heading: set text(font: kakugothic)
show strong: set text(font: kakugothic)
show emph: set text(font: (roman, kakugothic))
show math.equation: set text(font: (math_font, roman, mincho))
// 見出しの下の段落を字下げするため
show heading: it => {
it
par(text(size: 0pt, ""))
}
// 表のスタイル設定
set table(
stroke: (x, y) => if y == 0 { (bottom: 2pt) } else { (top: 0.5pt) },
fill: (x, y) => if y == 0 { rgb("#f0f0f0") } else { none },
align: (x, y) => if x == 0 { left } else { left + horizon }
)
// タイトル部分
{
set align(center)
text(1.8*fontsize, strong(title))
v(0.5em)
// バージョンと作成日を一行でまとめて表示
if version != none or date != none {
let info_parts = ()
if version != none {
info_parts.push([#version])
}
if date != none {
info_parts.push([#date])
}
text(0.9*fontsize, info_parts.join([ | ]))
v(0.5em)
}
if author != none {
text(0.9*fontsize, [作成者:#author])
v(0.5em)
}
v(1em)
}
doc
}
// 正誤表テーブルのヘッダーを生成する関数(縦並び版)
#let corrections_table(corrections) = {
for (i, c) in corrections.enumerate() {
let page_val = c.at("page", default: "")
let location_val = c.at("location", default: "")
let error_val = c.at("error", default: "")
let correction_val = c.at("correction", default: "")
let note_val = c.at("note", default: none)
[
*#page_val - #location_val*
#table(
columns: (1fr, 4fr),
stroke: (x, y) => if y == 0 { (bottom: 1pt) } else { (top: 0.5pt) },
fill: (x, y) => if y == 0 { rgb("#fff0f0") } else if y == 1 { rgb("#f0fff0") } else { none },
align: left,
[*誤*], [#error_val],
[*正*], [#correction_val],
..if note_val != none { ([*備考*], [#note_val]) } else { () }
)
#v(1em)
]
}
}
#let 年月日 = "[year]年[month repr:numerical padding:none]月[day padding:none]日"
#let 年月 = "[year]年[month repr:numerical padding:none]月"