Funactional Mathematicianのブログ

数学(含む、統計学)で考えていることや、PC(特にMac)のTipsについてのメモの集合です。本blogに書かれている内容は、記事を書いた時点での僕の知識や調査によるものです。そのため、僕の不勉強による間違いや勘違いなどが書かれていることもあり得ます。記事の内容の真偽について、ご自身できちんと確かめて下さいますようよろしくお願いいたします。また、不適切な表現や間違えについては、ご指摘頂けると助かります。 (なお、記事の内容は、所属機関を代表するものではなく、僕個人の見解です。)

わかりやすい文章を書くために

在宅勤務になったので,職場から必要な本を持ち帰る必要があり,職場の本棚をちょこちょこと整理しました. そのときに,論文の書き方を最初に学んだときに読んだ懐かしい本が出てきたので紹介したいと思います.

『どう書くかー理科系のための論文作法』杉原 厚吉(著)

この本の特徴を上げると,

  • 著者が「数学者」である.
  • 日本語の構造についてやさしく説明されている.
  • 「日本語の構造が○○であるから,△△と書くとわかりやすい.」 という説明になっている.

このような特徴のため,数学(広くは理学)を専門にしていこうという方が,最初に論文を書く前に読まれるととても参考になるかと思います. 著者が数学者ですので,数学の勉強をしている人には親しみやすい記述方法かと思います.

『「わかりやすい」文章を書く全技術100』

kindleのおすすめにこの本が出てきて,最近読み始めました.

この本は論文の書き方とは少し違いますが,わかりやすい日本語を書く方法について,

  • わかりにくい例
  • わかりにくい例の改善例
  • まとめ

という構造で,書くときに注意すべきことを100個解説しています.

日本語について細かい分析をして説明するのではなく,わかりにくい具体例を直していくことで,わかりやすい文章を書くコツを説明しています. 上で紹介した杉原先生の本とは逆のアプローチかと思います.


2冊とも,初めて論文を書く前に読むべき王道の本(と多くの人が思っている)本とは違うかと思います. また,論文の書き方というよりも,論文を書く以前に日本語の書き方を勉強するものかと思います.

いずれも紹介されている記事が少なそうでしたので,今回僕のブログで取り上げさせていただきました.

どう書くか―理科系のための論文作法

どう書くか―理科系のための論文作法

冠詞の反復

英語で論文を書いたりしているときに微妙な言い回しや英文法に迷ったとき,僕は「複数の」英文法の本や英和辞典で例文を確認したりします. その中でも『表現のための実践ロイヤル英文法』は,かゆいところに手が届く記述が多く,かなり重宝しています.

最近調べたことのひとつに「冠詞の反復」がありますので,それを備忘録として残しておきたいと思います.

冠詞の反復とは,2つ以上の名詞や名詞を修飾している形容詞がandやorでつながれているときに,どのように冠詞をつけるべきか?という問題です. 僕が英作文をするときに,よく迷うので簡単な例を用いたメモを残しておきます. もちろん『表現のための実践ロイヤル英文法』の記述を中心に参考にしています.

大原則:いくつのもの(こと)を表しているか?を考える.

  1. 2つ以上の名詞・形容詞が同じ1つのもの(こと)について表している場合→冠詞は1つで最初の名詞もしくは名詞を修飾している形容詞につける.
    • She is a teacher and researcher. = 彼女は先生で研究者である.(彼女1人について述べている.)
    • He has a big and fast car. = 彼は(1台の)大きくて速い車を持っている.(彼は車を1台持っていることになる.)
  2. 2つ以上の名詞・形容詞が異なるもの(こと)について表している場合→冠詞はそれぞれの名詞もしくは名詞を修飾している形容詞につける.
    • They are a teacher and a researcher. = 彼女たちは先生と研究者です.(2名について紹介している.)
    • He has a big and a fast cars. = 彼は大きい車と速い車を持っている.(車を2台持っていることになる.)
      • ただし誤解の恐れがないときは,1つ目の冠詞のみを記載して2つ目以降は省略しても良い,とのことです.
  3. 2つ以上のもので1つの組になっているものについて表している場合→冠詞は1つで最初の名詞もしくは名詞を修飾している形容詞につける.
    • I have a desk and chair in the house.= 私は家にデスクと椅子を持っている.(デスクと椅子を1つずつ持っていることになる.)
      • 2つ以上のもので1つの組になっているものを複数表す場合は,それぞれを複数形にすれば良い.たとえば, I have two desks and chairs in the house.となります.

