投稿者「matsuo」のアーカイブ

レポートの書き方

 この記事は,主に学部低学年の学生で,レポートの書き方についてきちんとした指導を受けたことがない人たちのために書いています.

 レポートに「書き方」というものがあるのか?「~~について報告(report)せよ」,と言われているだけだから,言われたことの内容が入っていれば何でもよいのでは?・・・と思うかもしれませんが,結論から言うと,やはり「きちんとしたレポートの書き方」(なるものは,多少の流儀の差こそあれ確実に存在する)は,早めに習得した方がよいです.

  • いずれ書くことになる卒論・修論(・D論,会社での報告書,…)の下地になるため
  • 同じ内容を報告する(伝達する)にも,伝わるか伝わらないか(きちんと読んでもらえるかそうでないか)が変わるため

 私の記憶では,理科I類生の駒場の物理実験で,まず最初に相当厳しくレポートの書き方を習ったように思います.体裁を整えること,データだけではなくきちんと論拠・考察を(文章で)書くこと,図表の描き方,などを教えていただきました.いまは駒場教育もだいぶ変わっているので,私の担当講義でも,こういう指導を受けるチャンスがないまま上がってきてレポートを書いていると思しき人がたくさんいます.私の講義では,書き方が悪いということで減点対象とすることは基本的にはないのですが,あまりにも論述不足すぎて採点しようがない(点数のあげようがない)場合も散見されるため,この機会に,主に私の講義の受講生向けに,私の思う「レポートの書き方」をここにまとめておきます.

何はなくともまずは体裁

 プライベートにおける一対一の私信とは異なり,レポートは公式の場で,多数の学生とひとりの教員の間でやりとりされるものなので,基本的な体裁を守ってもらえないと色々とトラブルが起こります.

  1. 基本事項をきちんと宣言すること
    表紙を1枚作ってそこで明らかにするのでも,1枚目の冒頭にまとめて書き,すぐに内容を続けるのでもどちらでもよい.(教員がスタイルを指定しているときは素直に従うこと.)
    • 何のレポートであるか(例:「数値解析レポート第1回」など)
    • 誰のレポートであるか(氏名,学籍番号(,所属))
  2. 用紙サイズなどは標準にすること
    日本においては,A4サイズ(表裏可),ホチキス左上留め(紙媒体の場合)が標準だと思われる.
  3. 読みやすい文字で書くこと
    極端に小さかったり大きかったりする字を書かない,手書きの場合は薄くて(字が汚すぎて)読めないようにしない,など.
  4. レポートの全体構造を簡潔にし読みやすくすること
    内容の順番がごちゃごちゃだったり,文章や図表,プログラムコードなどが深く考えずに並べられていると,読む側が非常に読みにくいので,全体の流れをよく整理して,「まずパラパラめくったら大体全体がどうなっているか一瞬で分かる」「その後個別ブロックを真面目に読めば,報告内容が(それぞれのブロックごとに)分かる」というふうになるよう工夫することが望ましい.
  5. デジタル提出のときはファイル名にも注意すること
    教員は恐ろしく多くのレポートを受け取るので,report.pdf のような識別性の低いファイル名のファイルを送ってこられると,手元に無数の report.pdf が乱立して大混乱に陥ることになる.(※ただし東大のITC-LMSでは,提出者が提出したファイルに,自動的に提出者の学籍番号が追加されるため,実際には混乱はしない.メールなどで個別提出する際に気をつけてください.)

 堅苦しい形式なんて馬鹿馬鹿しいと思うかもしれませんが,教員側は同じようなレポートを何十通も(場合によっては何百通も)受け取るということに注意してください.
 紙媒体でレポートを提出してもらっていたときは,「氏名が書いてない(→こういうとき教員は名無しさんが誰であるか探す旅に出ることになる)」「(多分提出間際に大学で焦って書いていて,それでホチキスがなかったのだろうが)ホチキス留めしていない(→こういうレポートはメールボックスの中でバラバラになってしまうので,教員はそういうページを救出して並べ直すパズル大会を開くことになる)」など,困ったことが何度もありました.紙の大きさも,A4でもB5でも学問的内容は伝わるではないか,と思うでしょうが,大きさがまちまちの大量のレポートを扱うのは,単に書類整理の点でなかなか面倒です.
 デジタル提出になると,この種の苦労は絶滅しましたが,今度は反対に,一度に複数のファイルを提出でき(東大のITC-LMSでは),レポート採点時,まずそういうファイルを人ごとに整理する作業から始めなくてはならないので(東大のITC-LMSの仕様では),できればひとりひとつのファイルにまとめてから出していただきたいと私は思っています.

 この種のことは,要するに教員側の手間(混乱)を減らすためのものなので,学生さんたちがそこに注意してくれなくても,我々は(それが業務なので)頑張って読む努力をします.しかし我々も人間なので,こちらに配慮して書いてくれているレポートと,そうではないレポートでは,それによって客観評価が変わることがないようプロ意識をもって作業はしていますが,どうしても心証の差が出てきます.また,皆さんが年をとり,人に頭を下げて書類を読んでいただくフェーズになったときは,配慮のない文書はそもそも読んでもらえません.
 若いうちから,努力しなくても相手に配慮した文書が自然に書ける習慣を身につけておくのが,皆さんの人生の成功にとってもとても大事なことで,「レポートの書き方」は,その入り口だと思っていただければと思います.

