PukiWikiに関するメモ



WikiName

大文字小文字を混ぜた英文字列をWikiNameと呼び,PukiWiki内で使うと自動でリンクが張られる(文字の後ろに"?"がつく).これを防ぎたい場合は, pukiwiki.ini.phpで,

$nowikiname = 1;

とすればよい. ちなみに,[[]]で囲って作ったリンクはBracketNameと呼ばれる.

文献参照

論文のように文献参照を行いたい場合に用いるプラグインnote.inc.phpを用いる.

初めて出る文献は,

&note{キーワード:文献情報};

で文献登録+参照.
一度出たものを参照する場合は,

&note{キーワード};

設定は :config/plugin/note という名前のページを新規でつくってそこに記述する.

*Note-Config
**Index-Format
--3
**Footer-Format
--3
**Footer-Align
--normal 
**Bind-Note-No
--bind

上付,下付文字

ユーザ定義として追加する. default.ini.php内のユーザ定義ルールに

	"SUP{([^}]*)};" => '<span style="font-size:75%;vertical-align:super">$1</span>',
	"SUB{([^}]*)};" => '<span style="font-size:75%;vertical-align:sub">$1</span>',

を追加.以下は記述例.

xSUP{n};
xSUB{i};
xSUB{i};SUP{n};

上からxSUP{n};,xSUB{i};,xSUB{i};SUP{n};.

複数の添付ファイルを一度にアップロード

attachとrefプラグインを改造する.以下参照.

スキン編集

skin/pukiwiki.css.php
skin/pukiwiki.skin.php

を編集.

  • タイトル部 : div#header
  • タイトル下のメニュー : div#navigator
  • 左のメニュー : div#menubar

codeプラグイン

#code(C){{
 コード
}}

と記述するとプログラムコードをキーワードハイライトして表示する.

ダウンロードは以下より.

下記の<>が消えるバグを含めて修正された版は以下.

カスタマイズなど.

  • codeのフォント変更など : skin/code.cssを編集.以下は例.
    pre.code {
    	font-family:"Lucida Sans Typewriter", arial;
    	background: #F0F8FF;
    	・・・
    }
  • C/C++で<>が消えるバグ : plugin/code/codehighlight.phpの1204行目
    $result = isset($spaceHash[$code]) ? $htmlHash[$code] : '';
    を以下に修正.
    $result = isset($htmlHash[$code]) ? $htmlHash[$code] : '';

他のページを埋め込む

#include(ページ名,notitle)

notitleを外すとページ名が表示される

  • includeプラグイン設定 : plugin/include.inc.phpを編集
    • PLUGIN_INCLUDE_MAX : 1ページでインクルードできる最大数
    • PLUGIN_INCLUDE_WITH_TITLE : title,notitleを指定しなかったときのデフォルト値,TRUEでtitle, FALSEでnotitle
    • title指定時のタイトルの文字の大きさなど : include.inc.phpの115行目あたりを編集.
      例) 小さいフォントで右寄せ
      $body = '<div align="right"><small>' . $link . '</small></div>'. $body . "\n";

表環境で図をキャプション付きで並べる

|&ref(fig1.jpg);|&ref(fig2.jpg);|
|>|CENTER:図1 左は〜,右は〜.|

添付画像の参照

  • 書式
    #ref(ファイル名|ページ名/ファイル名|URL ,[[ページ名]],パラメータ,タイトル)
    &ref(ファイル名|ページ名/ファイル名|URL ,[[ページ名]],パラメータ,タイトル);
    
  • パラメータ
    • スケール : 50%や100x100など
    • left|center|right : 表示位置(default:left)
    • wrap|nowrap : 枠で囲むかどうか(default:nowrap)
    • around : テキストの回り込み
    • noimg : 画像を展開しない
    • nolink : ファイルへのリンクを張らない
    • zoom : 縦横比保持
  • #ref(ファイル名,,50%)
    #ref(ファイル名,nolink,70%)
    #ref(ページ名/ファイル名,640x480,タイトル)
    #ref(ファイル名,[[ページ名]],nolink,100x100,タイトル
    ページ名,および,スケール以外のパラメータを指定しない場合は,スケール値がページ名かどうか曖昧になるので,一番上の例のような書き方をする.

PukiWikiのバックアップ

dumpプラグインを用いる. WikiのURLに?cmd=dumpを付けると管理画面を開けるので,そこからバックアップできる.
http://www.slis.tsukuba.ac.jp/~fujis/cgi-bin/wiki/index.php?cmd=dump
など.

pukiwikiでMD5の計算