TeXPadでのlatexmk

有料ではありますがTeXPadMac利用者にとってはとても便利なソフトウェアだと思います. 日本語を利用する際には,デフォルトではplatex->dvipdfmxであればコンパイルすることが可能です.一方で,uplatexなどを用いてコンパイルしたい場合には,独自のBuild Scriptを作成する必要があります.uplatexとupbibtexを用いてコンパイルするBuild Scriptを作っても良いのですが,latexmkを用いてコンパイルできるようにすれば,カスタマイズが容易になり非常に便利です.

TeXPad用Build Script (latexmk.tpbuild)

元々TeXPadにはlatexmk用のBuild Scriptがありますが,日本語対応ではありません.そこでlatexmk用のBuild Scriptを作成しました.コンパイルする際にbackupファイルを作成することとと,コンパイルの際に大量に出てくる中間ファイルを.texpadtmpフォルダに移動する仕組みを実装しています.中間ファイルを移動する仕組みは,一度すべてのファイルを.texpadtmpフォルダに移動した後にtexファイルだけ戻してくる方法をとっています.

#!/bin/bash

# texのbackup(.bk)を作成
cp "$TEXPAD_ROOTFILE" "$TEXPAD_ROOTFILE_NO_EXT".bk

# texのコンパイル
latexmk -gg -pdfdvi "$TEXPAD_ROOTFILE"

# 中間ファイルを.texpadtmpに作成
mkdir .texpadtmp 2>/dev/null
mv -f "$TEXPAD_ROOTFILE_NO_EXT".* .texpadtmp/ 2>/dev/null
fname=$(basename "$TEXPAD_ROOTFILE_NO_EXT") 2>/dev/null
mv -f ./.texpadtmp/"$fname".{tex,bib} ./ 2>/dev/null

latexmkの設定ファイル (.latexmkrc)

latexmkの設定ファイルは,ホームディレクトリに.latexmkrcとして保存するのが1つの方法です.僕はuplatex, upbibitexもしくはbiberを用いる設定ファイルとして,以下のものを用いています.PDFはSkim.appを利用してプレビューするように設定していますが,TeXPadではTeXPadのviewerを使いたいので,その点はlatexmkを実行する際に生成されたPDFを表示しない用にして対応しています.

#!/usr/bin/env perl

$latex =        'uplatex %O -synctex=1 -halt-on-error %S';
$latex_silent = 'uplatex %O -synctex=1 -halt-on-error -interaction=batchmode %S';
$biber =        'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex =       'upbibtex %O %B';
$makeindex =    'upmendex %O -o %D %S';
$dvipdf =       'dvipdfmx %O -o %D %S';
$pdf_mode = 3;
$pvc_view_file_via_temporary = 0;
$pdf_previewer = 'open -ga /Applications/Skim.app';

TeXのインストールのメモ(Mac用)

MacTeXをインストールする方法をメモしておきます.

MacTexのインストール

MacTeXをインストールするのは,MacTeXが楽ちんです.必要となるものが一式入っています.インストール方法は大きく2つあります.ただし,ファイルサイズが非常に大きいので時間がかります.時間に余裕のあるときにインストールしましょう.

  1. 公式サイトからMacTeX.pkgをダウンロードしてインストールする.(もちろんミラーサイトを利用しても大丈夫です.)
  2. HomeBrewを利用してインストールする.

僕はHomeBrewで色々と管理しているので,HomeBrewを利用してインストールしています.インストール方法は以下のコマンドを入力するだけでOKです.

brew cask install mactex
sudo tlmgr update --self --all
sudo tlmgr paper a4