内容に関する注意:レポートの全体的構造

 非常に短いレポートではその余地はあまりありませんが,多少の長さのあるレポートの場合,一行目からいきなり読み始めるよりは,まずパラパラめくって全体像を把握してから細部を読み始めることの方が多いため,それができるような構造にしておくととても読みやすくなります.以下は,そのような案(技法)の一部です(必ずしも毎回すべてをやらなくてはいけないわけではない).

  • レポート冒頭で,短く全体構造を説明する
    このレポートでは何を,どの順で書く,といったことを短く宣言する(目次でもよい).
  • 適宜ページ番号,節番号などでブロックを区切る
    上と連動して,適宜ブロック(セクション)を分けてくれると,大変読みやすくなる.
  • 冗長なデータ等は付録に回す
    データ等は載せれば載せるほどよいというものでもないので,折角とったし一応有意でもあるのでレポートに含めたいが,レポートの本旨主張には直接は供さないといったデータ(あるいは,引き出せる帰結が一緒なので重複しているが,参考までに報告したいデータ)等は,レポート最後の付録に回して「その他のデータについては付録にまとめた」などと参照するのがよい.

 稀に,データはたくさん載っているけれどそれに対する考察(意見)が見当たらず,散々探し回った結果,図と図の間に数行の考察が挟まっているのをようやく見つける,といったようなことも起こります.そういう場合,そういう読み落としがないようにプロ意識を持って頑張っているつもりではいますが,人間なのでどうしても読み落としは起こりますので,考察がないものとして採点を行ってしまう事故も起こりえます.

 自由研究など,研究スタイルのレポートの場合には,上に加えて,そもそも「研究報告」としての構造を備える必要があります.大雑把に言うと,

  • 導入:何を調べようとするのか,何故それを調べる必要があるのか,何をどこまで明らかにしようとするのか,など,続く研究の動機・背景・目的を明らかにする.
  • 準備・設定:上で掲げた目標を達成するための実験・研究等の設定(計算環境や使用したデータの諸元,理論研究の場合は各種記号・名代等の準備など)を明らかにする.
  • 本論:上の準備を踏まえて,実際の実験・解析等を展開する.データを示しつつ,後の考察で議論の対象となる点に注意を促すなど,プレゼンテーションに工夫すること.
  • 考察:本論で得た結果についてまとめ,総合的に議論を行う.
  • 結論・その他の注意:以上を総合し,「導入」で宣言した目的に照らしてどのような結論が得られたかを簡潔にまとめる.
  • 参考文献(オプション):レポートを仕上げるにあたり参照したものを列挙する(どのような文献を下調査した上でレポート作成に臨んでいるかの参考になる).特にレポート内で定理・主張・図表等を引用したものについては,参考文献としての明記が必須(研究倫理事項).
  • 付録(オプション):本論に入れると読みづらくなるような補助データ・補助議論などはここに回し,適宜本論から参照する.プログラムコードなども,特段の事情がない限り,このあたりにまとめて掲載するのがよい.

