Notion-MW
タグ: 差し戻し済み
Notion-MW
タグ: 差し戻し済み
42行目: 42行目:
参考文献には出版年を書く必要があり、BibTeXではyearというフィールドに書かれる。このデータはZoteroの文献情報のdateのところから取得されており、「April 22, 2011」「2011-04-22」のようなdateのデータからは正しく「2011」だけを抽出してくれるが、dateが前述の「4月 22 , 2011」のような書式になっていた場合はうまくいかず、この文字列全てがBibTeX(.bib)に出力されてしまう(報告済み: [https://github.com/retorquere/zotero-better-bibtex/issues/2449 [Bug]: Japanese date format is not parsed correctly · Issue #2449 · retorquere/zotero-better-bibtex]、6.7.61あたりで修正済み)。←の通り、Better BibTeXのエクスポート時に適用されるscript(Export → postscript)のところにデータを置換するための以下のようなコードを書いておくとよい。
参考文献には出版年を書く必要があり、BibTeXではyearというフィールドに書かれる。このデータはZoteroの文献情報のdateのところから取得されており、「April 22, 2011」「2011-04-22」のようなdateのデータからは正しく「2011」だけを抽出してくれるが、dateが前述の「4月 22 , 2011」のような書式になっていた場合はうまくいかず、この文字列全てがBibTeX(.bib)に出力されてしまう(報告済み: [https://github.com/retorquere/zotero-better-bibtex/issues/2449 [Bug]: Japanese date format is not parsed correctly · Issue #2449 · retorquere/zotero-better-bibtex]、6.7.61あたりで修正済み)。←の通り、Better BibTeXのエクスポート時に適用されるscript(Export → postscript)のところにデータを置換するための以下のようなコードを書いておくとよい。


<pre class="visual">if (tex.has.year) {
<syntaxhighlight lang="python">
 
vb.net
if (tex.has.year) {
tex.add({name: 'year', replace: true, value: tex.has.year.value.replace(/.* /, '')})
tex.add({name: 'year', replace: true, value: tex.has.year.value.replace(/.* /, '')})
}</pre>
}</syntaxhighlight>
設定箇所はこんな感じ↓
設定箇所はこんな感じ↓


58行目: 61行目:
ZoteroはGUIのソフトであるが、コマンドラインからも一定の操作が可能である。具体的には、<code>zotero&#58;//</code>という形式のURL(URIスキーム)を以下のように指定してZoteroを起動することができる(既に起動していた場合は、画面に変化が起こる)。
ZoteroはGUIのソフトであるが、コマンドラインからも一定の操作が可能である。具体的には、<code>zotero&#58;//</code>という形式のURL(URIスキーム)を以下のように指定してZoteroを起動することができる(既に起動していた場合は、画面に変化が起こる)。


<syntaxhighlight lang="zotero.exe -url "zotero://url/here"</syntaxhighlight>">URLについては、明確にAPIとして仕様が定められたものではなさそうで、全体的にあまりドキュメントは充実していない。
<syntaxhighlight lang="python">
 
python
zotero.exe -url "zotero://url/here"</syntaxhighlight>
URLについては、明確にAPIとして仕様が定められたものではなさそうで、全体的にあまりドキュメントは充実していない。


一例として、特定のコレクション内のアイテムが選択された状態にするということができる。コメントが不親切でわかりづらいが [https://github.com/zotero/zotero/blob/master/components/zotero-protocol-handler.js zotero/zotero&#45;protocol&#45;handler.js at master · zotero/zotero] の<code>scopeObject</code>などと書いてあるあたりをよく読むと、<code>zotero&#58;//select/library/collections/&#123;collection_key&#125;/items/&#123;item_key&#125;</code>という形式で指定すればよいことがわかる(groupIDなどと書いてある部分もあって紛らわしいが、groupというのはcollectionとは別の概念で、複数ユーザー間での共有のライブラリのようなものを指すようである)。<code>collection_key</code>と<code>item_key</code>はどちらも<code>1A2B3C4D</code>のような英数字による8文字の識別子である。ちなみにcollectionとitemにはそれぞれ<strong>ID</strong>も割り当てられているがこちらは1~3桁くらいの数字でありkeyとは別なので注意。
一例として、特定のコレクション内のアイテムが選択された状態にするということができる。コメントが不親切でわかりづらいが [https://github.com/zotero/zotero/blob/master/components/zotero-protocol-handler.js zotero/zotero&#45;protocol&#45;handler.js at master · zotero/zotero] の<code>scopeObject</code>などと書いてあるあたりをよく読むと、<code>zotero&#58;//select/library/collections/&#123;collection_key&#125;/items/&#123;item_key&#125;</code>という形式で指定すればよいことがわかる(groupIDなどと書いてある部分もあって紛らわしいが、groupというのはcollectionとは別の概念で、複数ユーザー間での共有のライブラリのようなものを指すようである)。<code>collection_key</code>と<code>item_key</code>はどちらも<code>1A2B3C4D</code>のような英数字による8文字の識別子である。ちなみにcollectionとitemにはそれぞれ<strong>ID</strong>も割り当てられているがこちらは1~3桁くらいの数字でありkeyとは別なので注意。
73行目: 80行目:
コード例&#58;
コード例&#58;


<syntaxhighlight style="margin-bottom:0.2em;" lang="python">import sqlite3
<syntaxhighlight style="margin-bottom:0.2em;" lang="python">python
import sqlite3
import sys
import sys
import json
import json
104行目: 112行目:
上記コードは以下のように起動できる。
上記コードは以下のように起動できる。


<syntaxhighlight lang="c#">python "path\to\zoto.py" "%USERPROFILE%\Zotero\better-bibtex.sqlite" "%USERPROFILE%\Zotero\zotero.sqlite" %1</syntaxhighlight>
<syntaxhighlight lang="python">
 
c#
python "path\to\zoto.py" "%USERPROFILE%\Zotero\better-bibtex.sqlite" "%USERPROFILE%\Zotero\zotero.sqlite" %1</syntaxhighlight>
* [[Windowsのクリップボードを用いた選択コンテンツの取得|Windowsのクリップボードを用いた選択コンテンツの取得]]と組み合わせれば、選択文字列をCitation keyとするアイテムを一発で開くことも可能。
* [[Windowsのクリップボードを用いた選択コンテンツの取得|Windowsのクリップボードを用いた選択コンテンツの取得]]と組み合わせれば、選択文字列をCitation keyとするアイテムを一発で開くことも可能。