http://www.slis.tsukuba.ac.jp/~fujis/cgi-bin/wiki/index.php?cmd=md5

TeXからPukiWikiへの変換

数式を含むTeX文書からPukiWikiにローカルで変換する方法. サーバー上でTeXが使えるならば,

などが使えるが,TeXがない+自分で管理しているサーバでない場合用に, ローカル上で作成したTeX文書を変換して数式画像とPukiWikiフォーマットに変更された文書を生成する方法を記述する.

全体の流れ

  1. TeXで文書を生成(例えば,test.tex)し,それがTeXを通ることを確かめておく.
  2. rx_tex2wikiで数式用TeXとPukiWiki用テキストを抽出する(test.eq.texとtest.wiki.txt).
  3. test.eq.texをTeXに通して,dviファイル生成.
  4. dvipngでdviファイルをgif画像に変換する.
  5. PukiWikiで新規ページを作って,test.wiki.txtの内容をコピー, 4で生成した画像ファイルを添付する.

2,4については以下参照.

数式用TeXとPukiWiki用テキストの抽出

TeXの数式はインライン要素(文章中で"$"に囲まれた部分)とブロック要素の2種類がある. ブロック要素は例えば,

\begin{equation}
  〜
\end{equation}

のように囲まれた領域である.

手動でやる場合は,これらの数式環境を抽出して,下で紹介する方法で画像化,当該部分を

#ref(equation.gif,,100%)

のように変更すればよい. ただ,長いTeXだととても面倒なので,ある程度自動化するプログラム(rx_tex2wiki)を実装した. rx_tex2wikiのダウンロードは以下.

  • 変更履歴
    • v1.07 : quote環境を引用">"で置き換える機能追加,同じインライン数式が同じ行にあったときのバグ修正
    • v1.05 : verbatim環境に対応,改行記号を変換するように変更,複数ファイルのD&Dに対応
    • v1.03 : "\["の後にスペースなどがあっても認識するように変更
    • v1.02 : パラメータ指定を追加・変更
    • v1.0 : とりあえずひととおりの機能を作ったバージョン
  • rx_tex2wikiの使い方
    ダウンロードしたzipファイルを解凍すると,rx_tex2wiki.exeというファイルのみが入っている. これに*.texファイルをD&Dするだけ. D&D後,*.texファイルと同じフォルダに,*.wiki.txtと*.eq.texが作成される. それぞれ,
    • *.wiki.txt : いくつかのTeXの命令をPukiWikiのフォーマットに変更したもの.基本的にはdocument環境内のみを対象としている.数式の画像名は連番が自動的につけられ,その順番は*.eq.texでの記述順と対応している.
    • *.eq.tex : 数式のみ取り出した数式画像生成用TeXファイル.下記の方法で画像化すれば,*.wiki.txt内のrefに指定された画像名と対応するものを生成できる.ただし,dviファイルは手動で生成する必要あり.
  • 変換表 : 対応する命令
    TeX命令名・環境名TeXの例対応するPukiWikiフォーマット備考
    数式環境(インライン)$数式$&ref(*.eq*.gif,パラメータ,スケール,タイトル);このPukiWikiの設定だと解像度150で70%ぐらいがちょうどいい.
    画像タイプとスケールの設定は下参照
    数式環境(ブロック)\[
     数式
    \]
    #ref(*.eq*.gif,パラメータ,スケール,タイトル)
    equation環境\begin{equation}
     数式
    \end{equation}
    #ref(*.eq*.gif,パラメータ,スケール,タイトル)数式番号なし版(equation*)でも可
    section環境\section{セクション名}*セクション名
    subsection環境\subsection{セクション名}**セクション名
    subsubsection環境\subsubsection{セクション名}***セクション名
    paragraph環境\paragraph{セクション名}-セクション名
    enumerate環境\begin{enumerate}
     \item〜
    \end{enumerate}
    +〜各\itemが連番になる
    itemize環境\begin{itemize}
     \item〜
    \end{itemize}
    -〜各\itemが箇条書きになる
    figure環境\begin{figure}
     \includegraphics[〜]{画像ファイル名}&br \caption{キャプション}
    \end{figure}
    | &ref(*.eq*.gif,,100%); |
    |CENTER:キャプション|
    tabular環境などを使って画像を複数指定していても最後の1つのみ対応
    キャプション無しの場合は単純に#ref(*.eq*.gif,,100%)
    verbatim環境\begin{verbatim}

    \end{verbatim}
    #code(C){{〜}}私がverbatim環境を基本的にCのコードを載せるために使っているので,C,C++用のpukiwiki環境で囲むようにしている