などのようになるのが標準的かと思います.

内容に関する注意:論述や数式・図表の描き方

論述の仕方

 レポートは「報告」であり,本来口頭で説明することを文書で代えるというものなので,データや数式が剥き出しで置かれているのではだめで,きちんと説明しなくてはいけません.

「まず,***について説明する(考察する).」
「次に,***について考えると,以下のようになる.」
「以上を総合して,***という結論を得る.」
など,他人に物事を説明するための文言をきちんと書いてください.

 特に計数数理の人たちは,証明問題に際して,単なる数式の羅列になっていて,行間を埋める日本語(英語)が欠損しがちです.最低限の「式(X)から」「ここでyに(X)の内容を代入すると」「ゆえに」「したがって」などの文言すら欠損しているものも稀に見ます(これだと大学入試の答案としても失格になると思います).しかしこれらは数学の論理を提示するための最低限であって,その数学が説明しようとしている工学的な事象(においてその数学が意味していること)を説明したことにはなっていないことが多いので,どのレベルの論述が期待されているのかの判断も含めて,注意して書いてください.

数式の書き方

 プロの世界(およびそれに準ずる修論・卒論の世界)では,数式のタイピングに関してかなり細かいルールがあります.これを読んでいる皆さんは,卒論指導等でそれを習うまで,あまり敏感になる必要はありません.
 ひとつだけ,とはいえとても気になってしまうポイントを紹介しておきます.数学では,

  • 変数はイタリック(斜体):(例)Ax=b
  • それ以外の文字列はローマン(立体):(例)H=H_{kinetic} + H_{potential}

という鉄則があります.(注:H_{kinetic} は TeX 標記で,{} 内を下付き表示するという意味です.)
 これはフォントの問題ではありますが,数学文献を読むときは,無意識にこのフォントの差を頼りに,目の前の「文字」が変数なのか純然たる文字なのかを判断していることが多いので,フォントが混乱すると内容の理解まで混乱することがあります.例えば数式近辺で “def” という3文字が出てきたとき,”definition”=「定義」と言いたいのか,変数 d, e, f の積 def なのかが分からなくなってしまう,という具合です.
 上の例題で,”kinetic” を k * i * n * e * t* i * c = ceik^2nt(”^2″ は上付きで2乗の意味)と誤解する人は存在しませんが(たぶん),それでもこいつらがイタリック(斜体)で書かれていると,数学者はとても気持ちが悪いです(物理屋さんは割と平気みたいです).

