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

MMA
2と12のリビジョン間の差分 (その間の編集: 10回)
2015-05-23 00:37:15時点のリビジョン2
サイズ: 1124
編集者: moba
コメント:
2015-08-15 17:36:18時点のリビジョン12
サイズ: 2249
編集者: moba
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 2: 行 2:
備忘録的な
行 4: 行 5:
1. XeLaTeXで禁則処理 === XeLaTeXで禁則処理 ===
行 7: 行 8:
\XeTeXlinebreaklocale "ja"
\XeTeXlinebreakskip=0em plus 0.1em minus 0.01em
\XeTeXlinebreakpenalty=0
\def\<{\@ifstar{\zx@hwback\nobreak}{\zx@hwback\relax}}
\XeTeXlinebreaklocale "ja"
\XeTeXlinebreakskip=0em plus 0.1em minus 0.01em
\XeTeXlinebreakpenalty=0
\def\<{\@ifstar{\zx@hwback\nobreak}{\zx@hwback\relax}}
行 13: 行 14:
2. XeLaTeXにUnicodeのコードポイントを埋め込む
\symbol命令でUnicodeコードポイントを指定することができる。
=== XeLaTeXにUnicodeのコードポイントを埋め込む ===
''\symbol''命令でUnicodeコードポイントを指定することができる。
行 20: 行 21:

== Lisp ==
=== Common Lisp ===
==== readするとprintされない ====
''print''の代わりに''prin1''を使う
=== Scheme ===
==== readするとprintされない ====
出力がバッファされてるために、''read''された時に出力されるようになってる。なのでバッファから''read''する前に''flush''を使って吐き出しておく。
==== main関数 ====
RnRSには規定されてないけど、SRFI-22には

 * インタプリタはmainという1つ引数をとる手続きを起動時に指定して呼び出す
 * main手続きは整数を返す
 * 整数以外を返そうとすると、sysexits.hに記述されてるEX_SOFTWARE(70)を返す

と定義されてるから、
{{{#!highlight scheme
(def (main args)
  実行したいS式
  0)
}}}
とグローバル領域に記述しておけばいい。

== Linux ==
=== glibcの並列ビルド ===
並列ビルドするときにそのまま
{{{
$ make -j<ビルド数>
}}}
ではビルドが通らないので、
{{{
$ make PARALLELMFLAGS=-j<ビルド数>
}}}
とするといい

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には

  • インタプリタはmainという1つ引数をとる手続きを起動時に指定して呼び出す
  • main手続きは整数を返す
  • 整数以外を返そうとすると、sysexits.hに記述されてるEX_SOFTWARE(70)を返す

と定義されてるから、

行番号表示/非表示切替
   1 (def (main args)
   2   実行したいS
   3   0)

とグローバル領域に記述しておけばいい。

Linux

glibcの並列ビルド

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

$ make -j<ビルド数>

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

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

とするといい

moba/tips (最終更新日時 2015-09-11 03:44:11 更新者 moba)