数式の重複チェックはしているので,同じ数式画像が出力されることはないはず.ただし,厳密に同じである必要がある(例えば,x^nとx^{n},xyとx yなどは違うものとして認識する).

  • 設定
    元のTeXファイルのプリアンブルに"%%TEX2WIKI"で始まる行を書くことで,変換のプロパティを設定できる. 設定できる項目は以下.
    • 画像のスケール(パーセント,ピクセル数)
      %%TEX2WIKI_EQUATION_SCALE=70%
      %%TEX2WIKI_EQUATION_SCALE=100x100
    • 画像のタイプ(拡張子で指定)
      %%TEX2WIKI_EQUATION_TYPE=gif
    • 参照パラメータ(nolink,around,centerなど)
      %%TEX2WIKI_EQUATION_PARAMETER=nolink,zoom
    • 画像のタイトル
      %%TEX2WIKI_EQUATION_TITLE=title

パラメータを指定しなかった場合は,#ref(*.eq*.gif,,70%) となる.

dvipngを使った数式の画像化

dvipngを使うことで,dviファイルから画像を生成する.複数ページのdviファイルはそれぞれのページごとに画像化され,連番付のファイルとして保存される.上記の*.eq.texでは1つのページに1つの数式のみとなるようにしてあるので,これをTeXに通して,dviを生成,*.eq.dviをdvipngに通すことで,PNGかGIFファイルを生成できる.数式にフルカラーは必要ないので,ここではGIFを生成する.GIFを生成するためのコマンドは以下.

dvipng %1 -T tight -D 150 -bd 1000 --freetype1 -Q 5 --gamma 1.1 --gif

%1にdviファイル名を指定する.各オプションの意味は,コマンドラインで単純に

dvipng

とすれば出てくる.上記のコマンドではできる限り空白を削除,解像度150,背景色白,FreeTypeフォント使用,アンチエリアシング精度5,ガンマ補正1.1,GIF出力を設定している. 複数ファイルのD&Dに対応したバッチファイルを以下に置く.

数値参照文字

例えば,表組の中で | を書きたくても書けない場合などに利用する.

書式
 &#10進数;
 &#x16進数;
文字 - 書き方
   - &#x20;
 ! - &#x21;
 " - &#x22;
 # - &#x23;
 $ - &#x24;
 % - &#x25;
 & - &#x26;
 ' - &#x27;
 ( - &#x28;
 ) - &#x29;
 * - &#x2a;
 + - &#x2b;
 , - &#x2c;
 - - &#x2d;
 . - &#x2e;
 / - &#x2f;
 0 - &#x30;
 1 - &#x31;
 2 - &#x32;
 3 - &#x33;
 4 - &#x34;
 5 - &#x35;
 6 - &#x36;
 7 - &#x37;
 8 - &#x38;
 9 - &#x39;
 : - &#x3a;
 ; - &#x3b;
 < - &#x3c;
 = - &#x3d;
 > - &#x3e;
 ? - &#x3f;
 @ - &#x40;
 A - &#x41;
 B - &#x42;
 C - &#x43;
 D - &#x44;
 E - &#x45;
 F - &#x46;
 G - &#x47;
 H - &#x48;
 I - &#x49;
 J - &#x4a;
 K - &#x4b;
 L - &#x4c;
 M - &#x4d;
 N - &#x4e;
 O - &#x4f;
 P - &#x50;
 Q - &#x51;
 R - &#x52;
 S - &#x53;
 T - &#x54;
 U - &#x55;
 V - &#x56;
 W - &#x57;
 X - &#x58;
 Y - &#x59;
 Z - &#x5a;
 [ - &#x5b;
 \ - &#x5c;
 ] - &#x5d;
 ^ - &#x5e;
 _ - &#x5f;
 ` - &#x60;
 a - &#x61;
 b - &#x62;
 c - &#x63;
 d - &#x64;
 e - &#x65;
 f - &#x66;
 g - &#x67;
 h - &#x68;
 i - &#x69;
 j - &#x6a;
 k - &#x6b;
 l - &#x6c;
 m - &#x6d;
 n - &#x6e;
 o - &#x6f;
 p - &#x70;
 q - &#x71;
 r - &#x72;
 s - &#x73;
 t - &#x74;
 u - &#x75;
 v - &#x76;
 w - &#x77;
 x - &#x78;
 y - &#x79;
 z - &#x7a;
 { - &#x7b;
 | - &#x7c;
 } - &#x7d;
 ~ - &#x7e;
 > - &#x203e;

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-12-05 (月) 15:26:08 (3133d)