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

MMA
1と8のリビジョン間の差分 (その間の編集: 7回)
2015-05-23 00:16:17時点のリビジョン1
サイズ: 14
編集者: moba
コメント:
2015-07-25 13:03:45時点のリビジョン8
サイズ: 2250
編集者: moba
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
= TeX tips = = Tips =
備忘録的な
<<TableOfContents()>>
== TeX ==
=== XeLaTeXで禁則処理 ===
XeLaTeXで日本語をそのまま埋め込もうとすると禁則処理や行分割が適切になされないままになってしまう。従って、XeLaTeXで適切に日本語を埋め込みたいときは、こちらで上手いことXeLaTeXに日本語を表示してもらえるように指示をしてやらなけらばならい。実はXeLaTeXにはそれを実現するための機能がすでに備わっている。以下の命令をプリアンブルで指定することでXeLaTeXでも日本語が適切に表示されるようになる。
{{{#!highlight latex
\XeTeXlinebreaklocale "ja"↲
\XeTeXlinebreakskip=0em plus 0.1em minus 0.01em↲
\XeTeXlinebreakpenalty=0↲
\def\<{\@ifstar{\zx@hwback\nobreak}{\zx@hwback\relax}}↲
\def\zx@hwback#1{\leavemode#1\hskip-.5em\relax}
}}}
=== XeLaTeXにUnicodeのコードポイントを埋め込む ===
''\symbol''命令でUnicodeコードポイントを指定することができる。
{{{#!highlight latex
\symbol{"003B} %16進数
\symbol{59} %10進数
\symbol{'73} %8進数
}}}

== 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)を返す

と定義されてるから、Schemeにおけるmain関数は実質
{{{#!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)を返す

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

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

とする

Linux

glibcの並列ビルド

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

$ make -j<ビルド数>

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

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

とするといい

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