Ctrl-N, Ctrl-O, Ctrl-P

Think Pad で,この3つのキー (Ctrl-{N,O.P}) がときどき効かなくなることがあって,大変困っていた.

今日もそうなった.Google をひいたら,Lenovo PowerENGAGE のせいだ,と出ていた.半信半疑で,task manager から,lenovoreg.exe (説明の所に Lenovo PowerENGAGE と書いてあった) のプロセスを殺したら,見事に復活した!!

keywords: emacs

Powerpointマクロの保存方法

Powerpoint の VBA マクロを普通に保存すると,そのファイルでしか有効にならない.どのファイルでも有効にする方法が,このページに出ている.

Powerpoint でショートカットキーのカスタマイズを可能にするソフトウェアのページ

自分のマシンにマクロを追加する手順の覚書のページ (すみません.プライベートページです).

keywords: macro tanabeMacro addin add-in visual basic

 

beamer + 日本語

例によってZR氏頼り…

\documentclass[uplatex,dvipdfmx]{beamer}

\usetheme{Madrid}
\usepackage{bxdpx-beamer} % ナビゲーションシンボルを機能させる
\usepackage{pxjahyper}    % しおりの文字化け対策
\usepackage{bm}           % 数学モードでの太字 \bm{...}
\usepackage{txfonts}
\usepackage[deluxe, expert]{otf}  % 和文メトリック調整ほか

\renewcommand{\kanjifamilydefault}{\gtdefault}
\setbeamertemplate{navigation symbols}{}  % ナビゲーションシンボルを消す :-)

Tex Live 2015 では,全部インストールされている.

Windows のシステムの復元領域

Windowsのディスク空き容量がとても少なくなっていて,おかしいと思った.
Windirstat で報告されるディスク使用量は 90GB 程度なのに,
ディスク使用量は217GB と報告される.

調べたら,「システムの復元」用の領域が100% (!) に設定されていた.
要するに,ディスクに空きがある限り復元用のデータを保存するということ.
10%に変えたら,ディスク使用量が大きく下がった.

復元用データは,C:\System Volume Information に格納されるのだけれど,
エクスプローラで見ても,ここにはファイルが表示されないし,
Windirstat も容量を報告しない.ここを読み出す権限が SYSTEM にしかないから.
エクスプローラでここのセキュリティを変更して,自分に読み出し権限を与えれば,ここの
容量が表示されるようになる.

MySQL, MariaDB 日本語エラーメッセージ (MS Windows)

MariaDBやMySQLで,MS Windows の MySQLモニタを使っているときに,日本語エラーメッセージがうまく出ない
問題がある

xampp-win32-5.6.12 (2015年8月) に同梱されているMySQLでの話.
my.ini の [mysqld] セクションで,

lc_messages_dir="インストールディレクトリ/mysql/share"
lc_messages=ja_JP

と指定して,メッセージを表示させようとする.このとき,[mysql]セクションで,

default-character-set=utf8

としていれば,正しく表示されるのだが,default-character-set に cp932 を指定すると,
文字化けする (この場合でも,データベースの内容は正しく表示される).

まあ,utf8を指定すればよいから良いようなものだが (それにしても,source コマンドで実行する
ファイルを utf8 にしておかなくてはいけないという問題(?) はある),
xampp のそれ以降の版では,MySQLでなく,MariaDB が同梱されるようになってしまった.
MariaDB では,MySQLモニタが,utf8 に対応していない.つまり,default-character-set に cp932 を
指定せざるをえない.したがって,日本語エラーメッセージが文字化けする.

まあ,コマンドプロンプトの方を utf8 にすれば表示はされるのだが,コマンドプロンプトは
utf8入力に対応していない.mintty を使うことも考えたが,mintty だと,mysql コマンドが動作しない.
PowerShell のコマンド入力も試してみたが,コマンドプロンプトと同じだった.

手詰まり.

perl での日本語ファイルの読み方

perlでエンコーディングがわからずに,日本語が書いてあるファイルを読む方法


use Encode::Guess qw(euc-jp shiftjis 7bit-jis);
...
my $cont;
my $msg = read_with_enc("filepath.txt", \$cont);
if (!deifned($cont)) { die $msg; }
# $cont にファイルの中身が入っている
...
sub read_with_enc {
  my ($f, $pcont) = @_;
  $$pcont = undef;
  open(F, $f) or return "Failed to open $f: $!";
  local $/ = undef;
  my $cont = <F>;
  my $enc = guess_encoding($cont, qw(euc-jp shiftjis 7bit-jis));
  ref($enc) or return "Failed to guess the encoding of $f: $enc";
  $$pcont= $enc->decode($cont);
  return "";
}

もちろん,ファイルが巨大ではないという前提である.

bounding box の作り方

latex の graphicx パッケージを使っていて,またぞろ bounding box がない,と怒られた.
zr_tex8氏の日本人のための LaTeX タブー集 ~画像読込編~が,例によって,素晴らしい記事だ.
以下で良いらしい.

  • 画像は pdf にする
  • bounding box は extractbb (W32TeXに入っている) で作る
  • ドライバ指定は dvipdfmx にする (\usepackage[dvipdfmx]{graphicx})

texのアップデートでトラブル

W32TeX をアップデートしたら,「アプリケーションを正しく初期化できませんでした」0xc0000022 というエラーメッセージが出るようになってしまい,platex, mktexlsr など,主要なコマンドが全部動かなくなってしまった.
どうも,権限がおかしくなったようだ.cygwin の tar コマンドで展開してはいけなかったのかもしれない.
W32TeX についてくる tar で Windows で実行した方が無難なようだ.

これがもっとも正しいのかどうかわからないが,以前,cygwin で permission 問題を直したときのと同じコマンドで直した.OSは,Windows7 Professional.

手順:

  1. コマンドプロンプトを 管理者として起動
  2. 以下を実行.ただし,c:\pkg\tex は,W32TeX のインストールディレクトリ,myname は,自分のアカウント名
    takeown /R /F c:\pkg\tex
    icacls c:\pkg\tex /reset /t
    icacls c:\pkg\tex /inheritance:r
    icacls c:\pkg\tex /grant myname:(CI)(OI)F SYSTEM:(CI)(OI)F Administrators:(CI)(OI)F Everyone:(CI)(OI)RX "CREATOR OWNER:(CI)(OI)F" "CREATOR GROUP:(CI)(OI)RX" None:(CI)(OI)RX
    

XeLaTeX

そもそも,XeLaTeX を使ってみたかったのであった.
インストールにてまどったが,要するに最新版を入れれば良かったのであろう.

ただし,mktexlsr も実行しなくてはいけなかった.

それから,TeX Wiki の xeCJK の記述
に従って,IPAexMincho などの設定をする
C:\pkg\tex\share\texmf-dist\fonts\conf\local.conf も作成する必要があった
(local.conf.dist というファイルがあるのでそれを編集すればよい).
明には書いていないけど,編集した後で,fc-cache -v を実行する必要があるのだと思う.

pdflatex だと,以下の問題があって,なかなかきれいに組版するのに手間がかかる (できないわけではない) が,
XeLaTeX だと,今のところその問題は無いように見える.

  • 日本語と英語の間に自動的にはスペースを入れてくれず,~を手で入れなければならない.
    (~の意味が普通と変わってしまい,本来の~を書きたいところは\nbs
    としなくてはいけない)

  • 句点の後のスペースを無視してくれない.ある文章を句点で終わって,改行して次の文の先頭が英数字だと,
    不自然にスペースが空いてしまう.