図表の描き方

 図表は,読める大きさで載せてください.線が細すぎる,フォントが小さすぎる,など読みづらい図表は避けてください.
 図表にはタイトル(キャプション)を付けてください.図のキャプションは図の「下」,表のキャプションは「上」というルールになっています.
 図の軸には,きちんと軸名を付けてください.

 図(グラフ)を描くときは,軸のスケールの選び方にも注意してください.これによってデータは見やすくも見にくくもなります.

  • 普通の図:線形関係にあるデータが直線になり(線形であることが)見やすくなる
  • 方対数:指数関数的なデータが直線になり(指数関数的であることが)見やすくなる
  • 両対数:べき乗的なデータが直線になり(べき乗的であることが)見やすくなる

 何らかのオーダー(増加・減少傾向)を確認したいときは,さらに,主張するオーダーの「ガイドライン」を添えておくのがお薦めです.例えば Ox^2) のグラフであることを図から確認して欲しいときは,数値実験結果(例えば)の図を両対数で描いて,さらにそこに適当な係数 c に対して cΔx^2 の直線を「ガイドライン」として引いておけば,データが2次の挙動を示していることが簡単に分かります.(さもないと,読者は自分で両軸のメモリをよく睨んで,何乗になっているか自分で考えることになります.)
 このことは,次数などを表で示したい場合も同様です.単にデータを示すだけでなく,表を一列増やして,「仮に Δx^p という挙動だとすると,局所的に p はいくつぐらいか」を計算した「データから計算した次数」を書いておけば,表を見る人は,素データよりもその列を見れば,実験的に何次であったかはすぐに分かります.

 また,類似の図を複数並べて比較して欲しいときは,「図のスケールを(適宜)合わせておく」ことも必要です.コンピュータソフトウェアの自動描画に任せていると,各図ごとにスケールが最適に選ばれてしまいますが,そうやって図ごとにスケールが違うと,読む人が軸の数字を読んで,脳内でスケール変換しないと比較できなくなります.
 物理的な問題を図示する場合には,必要に応じて,縦軸・横軸のスケール比(アスペクト比)を1:1にしないと,正しい物理描像が観察できない(脳内で変換しないと分からない)こともあるので注意してください(そうしないと真円になるべき円運動が楕円になってしまうなど).

その他

研究倫理事項

  • 捏造(ないデータを作り出すこと),改竄(あるデータをねじ曲げること)をしてはならない.
  • 剽窃(他の文献の文章を無断で盗用すること)してはならない.他の文献から文章・図表等を借りる場合は,
    • 限度を守り(例えば文章の引用は最大でも一段落程度に限る,など),
    • それが「引用(quotation)」であることを明確にして(=自分の地の文章からは明確に分離して),
    • かつ,どの文献からの引用であるかを明記すること.
  • 明確なアウトではないが,グレーゾーンに入るような行為についても注意すること.
    • 「チャンピオンデータ」:例えばあるアルゴリズムの性能を評価するとき,良い結果も悪い結果も出たときに,良い結果(データ)だけを残して,あたかもそのアルゴリズムが常にそのような良好な性能を示すかのようなプレゼンテーションを行うこと.優良誤認.(これを裏返して言うと,何らかのデータを提示する際には,それがチャンピオンデータではないと何故言えるのか,まで含めて説得でなくてはならない.)
    • 同様に,(学問研究は客観的でなくてはならないため),ある研究について,その長所だけを報告し,短所について述べない,という態度は学問的には受け容れられない.弱点隠蔽.
    • 表示による印象操作:(よくある「統計でウソをつく」という話題の一種)グラフのスケールを変えるなどで見栄えを変えて,それに対して主観的なコメントを加える,というのは,企業広告のマーケティングとしてはありうるが,客観性を重んずる学問研究では受け容れられないので注意すること.

より細かい表現上の事項

  • 日本語記述の場合,横書きのときは句読点は「,.」,縦書きのときは「、。」である,というのがマジョリティです(必ず従わないとならないということはないが,卒論以降になるとほぼこれが強制される).句読点「,.」については,日本語文中では全角,途中に挟み込まれる英単語や数式の中は半角,が原則です.
  • 「だ・である」体か,「です・ます」体か,どちらでもよいが,統一するのがよいです.
  • 学術論文は文語・・・とは言いませんが,著しい口語は使わない,というのが世界共通の暗黙のルールです.レポートを含めて,公式に提出・発表する文書は,お友達とのSNSチャットではないので気をつけること.
    • 例:「以上を式変形すると,・・・となる.なので,以下の結論を得る.」の「なので」は口語的で,「従って」「ゆえに」などとするのがよい.
    • 例:英語の省略形は一切使わない.”It doesn’t hold here”→”It does not hold here”; “Let’s see the next case.”→”Let us see the next case.” ただし,標準的に用いられているラテン語略語は別.(e.g.) (例;exempli gratia),(c.f.) (参考・比較せよ;confer)など.