※ texliveが2つ以上入っているとTLPOBJ.pmのpermission errorなどのエラーが出てしまうことがあるようです.その場合は(本質的な解決ではありませんが,full pathでtlmrgを実行するとうまくいくかもしれません

sudo /usr/local/texlive/yyyy/bin/x86_64-darwin/tlmgr update --self --all 
sudo /usr/local/texlive/yyyy/bin/x86_64-darwin/tlmgr paper a4

ヒラギノフォント利用のための設定

※ 2020より原ノ味フォントがデフォルトで埋め込まれる設定になっているようです.どうしてもヒラギノフォントを用いたい場合は設定をいじる必要があります.ただ個人的にはコンパイルエンジンとして(u)platexではなく,bxjsarticle/bxjsbookクラスなどを利用した上でxelatexやlualatexをtexエンジンとして使いjpfontを指定した方が早い気がします.

平均値を累積分布関数で表現する方法

平均値を確率密度関数を用いて表現する方法はどの教科書にも載っています(平均値の定義そのものですが)が,分布関数を用いて表現する方法はあまり載ってないとないかと思います.結構便利なので,証明とともにメモを作ってみました.

\(x>0\) 上で定義された確率変数 \(X\) の累積分布関数を \(F(x) \ (x>0)\) とし,確率密度関数 \(f(x) \ (x>0)\) と平均値 \(\mu\) が存在するとする.このとき,次が成立する. \[ \mu = \int_0^{\infty} \left(1 - F(x)\right) \, dx \label{eq:mean_prob} \]

drive.google.com

ISO規格文章の書き方Tips

在宅勤務が始まってから1週間が経過しました。 現時点での感想は、これといった不満もなく「快適!」「仕事が捗る!」です。

僕はISO/TC 69(Application of Statistical Methods, 統計的手法の適用)SC 6(Measurement methods and results, 測定方法及び測定結果)のエキスパート(専門委員)となっており、微力ながら統計的手法に関連する標準化活動に関わっております。 2015年よりエキスパートとなったため、かれこれ5年目になります。 しかし、TC 69には長い期間にわたり貢献されている方が多くいらっしゃるので、僕はまだかなりの新米です。

僕は昨年よりSC 6の中でとある規格の執筆担当(プロジェクトリーダー)になっているため、現在、ドラフトを書き進めています。 ISO文章の書き方には、通常の論文と比較すると特殊な形式もあるため、ほとんどの方に無益な情報かと思いますが、、、ISO規格文章を記載するときに僕が忘れがちだった、悩んだ、知らなかった書き方ルールTipsをメモっておきたいと思います。

数値の書き方
  • 3桁ごとに半角スペースを開ける。
  • 小数点は日本で使われているピリオド「.」ではなく、カンマ/コンマ「,」を用いる。
  • 例:日本流の1234,56は、ISO流では「1 234,56」となる。
Bibliographyの書き方
  • 一貫性があれば、リストは本文内での出現順でも、著者のアルファベット順でも良い。
  • 例外としてISO文章はリストの最初に記載する。
  • 本文中での引用はカギ括弧付きの上付き文字を用いる。(例:hogehoge[1]
章や節について
  • 論文でいうSection 1, Section 2,...などは、Clause 1, Clause 2,...となる。ちなみに日本語では、箇条1, 箇条2, ...と呼ぶ。
  • Clause xを引用するときはClause xで良いが、Clause x.yなどのSub-clauseを引用するときは単に「x.y」とする。
TRやTSについての注意
  • 規定の文章ではないので、ISO文章では強制の意味を持つ助動詞であるshallやshouldを用いない。
  • StandardではClause 2のNormative Referencesを記載することが必須であるが、TR, TSでは原則記載しない。
  • 例外として、Clause 3の冒頭で他のISO文章内の用語や定義を用いることを宣言している場合は、そのISO文章をClause 2のNormative Referencesに記載する。

いま思いつく事項は以上ですが、今後もアップデートしていきたいと思います。

在宅勤務(在宅研究)

2020年度となりました。今年度もよろしくお願いいたします。

さて、コロナウィルスの影響で本日より無期限(?)で(研究実施が可能な者は)在宅勤務となりました。 僕は[紙と鉛筆+コンピュータ計算チョット]の研究なので、当然在宅勤務対象者です。とりあえず4月中は在宅勤務になるかと思います。

自分の研究時間が非常に増えると思うので、一度落ち着いて基本的な勉強もしたいと思います。具体的には、、、

  1. 論文が2本書き途中なので、書き上げ投稿したい。
  2. ネットワーク・グラフに絡めた離散最適化理論の勉強がしたい。
  3. 応用確率過程の文脈で信頼性理論の理論面を勉強したい。

項目2については、伊理先生、藤重先生、大山先生著の"グラフ・ネットワーク・マトロイド"、藤重先生著の"Submodular Functions and Pptimization"、片山先生著の"ネットワーク設計問題"などを読みたいですね。

ネットワーク設計問題 (応用最適化シリーズ)

ネットワーク設計問題 (応用最適化シリーズ)

項目3については、中川先生著の"Maintenance Theory of Reliability"を読みたいですね。

当然こんなにいっぱいは読めないので、少しずつすすめていきたいと思います。