**文献引用表記プラグイン [#vc5c53d1] |RIGHT:70|LEFT:410|c |~バージョン|1.4| |~投稿者|[[merlin]]| |~状態|完了| |~投稿日|&new{2003-06-27 (FRI) 17:18:44};| ***メッセージ [#n8d041b9] 注釈の発展形となると考えられるが、論文の引用文献(Reference) を 表記できる インラインプラグインが欲しい。 %%要件%% %%-- 文中表記%% %%~(1,(2 の形で 文字大きさは 70%。上付き%% %%-- 文中表記をクリックすると下部の論文リストの所へ飛ぶ%% %%-- 論文リストの番号表記 %% %%~ (1) ,(2) で 文字大きさは変わらない(100%)%% %%~'''ここまでならほぼ注釈といっしょなのだが'''%% %%-- 複数の箇所に同一の論文へのリンクが置きたい。%% -現在は、[[自作プラグイン/note.inc.php]]に移動しています。 以下、過去ログ %%要件%%&br; %%-- 文中表記%%&br; %%~(1,(2 の形で 文字大きさは 70%。上付き%%&br; %%-- 文中表記をクリックすると下部の論文リストの所へ飛ぶ%%&br; %%-- 論文リストの番号表記 %%&br; %%~ (1) ,(2) で 文字大きさは変わらない(100%)%%&br; %%~'''ここまでならほぼ注釈といっしょなのだが'''%%&br; %%-- 複数の箇所に同一の論文へのリンクが置きたい。%%&br; %%どういう風な仕様にするのがいいか迷ってます。%% ~仕様((考え直して見ました。)) ~検討方法 +1ページ内での実装で考える。(ページ横断的なものば別途考える) +注釈の発展形として考える。 +脚注の上付き/標準を考える ~SYNOPSIS &nt( keyword : 注釈文 ) or (( keyword : 注釈文 )) &nt( 注釈文 ) or (( 注釈文 )) &nt( keyword:) or ((keyword:)) ~FUNCTION -keywordのみ書かれた場合は、同一のキーワードを持つ注釈文を用いる。 -configにより脚注およびそこへのリンク((なんというんでしたっけ))の表記を変えられるようにする。 -番号は、pukiwiki側で上から自動でつける。脚注側は ~ ((1番目のリファレンスポイント)) ((2番目のリファレンスポイント)) ((3番目のリファレンスポイント)) 注釈 という形になる。 ~CONFIG ~./:config/plugin/note に 表記モードを記述 ((そのページだけの設定ってここでいいのかな?)) , 項目 , 値 , index(文中表記) , type , footer(注釈側表記) , type , footer align , up/normal ~type値は以下を用いる。 , type , 表記 , TYPE0, *番号 , TYPE1, (番号 , TYPE2, 番号) , TYPE3, (番号) , TYPE4, 番号 こんな感じでどうでしょう? ***コメント [#o4ee3270] -[[upk]] &new{2003-06-29 (SUN) 04:12:00}; ~ある意味、InterWikiName 的な定義じゃないんですかね? というと、Bibliography とか BIB とか?と決めうちしたページを1つ作って、そこで管理する。とか、それをユーザ毎に機能させたいなら、階層を持たせるとか?で、定義は、config.php での実装ってところです。config.php だと :config 決めうちなので、pconfig.php を改造するか? config.php を改造してもらうか?ってところでしょうかね? --[[merlin]] &new{2003-06-29 (SUN) 05:04:53}; ~1つのページに何かを記述した場合、参考となる文献やURLを引用するわけですが同じページに何か所か同じ 文献へのリンクが設置されるわけです。自分の文献とか有名なものは、共通することもあるので 、InterWikiName的になるわけですが、それ以外の物はそのページからだけ 引用されます。そのページを他の方が参照される場合には、同一ページに文献リストもある方が印刷したりするときには便利みたいです。確かに、それらが、他のページでも使えたら便利かも知れませんが、そこまでいるかどうかというところですね。 --[[merlin]] &new{2003-06-29 (SUN) 05:14:53}; ~PHPマニュアルみたいなものとか本に近いもののように大きいものだと、文献リストだけ別ページにした方がいいですね。 -[[upk]] &new{2003-06-29 (SUN) 04:12:52}; ~文献リストの番号は、1ページ内で1からの連番が良いんですよね? --[[merlin]] &new{2003-06-29 (SUN) 05:10:53}; ~ページごとに1からの連番だと内容が連続しているがページを別けたい場合に分かりにくくなりますが、それでもいいと思います。 ---仕様を整理しておいた方が、誰かが着手した際によかれと思ったんですけどね。逆に、私が聞いた内容だと、実装が厳しいレベルのものなので、それでもというのであれば、じゃないほうが楽だと思います。なので、こんなイメージ。と明示されたほうが、良いと思います。-- [[upk]] &new{2003-06-29 (SUN) 19:39:57}; ---[[merlin]] &new{2003-06-29 (SUN) 20:15:53}; ~そうですね、実装も考えてアウトプットイメージを明確にしてみます。 -[[reimy]] &new{2003-06-30 (MON) 05:06:36}; ~「複数の箇所に同一の論文へのリンクが置きたい」…注釈でも同様の要望が出てますね。[[dev:BugTrack/99]] -[[にぶんのに]] &new{2003-07-09 (WED) 02:11:17}; ~ちょいと作ってみたのですが、どんな感じでしょうか?&ref(note.inc.php.1); :config/plugin/note は以下の様な感じで ~ちょいと作ってみたのですが、どんな感じでしょうか? note.inc.php.1 :config/plugin/note は以下の様な感じで *Note-Config **Index-Format --0 **Footer-Format --0 **Footer-Align --0 ~以下、作っていて気になった個所です。意見求む --プラグイン名を&ntではなく¬eとしています。 --- NP(No Probem) : 問題無いと思います -- [[merlin]] --脚注の脚注を指定すると順序が逆になります --- NP --[[merlin]] --脚注の項番はpukiwiki本体の脚注とは別に付番されます --- その方が、混在させられるので現状では良い選択だと思います。-- [[merlin]] --keywordのみの脚注が存在し、対応する注釈が存在しないとき飛び先のないリンクができます --- 空の脚注を作る方法もありますが こちらの方がよさそうですね -- [[merlin]] --同じkeywordで複数の注釈が指定されたときは先に指定した方が有効となります --- 後に指定した物が有効となっているようです -- [[merlin]] --- ありゃ!?…ボケてました (^^; -- [[にぶんのに]]&new(2003-07-10 (THU) 00:32:09); --- ありゃ!?…ボケてました (^^; -- [[にぶんのに]] &new{2003-07-10 (THU) 00:32:09}; --複数の個所から参照されている注釈側の数字のリンクをクリックすると、一番最初に宣言されたkeywordに戻る(ブラウザ依存か?) --- 現状での仕様になるのかと思います。文中リンクを連番にして、脚注側の文中へのリンクにその数字を並べるという選択もありますが これは難しいのでしょうか? どっちがいいのかなぁ? -- [[merlin]] ---やってみます -- [[にぶんのに]]&new(2003-07-10 (THU) 00:32:09); ---仕様的には、人によっては今の方がいいという人もいるかと思います。したがって選択できるとベストでしょうけど.. どっちがいいのかなぁ? --[[merlin]]&new(2003-07-10 (THU) 01:15:20); ---やってみます -- [[にぶんのに]] &new{2003-07-10 (THU) 00:32:09}; ---仕様的には、人によっては今の方がいいという人もいるかと思います。したがって選択できるとベストでしょうけど.. どっちがいいのかなぁ? -- [[merlin]] &new{2003-07-10 (THU) 01:15:20}; --フッタ部への注釈出力がPukiWiki本体の処理方式に依存するため将来的に動かなくなる可能性アリ --- 注釈との 統合も将来的には考えていけばいいので NPだと思います。-- [[merlin]] --footer alignの指定がup/normal ではなく数値(1/0)指定 (手抜き) --- NP -- [[merlin]] -[[merlin]] &new{2003-07-09 (WED) 12:05:01}; ~ありがとうございます。 ちょっと 違うけど これでも十分ですね。 ~気がついた点 --BUG? ---1:動作しません。 $ diff -uN note.inc.php.1 note.inc.php --- note.inc.php.1 2003-07-09 10:05:36.000000000 +0900 +++ note.inc.php 2003-07-09 10:56:26.000000000 +0900 @@ -14,7 +14,7 @@ static $note_body_exists = array(); // 注釈が存在するか //パラメータの解釈 - if (func_num_args() != 1) + if (func_num_args() != 2) return FALSE; list($argstrs)=func_get_args(); if (preg_match("/^([a-zA-Z0-9]*):*(.*)$/",$argstrs,$argstr)==0) 改訂版 &ref(note.inc.php.2); ---説明不足でした。()内ではなく{}内に指定していただけますか?AutoLinkや他のインラインプラグインが使えて便利なので、勝手に表記を変えてました、…駄目でしょうか? -- [[にぶんのに]]&new(2003-07-10 (THU) 00:32:09); 改訂版 note.inc.php.2 ---説明不足でした。()内ではなく{}内に指定していただけますか?AutoLinkや他のインラインプラグインが使えて便利なので、勝手に表記を変えてました、…駄目でしょうか? -- [[にぶんのに]]&new{2003-07-10 (THU) 00:32:09}; ¬e{RedColor:&color(RED){ヘルプへのAutoLinkや[[BracketName]]};}; ¬e{:脚注への脚注¬e{:脚注その2};}; ¬e{Note:((PukiWikiの脚注とクロス))}; ---了解しました。NPです。--[[merlin]]&new(2003-07-10 (THU) 01:15:20); ---了解しました。NPです。-- [[merlin]] &new{2003-07-10 (THU) 01:15:20}; ---2:Keywordに日本語はつかえません。(当面の仕様か?) ---半角英数字が使えれば十分かなと思っていたので、そう作ってしまいました。日本語使える様にしてみます -- [[にぶんのに]]&new(2003-07-10 (THU) 00:32:09); ---keyword ですから 半角英数字だけでもいいかと思います。(ただ、英語にがてって人もいるのでどうなのかなぁ?) 優先順位 低い です。 --[[merlin]]&new(2003-07-10 (THU) 01:15:20); ---半角英数字が使えれば十分かなと思っていたので、そう作ってしまいました。日本語使える様にしてみます -- [[にぶんのに]]&new{2003-07-10 (THU) 00:32:09}; ---keyword ですから 半角英数字だけでもいいかと思います。(ただ、英語にがてって人もいるのでどうなのかなぁ?) 優先順位 低い です。 -- [[merlin]] &new{2003-07-10 (THU) 01:15:20}; -[[merlin]] &new{2003-07-09 (WED) 12:52:32}; ~数日テストしてみて大丈夫だったら 自作プラグインの方へ登録すればよろしいでしょうか? --[[reimy]] &new{2003-07-09 (WED) 15:37:54}; ~汎用性のあるプラグインなので、ぜひ[[自作プラグイン]]への掲載を。 --[[merlin]] &new{2003-07-09 (WED) 18:36:39}; ~[[ドキュメント案>http://tec-tech.org/?%3Atemp%2FPlugin_note]]を作ってみました。むっちゃ冗長なのと訳がまだですが... ~[[ドキュメント案>merlin::temp/Plugin_note]]を作ってみました。むっちゃ冗長なのと訳がまだですが... -[[merlin]] &new{2003-07-09 (WED) 22:54:48}; ~コメントに","(カンマ) が使えないようです。他の文字は確認しました。 --[[merlin]] &new{2003-07-10 (THU) 01:37:23}; ~{ ならば問題無いようです。 -[[merlin]] &new{2003-07-10 (THU) 01:59:09}; ~ ¬e{日本語}; だと 注釈と同じ動作のようですが、¬e{English is}; だと isだけがコメントとして使われているようです。この用法をどうするかですね。 -[[にぶんのに]] &new{2003-07-10 (THU) 03:11:48}; ~改定版&ref(note.inc.php.3);を作成しました。変更点は以下。 ~改定版 note.inc.php.3 を作成しました。変更点は以下。 --手抜き処理していたFooter-Alignを本来の仕様どおりup/normalでの指定に変更しました :config/plugin/note の変更が必要です --キーワードが英数字のみでなく:}以外全て可としました。 ---これに伴い、キーワードに前後トリミング、注釈に後トリミングを掛けるようにしました ---¬e{日本語};、¬e{English is}; ともキーワードのみ指定されていると認識される、筈 ---ページ名(AutoLink)やBracketName,WikiNameをキーワードにするとページ参照のリンク変換で怪しげな脚注に化けるという微妙な問題が… X( キーワードの制約緩めすぎなのでしょうか… --複数の個所から参照されている注釈について、数字をひとまとめにしないようにしました ---うーん実際見てみると便利な様な、そうでないような。ちと早まったかな?(笑) ---[[merlin]] &new{2003-07-10 (THU) 11:58:07}; ~脚注側で番号間に半角1個入れられませんか? ちょっと長いページだとこれも結構便利なんですが、前のやつと選択出来る方がいいのかなぁ(というか別プラグインでもいいのかな? note1 と note2とか別にしたりして,今はそうして入れてあるけど 同時には使ってませんが) ---[[にぶんのに]] &new{2003-07-11 (FRI) 00:40:58}; ~選択できるようにしてみます。その場合、:config で設定するのではなくページ毎に選択できないとダメですよね? -[[にぶんのに]] &new{2003-07-12 (SAT) 22:36:39}; ~改訂版&ref(note.inc.php.4);を作成しました。変更点は以下。 ~改訂版 note.inc.php.4 を作成しました。変更点は以下。 --脚注毎に番号を振った場合に見やすくなるように番号間に半角空白を1つ入れました --初期設定用の記述フォーマット追加 ---&note が呼び出される前のみ以下の記述で脚注の振り方の初期設定ができます。 ¬e([bind|loose], [count-no]); 例) ¬e(bind, 10); ---bind 同一keywordの脚注を一つの番号にまとめます ---loose 同一keywordの脚注でもそれぞれ番号に振ります ---count-no 脚注の番号の開始位置を指定します -悩んでいる事。できれば意見下さい --ページ毎に¬e(bind);とか書き込む事を考えると、やっぱり:configで一括設定出来た方が良いのかも --[[dev:BugTrack/420]]に対応したものかどうか。問題は&note{hoge:};&note{hoge:hogeの脚注};の順番で指定されたときに&note{hoge:};の方にはツールチップが出ないこと -[[merlin]] &new{2003-07-12 (SAT) 23:08:03}; ~試してみました いい感じですね。 --設定に関すること。&br; デフォルト値が設定できれば今のままでもいいかとおもいます。私の考える理想は、:config が デフォルトの設定値で それぞれのシートの下の ./:config (例えばTestSheetならTestSheet/:config)が そのシート用の設定というやつ(できれば、上の階層のも継承されるようだともっといい。)なんですが、オーバーヘッドを考えるとううむぅ って感じです。 --[[dev:BugTrack/420]]ですが、例に上げられた場合は問題無い(Warningしておけば良い)と思いますが、いろいろな場合も考えた方がいいかなと思いますので、とりあえず実装してみてテストということではどうでしょう? --loose 側の動作がなんか 変な気がします。[[こちら>http://tec-tech.org/?cmd=read&page=%3Atest%2Fnote]] 参照 --loose 側の動作がなんか 変な気がします。[[こちら>merlin::temp/Plugin_note]] 参照 --[[merlin]] &new{2003-07-13 (SUN) 00:26:52}; ~count-no 値を1減算したほうが良さそうです。 -[[にぶんのに]] &new{2003-07-13 (SUN) 04:45:50}; ~改訂版&ref(note.inc.php.5,[[自作プラグイン/note.inc.php]]);を作成しました。変更点は以下。 --looseの駄目な感じの動作を直した…つもりです :) --count-no 値を1減算しました --[[dev:BugTrack/420]]に対応してみました --bindのデフォルト設定を:config/plugin/note に記述できるようにしました **Bind-Note-No --bind -[[merlin]] &new{2003-07-14 (MON) 19:16:26}; ~テストとか使ってみました。ばっちりです :) ツールチップ側はまだちょっとおかしな所もありますけど これで登録したらどうかと思いますが、いががでしょうか? --登録時にバージョンはどうしましょう? --使いかたなどを note.inc.php.2 みたいに ファイルに入れますか? --まだ完成してませんけど ドキュメントは [[ドキュメント案>http://tec-tech.org/?%3Atemp%2FPlugin_note]] のような感じでどうでしょう? --まだ完成してませんけど ドキュメントは [[ドキュメント案>merlin::temp/Plugin_note]] のような感じでどうでしょう? -[[にぶんのに]] &new{2003-07-15 (TUE) 03:09:59}; ~そうですね。そろそろ自作プラグインに移しましょう。本文はドキュメント案のものを使わせて下さい。ソースにバージョンや使い方の記述は特にこだわりがないため、単純に現状のまま(ver0.5 , ソース内の説明文なし)で考えています。 -[[merlin]] &new{2003-07-15 (TUE) 09:32:46}; ~了解しました。 移しました。[[自作プラグイン/note.inc.php]] #comment