2019年5月13日月曜日

bloggerにログイン出来なかった…

しばらく使っていなかったのですが、一般ユーザー向けgoogle+との兼ね合いかなにかで、2019年4月以降、 bloggerへのログインがうまくいかない場合が起こるようです。

ログインをクリックして自分のgoogleアカウントを選択しても、
https://www.blogger.com/about/?hl=ja
何度もこのログインページに戻される、という状況。

で、解決方法が以下。
https://support.google.com/blogger/thread/3471576?hl=en

ブラウザから google のサービスにログインしている状態で、
https://www.blogger.com/switch-profile.g
にアクセスし、blogger用のプロフィール(要は名前?)を付けなおすことで、自分のblogger投稿ページに進むことが出来、それ以降は自分のbloggerページからログインすることが出来るようになってます。

意外と見つからなかった…

2018年6月21日木曜日

latexmk の設定ファイルとうまく付き合う

 latexmk にオプションとして -pdf などを与えるのではなく、主となる .texファイルが存在する作業ディレクトリに latexmkrc ファイルを置いたらどうだろう? という話。

 latexmk では、LaTeX文章のpdf化の手順を選択する方法として、latexmkrc 設定ファイルに変数 $pdf_mode を設定するか、 latexmk にオプションを与える方法があり、オプションのほうが優先されます。
 このオプションが一部のエディタや拡張機能で当然のごとく設定されていると、自分の望むpdf化手順と合わないとき、トラブルの原因となります。
†VisualStudio Code + LaTeX Workshop など。

 主となる .texファイルが存在する作業ディレクトリで、
% latexmk main.tex
とだけ入力すれば .pdf まで出来上がる、というのが理想的な動作ですし、エディタから呼び出すときもトラブルが減るのではないかな? と思うわけです。

 latexmk を呼び出す側には極力オプションを与えず、latexmkrc だけで動作を切り替えることは出来ないでしょうか? 実は、latexmkrc には、以下のように読み込み順が存在します。
       1) The system RC file, if it exists.
       2) The user's RC file, if it exists.
       3) The  RC  file  in  the current working directory.  This file can be named either "latexmkrc" or ".latexmkrc", and the first of these to  be found is used, if any.
       4) Any RC file(s) specified on the command line with the -r option.

 で、latexmkrc の $pdf_mode の数値、 pdf化の手順、 latexmk に与えるオプションとの関係は、以下の通りになります。
  • $pdf_mode = 0 と書くと、pdf を作りません。 (-pdf-)
    • $latex の確認が必要です。
    • $xelatex で .xdvだけを作る方法を確かめていません。-xelatex -pdf- とオプションをつけても、$latex が使われるような…? 
  • $pdf_mode = 1 と書くと、pdflatex を使うことを表します。 (-pdf)
    • $pdflatex の確認が必要です。
  • $pdf_mode = 2 と書くと、tex→ dvi → ps→ pdf とたどります。 (-pdfps)
    • $dvips の確認が必要です。
    • $ps2pdf の確認が必要です。
    • $latex の確認が必要です。
  • $pdf_mode = 3 と書くと、tex→ dvi → pdf となります。 (-pdfdvi)
    • $dvipdf の確認が必要です。
    • $latex の確認が必要です。
  • $pdf_mode=5だと xelatex, xdvipdfmx (-pdfxe ) を使うようです。 上記ドキュメントにはありませんが、 $pdf_mode=4 で lualatex (-pdflua ) を使うようです。
  • $pdf_mode={4,5} (-pdflua, -pdfxe も?)については、古い latexmk には含まれていないようです。 例えば Debian 9.x の latexmk (Ver. 4.41 texlive2016 相当?) には存在しません。texlive2018 の latexmk (Ver. 4.55) なら含まれています。
 というわけで、
  1. ~/.latexmkrc にはツールの設定だけ書いておく。
  2. 作業用ディレクトリ/latexmkrc には $pdf_mode の数値だけ書いておく。
    • ~/.latexmkrc で予め設定しておいてもよい。
    • platex や uplatex を使い分けたいなら、さらに $latex などを書いておく。
  3. latexmk を使うときは -pdf などのオプションを付けない。
という方針は有りなんじゃないかな、と思いました。

 ドキュメントごとにコンパイル方法やツールを変える、というのは、なかなかしんどいと思いますが、様々な LaTeX 環境を体験したい場合や、psfrag など dviware が決め打ちになってしまうパッケージを使う場合は、どうしても避けて通れませんね。(避けたいですけど…)
 そんなときでも、作業用ディレクトリの下に latexmkrc を書いておくという手段は、作業手順をメモする効果もあるので有効かな、と思ったのでした。

2018年5月26日土曜日

Ubuntu 18.04 もしくは Debian 9 で qucs(0.0.18) の digital simulation

qucs ( http://qucs.sourceforge.net/ ) は Ubuntu/Debian系のパッケージが
Ubuntu 14.10 時代で止まっている、という問題があります。

そのため、このバイナリパッケージを dpkg -i で今の Ubuntu 18.04 LTS や Debian 9 にむりやりインストールすると、digital simulation の Model( netlist format ) が VHDL のとき、シミュレーションに失敗します。


例えばこんな回路のシミュレーションをしてみると……Segmentation Failtとか……



これは、依存関係ありとして導入される freehdl (0.0.8-2.2) の freehdl-v2cc が正常に動作しないためです。そのため、これを呼んでいる qucsdigi も巻き添えとなっています。

簡単な対策は、apt install iverilog でverilog を導入し、ModelをVerilogとしてシミュレーションすることです。




VHDLの資産がない、簡単なモデルであれば、これでシミュレーションは出来るようになります。

もし Debian 8 や Ubuntu 14.04 LTS などで、qucs の digital simulation を VHDL ベースで使っている場合は、OSのメジャーバージョンアップに注意が必要です。qucs が正しく動作しなくなります。

で、対策なのですが、Debian 9の場合は以下の手順で VHDL の digital simulation は動くようになりました。

1. freehdl のバージョンを  freehdl (0.0.8-2.1) に下げてholdする。(-libも)
2. g++-4.9を入れる。
3. /usr/lib/pkgconfig/freehdl.pc を編集し、CXXコンパイラが g++ になっているところを g++-4.9 にする。
4. /usr/bin/qucsdigi を編集し、glibtool のとき --tag=CC をつける、という条件を、 libtool のとき、となるように書き換える。

とても つらい。誰かパッケージ作り直してもらえませんかね…ダメですかね…

ちなみに qucs からスピンアウトして spice ベースに移行した qucs-s
https://ra3xdh.github.io/
というものがあり、現在のバージョンは 0.0.20 なのですが、アナログ系のシミュレーションがメインのようで、論理回路のみのシミュレーションには向いてなさそうです。

論理回路の場合は、おそらくもっと別のソフトウェアを使うべきなのかも知れません。

本家のバージョンは 0.0.19 なのですが、追従できているのはWindowsとMacのみで、Linux については前述の通りUbuntuのパッケージングが0.0.18で止まっているわ、debian のほうはパッケージが削除されているわで惨憺たる状況です。需要無いんでしょうか…