TeXworksテーマ設定

家でTeXShopを使っているが、配色変更は環境設定から簡単にできる。
職場ではWindows状でTeXworksを使っているのだが、こちらはTeXShopと違い配色設定がパッと見できない。しかし調べてみると方法はあるようなので、備忘録的に記録しておこうと思う。

基本背景色と平文の配色

まず、基本背景色と平文の配色を設定する。これはTeXworksの実行ファイルと同じディレクトリに、色を設定したCSSファイルを設置することで行う。たとえば"user.css"などと名前のファイルを作り、内容を

QTextEdit {
background-color: #41465A;
color: #F5F5F5;
}

などとする。色の指定にはhex colorコードが使える。TeX worksの起動時にこのcssファイルを読み込ませなくてはならない。一つの方法は、コマンドプロンプトで"TeXworks -stylesheet=[user.cssのパス]"と指定することだ。バッチファイルを作っても良いが、もう少し楽なのはTeXworkのショートカットを開いた時の挙動として設定してしまう方法だ。TeXworksのショートカットを作成し右クリックでプロパティを編集する。リンク先に上記のオプション付きリンクを設定すればよく、これでショートカット経由の起動時にはスタイルシートが適用される。.texファイルをダブルクリックで開くと、設定した配色が設定されないので気に留めておく必要がある。

シンタックスハイライト配色

次に文法のマークアップ配色を設定する。こちらは設定ファイルが用意されているのでそれを編集すればOK。設定するべきファイルは"syntax-pattern.txt"という名称だが、ディスクのどこに置かれているかは環境に依存すると思われる。自分の場合はC:\user\ユーザー名以下に見つけることができた。
ファイルをメモ帳で開くとデフォルトの配色が記録されているので、あとは好きな色に変えれば良い。ファイルのヘッダ部に編集規則が書かれているのでよく読む。こちらもhex color指定ができるが、行頭に#をおくとコメントアウトされてしまうため、hex codeで指定する場合には行頭に半角スペースが一ついる。

Macbook Proで外付けHD使用時に発生していた無線LAN接続障害が解決した

問題の概要

MacBookProにBUFFALO製の外付けHDD

を取り付けたところ、wifi接続が切れてしまった。HDを接続した瞬間に通信が停止してしまう。
症状からHDDの動作ノイズがwifiと干渉を起こしているのではないかと思われた。解決策としてwifiの利用帯域を2.4 GHz帯から5 GHz帯へ切り替えることが考えられるが、使用していたLogitecのwifiルータにはそのような機能がなかった。

解決法

wifiルータを買い換えた。
www.aterm.jp
結果として非常に快適になった。不思議なことに、このルータを使用するとIEEE802.11g(2.4 GHz)でもHDDとwifiが両立した。電波強度的なあれだろうか。不思議ですね。

AtCoder AGC 34A

atcoder.jp

ハマったのでメモ。
ハマりの理由はlower_boundの戻り値に関する誤解だった。

cpprefjp.github.io

lower_boundは指定した値「以上」の値を表す最初のイテレータを返す。「以上」でなく「より大きい」だと思っていたためハマった。
色々試しているうちに思いがけずテストケースが不十分ではないだろうか?と思い始めた。"Yes"を出力しなくてはならないケースにおいて"No"を出力する「ニセ解法」プログラムにも関わらず、ACが出てしまう場合がある気がする。例えば "AC##BD"のようにA-CとB-Dが厚い壁で分離されている場合、"##"がA-D間にあるか否かで遷移の可否を判断すると誤った解答を出力してしまうが、上のジャッジではそのようなケースがないらしくACが出る。もうすでに指摘済みなんだろうか。

Codeforces Round #576 div 2

Cでハマった。

Problem - C - Codeforces

問題を誤読したこともあり、以下のようにたくさんミスをした。

1. 問題を誤読。1音あたり、連続する8 * I / nに収まる強度領域(intensity)を答えるものと思ってしまった。v[r] - v[l]を使って尺取り法をしてしまった。
2. また誤読し、連続しない強度を全て含めてしまった。つまりv[n]に頻度を収納してsortしてしまっていた。
3. 正しくr-lを使って尺取り法をした。しかし自前で定義した指数関数でオーバーフロー。
4. 1 << 8 * I / nとするもオーバーフロー。1llとしてようやく回避。

こういうの慣れるとマシになるんだろうか。

修行

最近あまりプログラミングに取り組めていない。
少しずつでも身に付けたいので、少しずつ練習問題をやっていこうと思う。

今日は「プロコンのためのアルゴリズムとデータ構造」の8-2、木構造についての練習問題をやった。
pythonと比べるとやはりc++は間違えてしまいがち。コーナーケースとか。修行が必要。

ラズパイの起動ディスクを修復できない

Raspberry Piが起動しなくなった。症状は複合的で、切り分けもできていない。リモートで運用していたのだけど、

  • reboot後にsshできなくなる
  • 何度か電源ブチ切り&再起動すると復活したりする
  • sudo コマンド打つとPAMが初期化できないなどと出て実行できない(なのでrebootできなくなる)

などの症状が出てきて、もしやカーネルが壊れているのではないかと思った。調べてみるとfsckファイルシステムの整合性を確認でき、それをやってみるという手順があるということなので、いっちょこれを試してみようと思い立った。
macOSbashにもfsckが入っているので、これが使えるのかとも思ったのだがext4を読めるのかというのがわからないため結局linuxを準備することにした。Windows Subsystems for Linuxが使えるのではと思いwindowsUbuntuを導入したが、ラズパイの起動ディスクを接続した際、windowsがディスクをマウントしてしまい、うまくいかなかった。きっと何かやり方があるのだと思うが。結局VMwareをインストールし、Ubuntu仮想マシンを準備。
一応ディスクは認識されているのだが、パーテションに対してfsckを実行すると、ディスクが読み取り専用となっているため実行できないというようなメッセージが出てしまい失敗。chmodも試したがそういう問題ではなさそう。けっきょく今も原因はつかめず、ラズパイは修復できていない。SDが壊れたかな。かれこれもう5年くらい連続使用していたし。

Raspberry Piをいじっている

動くメカニズムを図解&実験! Linux超入門 (My Linuxシリーズ)

動くメカニズムを図解&実験! Linux超入門 (My Linuxシリーズ)

Raspberry Piを本格的に活用したくなって、まずはLinuxの勉強だと思って本を買ったりしている。本に書いていないところでも、つまづくことが多くてなかなか難しいと感じる。昨日はPAMが初期化できないと言われて、sudoコマンドを使えなくなった。当然sudo rebootもできなくなってしまったので、結局電源ケーブルを引っこ抜いた。再度電源を入れたらうまいことsudoできるようになったのだけど、その理由がわからない。しかもsudo rebootするとネットワークに繋がらないという不具合も発生し非常に困った。iptablesの設定を見直したり、接続状態を定期的に確認して再接続するような設定を作ってみたりしたけど効果は出ていない。トラブル続きで多少勉強になってるのかもしれないけど、なかなかわかった気にはならないという。もしかして電源ブチ切りでOSデータが破損したり、そんなこともあるんだろうか?
OSのことがわかってくると、なかなか面白い。ネットワークについても勉強してみたいと思い始めた。