数値解析・数値計算に固有のこと

  • 例えば複数の算法(アルゴリズム)を比較するときには,「何をどう比較すれば,何が結論できるのか;フェアな比較になるのか」に十分な注意を払うこと.
    例えば連立一次方程式の各種反復解法の性能を比較したいとき,「横軸:反復回数」「縦軸:残差(誤差)」の図を描くことはよく行われるが,これはこれで「反復回数に対する残差(誤差)の減少性」を見ることはできるとしても,一反復の計算量が著しく異なる場合,「一定の精度(残差・誤差)を要求したときに必要な計算量」をフェアに比較したことにはならないので注意すること.
  • (講義で注意したが)アルゴリズムの実行速度を測る場合,アーキテクチャと時間計測関数にもよるが,一回の実行では十分な精度で計算速度が計れないことが多く,同じ実験をたくさん繰り返して平均値をとる,という作業が必要になることが多い.
  • 同様に,アルゴリズムの性能を評価する際に,「問題の特殊性(例えば Ax=b の行列 A の特殊性)に依存して結論が変わらないか」,「出した結論が初期値の特殊性に依ってしまっていないか」などにも注意すること.

テスト:数値解析シンポジウム3019 予稿集登録ページ

予稿PDFを下記よりアップロードしてください.

tikzメモ

自分用の tikz メモです.よろしかったらどうぞ.
素敵なことをご存じでしたら是非教えてください.ここに載せていきます.

  • マルチカラムのデータから特定の列を選んでプロットする方法:どうやら少なくとも2つやり方がある模様.
    [1] index を使う.
    \addplot table[y index = 3] {data.dat};
    のように書く.これは,y座標データとして4列目を使えと言うこと(indexは0から始まる模様.トラップかー!).x座標は何も指定していないのでデフォルトで1列目が選ばれる.
    [2] ラベルを付ける.
    まず,データファイルの1行目に,データと同じフォーマットで「ラベル」を書いておく.
    (例) t H Z
    データファイル自体をこのようにしておいて,tikzソースでは次のように書く.
    \addplot table[x = t, y = H] {data.dat};

  • 図のラベルのフォントサイズを大きくする
    \begin{axis}[options] のオプションで指定できる.まず,
    \newcommand{\pgflarge}{\fontsize{20pt}{20pt}\selectfont}
    のようにフォント指定のマクロを定義しておく,これを使って,[options]の中に一行,
    label style = {font=\pgflarge},
    を追加する.

  • 自分定義の色を使う:これは,tikz環境の中だけでなく \usepackage{color}したときに TeX ソース全体で有効です.色々やり方はありますが,簡単なのは
    \definecolor{deepgreen}{rgb}{0,0.3,0}
    のようにやること.各パラメータは [0,1] 区間内で指定します.([0,255]でやりたい場合は RGB と指定すればいい模様.)
    この色名は tikz 内でも使えます.緑はデフォルト green だと明るすぎてスライドとかで飛んじゃうので,これくらい深い緑が個人的にはオススメです.

  • tikzの図をPDFにエクスポートする
    tikzはその場できれいな図を描くので便利なのだが,「描画が重い」「tikzを使わない人とソースを共有する」などの際には,tikzの図をPDF等にエクスポートし貼り込むと便利です.これは以下の手順でできます.

    1. まず,tikz環境下でコンパイルし図のPDFを生成する. これをやるために,TeXソースのプリアンブル,tikz周りあたりに次のコマンドを書く.

      \usetikzlibrary{external}
      \tikzexternalize[prefix=./figpdf/] % オプションはなくても良い.左記ではPDF生成フォルダを指定.

      この状態でコンパイルすると,図ひとつごとにPDFファイルが生成されます.pdflatex等でコンパイルが通らない際は,オプション –shell-escape を指定すると吉.

    2. 生成したPDFを普通に取り込む. includegraphicsとかでやってください.