ログイン
編集不可のページディスカッション情報添付ファイル

2015-07-25 13:06:43時点のリビジョン10

メッセージを消す
moba/tips

MMA

Tips

備忘録的な

TeX

XeLaTeXで禁則処理

XeLaTeXで日本語をそのまま埋め込もうとすると禁則処理や行分割が適切になされないままになってしまう。従って、XeLaTeXで適切に日本語を埋め込みたいときは、こちらで上手いことXeLaTeXに日本語を表示してもらえるように指示をしてやらなけらばならい。実はXeLaTeXにはそれを実現するための機能がすでに備わっている。以下の命令をプリアンブルで指定することでXeLaTeXでも日本語が適切に表示されるようになる。

   1 \XeTeXlinebreaklocale "ja"↲
   2 \XeTeXlinebreakskip=0em plus 0.1em minus 0.01em↲
   3 \XeTeXlinebreakpenalty=0↲
   4 \def\<{\@ifstar{\zx@hwback\nobreak}{\zx@hwback\relax}}
   5 \def\zx@hwback#1{\leavemode#1\hskip-.5em\relax}

XeLaTeXにUnicodeのコードポイントを埋め込む

\symbol命令でUnicodeコードポイントを指定することができる。

   1 \symbol{"003B} %16進数
   2 \symbol{59}    %10進数
   3 \symbol{'73}   %8進数
   4 

Lisp

Common Lisp

readするとprintされない

printの代わりにprin1を使う

Scheme

readするとprintされない

出力がバッファされてるために、readされた時に出力されるようになってる。なのでバッファからreadする前にflushを使って吐き出しておく。

main関数

RnRSには規定されてないけど、SRFI-22には

と定義されてるから、Schemeにおけるmain関数は実質

   1 (def (main args)
   2   実行したいS
   3   0)

とする

Linux

glibcの並列ビルド

並列ビルドするときにそのまま

$ make -j<ビルド数>

ではビルドが通らないので、

$ make PARALLELMFLAGS=-j<ビルド数>

とするといい