Jupyter NotebookでPythonのプログラムを書くときに困るのは、バックスラッシュ(\)が表示されないことです。バックスラッシュは、エスケープシーケンスとしてよく使うのに、次のように"¥"が表示されてしまってはがっかりです。
そこで、Jupyter Notebookに個人用のcssを作成することで、バックスラッシュを表示できるようにしてみました。まず、テキストエディタで次のようなcssを作成します。
.CodeMirror pre, .output pre {
font-family: Arial,MS ゴシック;
}
このときfont-familyの1番はじめに、”arial”のような欧文フォント(日本語のひらがなや漢字が使えない)を指定します。次に、
C:\Users\(自身のアカウントのフォルダ).jupyter
のフォルダに”custom”というフォルダがなければ新規に作成します。そして、custom.cssというファイル名で保存します。つまり
C:\Users\(自身のアカウントのフォルダ).jupyter\ custom\custom.css
というファイルとして保存することになります。すると、次のとおりバックスラッシュが表示されます。
jupyter notebookを表示するcssは別にあり、customer.cssがあれば優先して適用されるだけなので、上手く行かなくても、このcssファイルを削除してしまえば問題ありません。
バックスラッシュはアスキーコードでは”0x5c94”が割り当てられています。
かつてコンピュータの性能が良くなかった頃は、1文字を7ビットで表現していました。7ビット128のコードの中で、文字だけではなく改行マークなどの制御記号も割り当てなければならないので、アルファベット、数字や特殊記号などで94文字しかコードを割り当てることができません。そこで、バックスラッシュ(0x5c94)などについては、各国の事情に応じて文字を割り当ててよいことになりました。日本では、「やはり¥マークは必要だよね」ということで、0x5c94にはバックスラッシュではなく、"¥"マークを割り当ててしまったため、このような問題が起きてします。
ちなみにエクセルでも適当なセルに”\”と入力し、フォントをarialなどに変更すると、バックスラッシュが表示されます。一方、ワードでは、"¥"と入力してその部分を欧文フォントに変更しても”¥”のままとなってしまいます。この場合、【ファイル】→【オプション】→【詳細設定】→【レイアウトオプションの適用先文字】→
【バックスラッシュを円記号()に変換する】のチェックを外すと、【レイアウトオプションの適用先】の文書だけはバックスラッシュを表示できるようになります。