LaTeXでの「参考文献」を最短で出力する方No.22348
Knotopologynn さん 07/01/14 15:35
 
秀丸エディタVer.6.03を使わせて頂いております.

LaTeXで「参考文献」をDVIOUTに出力するBibTeXを秀丸エディタから起動する方法は
ありますか?

LaTeXで「参考文献」をDVIOUTに出力する時には,自動的に4回コンパイルされます.
それは良いのですが,

文献データ(「.bib」ファイル)の内容を修正しても,普通は修正内容が
素早くDVIOUTに出力されないのです.

文献データ(「.bib」ファイル)の内容が素早く反映され,DVIOUTに出力される秀丸エ
ディタ上のソースファイル(LaTeXの)のコンパイル方法はありますか?

(1): ソースファイルから\cite{data}を取り除いても\cite{data}の内容がDVIOUTに
出力されっぱなしになる.(2回処理される)

(2): 文献データ(「.bib」ファイル)を修正した場合,修正して保存ただけでは,
ソースファイルのコンパイルを実行しても修正内容がDVIOUTに出力されない.(2回
処理される)

(3): 文献データ(「.bib」ファイル)を修正した場合,修正後の
内容をDVIOUTに出力するには,「.bbl」ファイルと「.blg」ファイルを
フォルダから削除したのち,
ソースファイルのコンパイルを実行しないと修正後の内容が出力されない.(4回処
理される)

(4): ソースファイルのコンパイル時に,故意にエラーさせ(例えば\begin{equatio
n}のみ消す)
再びソースファイルのコンパイルを正しく行えば,文献データ(「.bib」ファイル)の
修正内容がDVIOUTに反映される.(4回処理される)

上記(3),(4)のように,邪道で非能率的でない良い方法はありますか?
どなたか教えて下さい.宜しくお願いします.以下に
ソースファイルを抜粋します.

 \documentclass[a4paper,12pt]{jarticle}%
 \usepackage[T1]{fontenc}%
 \usepackage{amsmath,amssymb,amsfonts}%%
 \begin{document}%

あいうえお~\cite{abcd}かきくけこ.
さしすせそ~\cite{efgh}たちつてと.

\bibliographystyle{jplain}%
\bibliography{Books-deta,Articles-deta}%
 \end{document}%

上記(3),(4)の場合,秀丸エディタから直接BibTeXを作動させることは
出来るのでしょうか?

Windows上でlatexmkなるプログラムを使うと良いという情報を今現在
得ていますので,これを検討中です.

どなたか,LaTeXでの「参考文献」出力に詳しい方,教えて下さい.
よろしくおねがいします.因みに,OSはWindows XPでTeXは,
pTeX, Version 3.141592-p3.1.4 (sjis) (Web2C 7.5.3)です.

[ ]
RE:22348 LaTeXでの「参考文献」を最短でNo.22349
秀丸担当 さん 07/01/16 09:11
 

>LaTeXで「参考文献」をDVIOUTに出力するBibTeXを秀丸エディタから起動する方法は
>ありますか?

ということですが、TeXのことは私自身としてはよくわからないです。
単に別のEXEを起動するということでしたら、[その他]→[プログラム実行]より
実行できます。
開いているファイルのファイル名を指定することもできます。
マクロの場合はrun文を使います。

TeXについてはIranoanさんあたりが詳しそうな気もしますが。

[ ]
RE:22349 LaTeXでの「参考文献」を最短でNo.22350
Iranoan さん 07/01/16 09:58
 
 Knotopologynn さん今日は、Iranoan です。
 念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。

 幾つか誤解されている点がありそうですが、それは一先ずおくとして。
> LaTeXで「参考文献」をDVIOUTに出力する時には,自動的に4回コンパイルされます.
> それは良いのですが,
についてですが、LaTeX 単体+秀丸単体だけなら自動で複数回コンパイルする
事は有り得ません。おそらくマクロかツールを使っていらっしゃると思うので
すが、それは何でしょうか?

[ ]
RE:22350 LaTeXでの「参考文献」を最短でNo.22351
Knotopologynn さん 07/01/16 11:55
 
Iranoan さん.ご回答有り難う御座います.

> 幾つか誤解されている点がありそうですが、それは一先ずおくとして。
>> LaTeXで「参考文献」をDVIOUTに出力する時には,自動的に4回コンパイルされま
>す.
>> それは良いのですが,
>についてですが、LaTeX 単体+秀丸単体だけなら自動で複数回コンパイルする
>事は有り得ません。おそらくマクロかツールを使っていらっしゃると思うので
>すが、それは何でしょうか?

「マクロかツール」は特に使っていませんが,自動的に4回コンパイルされるのは,
LaTeX(TeX)そのものの機能です.
「参考文献」を出力する時には,BibTeX というプログラムが自動的に作動します.
しかし,「参考文献」を出力しない時は,自動的に2回のコンパイルでDVIOUTが完成
されます.
これも LaTeX(TeX)そのものの機能です.いま,LaTeXを使っている状況を少し詳しく
ご説明しましょう.つぎの通りです.

(1). 秀丸エディタで LaTeX のソースファイルを書きます.(下記参照)

 \documentclass[a4paper,12pt]{jarticle}%%  (a)
 \usepackage{amsmath,amssymb,amsfonts}%%   (b)
 \begin{document}%%                        (c)

あいうえお~\cite{abcd}かきくけこ.%%       (d)
さしすせそ~\cite{efgh}たちつてと.%%       (e)

\bibliographystyle{jplain}%%               (f)
\bibliography{Books-deta}%%                (g)
 \end{document}%%                          (h)

このソースファイルをファイル名「file-1.tex」でパソコン(Windows XP)の任意の
フォルダ(フォルダ名「F-1」)に保存しておきます.
フォルダ「F-1」にはファイル「Books-deta.bib」(文献データ)も保存されています.
文献データは,拡張子を「.bib」としなければなりません.

(2). 上記ファイル「file-1.tex」の(f)と(g)が「参考文献」を出力するための TeX
の命令です.
(d)と(e)の\cite{abcd}と\cite{efgh}は,この箇所に,[1],[2]などと出力されます.
「参考文献」は文書の後方に一括して出力されます.

(3). 「参考文献」を出力しない場合は,(f)と(g)を消して,かつ,\cite{***}も使
いません.

(4). 今,「latexmk」なるプログラムを調べているのですが,「YaTeX」の文字が沢
山でて来ます.
「latexmk」なるプログラムを秀丸エディタで使う方法はありますか?
私は8年ほど前から秀丸エディタを使っていて,他のエディタは使う気はありません.

以上,何か良い方法(参考文献を迅速に出力する)があれば教えて下さい.

[ ]
RE:22351 LaTeXでの「参考文献」を最短でNo.22352
Iranoan さん 07/01/16 12:54
 
 Knotopologynn さん今日は、Iranoan です。
> 「マクロかツール」は特に使っていませんが,自動的に4回コンパイルされるのは,
> LaTeX(TeX)そのものの機能です.
 だから、この認識が間違っているのですが...。素の TeX は CUI です。
シェル・スクリプトなり何なりを用意しなければ、ファイルの更新状態を調べ
て複数回コンパイルすることはありません。
 コンパイルをどの様に行っているか教えて頂けませんか?
 ##ひょっとすると、ファイルの更新日時などを調べるプリミティブがあるの
かもしれませんが、私は見たことがありません。

> いま,LaTeXを使っている状況を少し詳しく
> ご説明しましょう.
 少なくとも私にはこの様な説明はいりません。失礼ながら、投稿を読む限り、
TeX に関しては、Knotopologynn さんより私の方が詳しいです(^^)。TeX に詳
しい人なら、
> LaTeXで「参考文献」をDVIOUTに出力する

> (1): ソースファイルから\cite{data}を取り除いても\cite{data}の内容がDVIOUTに
> 出力されっぱなしになる.(2回処理される)
とは書かないので。

> 「YaTeX」の文字が沢
> 山でて来ます.
 これは本来 Emacs Lisp なので、秀丸では使えませんよね。HiTeX (飛鳥)
という名前で秀丸に移植されていますが、随分前に更新が止まっているので、
使えるかどうかは定かではありません。

> 「latexmk」なるプログラムを秀丸エディタで使う方法はありますか?
 単純に使うだけなら、
> 単に別のEXEを起動するということでしたら、[その他]→[プログラム実行]より
> 実行できます。
ということで出来ると思います。ただ latexmk は、単体のプログラムではな
く、Perl のスクリプトなので、まずその環境を整えないといけませんよ。

 P.S まず最初に書いておくべきでしたが、私の言う「マクロ」とは「秀丸の
マクロ」で「TeX のマクロ」ではありません。

[ ]
RE:22352 LaTeXでの「参考文献」を最短でNo.22353
Knotopologynn さん 07/01/16 15:01
 
Iranoan さん Knotopologynn です.

> だから、この認識が間違っているのですが...。素の TeX は CUI です。
>シェル・スクリプトなり何なりを用意しなければ、ファイルの更新状態を調べ
>て複数回コンパイルすることはありません。
> コンパイルをどの様に行っているか教えて頂けませんか?
> ##ひょっとすると、ファイルの更新日時などを調べるプリミティブがあるの
>かもしれませんが、私は見たことがありません。

「コンパイルをどの様に行っているか教えて頂けませんか?」
に対しては,どのように答えればいいでしょう?

コンパイルは winshellでなく guishell を使用しています.
あとは,普通にTeXを使用しているだけです.

> 少なくとも私にはこの様な説明はいりません。失礼ながら、投稿を読む限り、
>TeX に関しては、Knotopologynn さんより私の方が詳しいです(^^)。

>> 「latexmk」なるプログラムを秀丸エディタで使う方法はありますか?
> 単純に使うだけなら、
>> 単に別のEXEを起動するということでしたら、[その他]→[プログラム実行]より
>> 実行できます。
>ということで出来ると思います。ただ latexmk は、単体のプログラムではな
>く、Perl のスクリプトなので、まずその環境を整えないといけませんよ。
>
> P.S まず最初に書いておくべきでしたが、私の言う「マクロ」とは「秀丸の
>マクロ」で「TeX のマクロ」ではありません。

Perlは,私のパソコンの以下のような環境にあります.使ったことはありませんが.

c:/usr/local/bin/perlexec.exe
c:/usr/local/share/texmf/doc/misc/perlexec/perlexec.c, perlexec.txt, 等.

latexmk は以下の環境にあります.

c:/latexmk/LatexMK/latexmk.bat, latexmk.pl, 等.

Iranoan さんのOSは,Windows ですか? TeX で論文かリポートかを書いて,
「参考文献」を出力した経験がありましたら,お聞かせ下さい.

[ ]
RE:22351 LaTeXでの「参考文献」を最短でNo.22356
MKT さん 07/01/16 17:06
 
横から失礼します。MKTと申します。

>
> (3). 「参考文献」を出力しない場合は,(f)と(g)を消して,かつ,\cite{***}も
>使いません.
>

参考文献、参照番号の出力を抑制したいのであれば、

(b)と(c)の間に
\makeatletter
\def\@cite#1#2{ }
\makeatother

を挿入し、
(f),(g)を%でコメントアウトすればよろしいのでは?
文章中の \cite を削除する必要はないでしょう。

これ以上は秀丸ネタではないので、ご勘弁を。

[ ]
RE:22348 LaTeXでの「参考文献」を最短でNo.22357
MKT さん 07/01/16 17:24
 
横から失礼します。MKTと申します。

knotopolpgynn さんは BibTeXを使って文献リストを作り、それを参照したTeX文書を
作成してコンパイルしたdviファイルをDVIOUTで閲覧しようとしています。

ここでTeX文書をfile-1.tex, 文献データをBooks-data.bibとして、

手動(コマンドライン)でコンパイルをする場合には、
1.> latex file-1
  (file-1.tex を基に、file-1.auxという参照情報ファイルができます。)

2.> bibtex file-1
  (file-1.aux と Books-data.bib から file-1.bblという引用ファイルができま
す。)

3.> latex file-1
  (.bblファイルの内容を取り込みます。)

4.> latex file-1
  (文献の参照箇所と文献一覧の番号を照合して完成。(dviファイル))


となります。

※Books-data.bibファイルの内容を編集した場合には必ずこの4段階のコンパイルを
実行する必要があります。

winshell, guishell というTeX統合環境を使っている場合には、shellが相互関係を
解析して必要なコンパイル手順を自動実行するようになっています。

knotopolpgynn さんの書かれている(3),(4)は変な現象ですね。
.bblより新しい.bibファイルがあれば自動的に再コンパイルされるはずですから。
統合環境の設定を再度見直されてはいかがでしょうか?

秀丸上でBibTeXを扱うマクロはあるようですが、私は使ったことがありません。
なお、BibTeXは上述のように.bibファイルから.bblファイルを作るコマンドなので、
DVIOUTとの直接の絡みはありません。


[ ]
RE:22357 LaTeXでの「参考文献」を最短でNo.22358
Iranoan さん 07/01/16 19:18
 
 MKT さん今日は、Iranoan です。
> ※Books-data.bibファイルの内容を編集した場合には必ずこの4段階のコンパイルを
> 実行する必要があります。
 あれれ??? *.bib の変更だけなら、*.aux はあるはずなので、
> 1.> latex file-1
はいらないのでは?

[ ]
RE:22353 LaTeXでの「参考文献」を最短でNo.22359
Iranoan さん 07/01/16 19:18
 
 Knotopologynn さん今日は、Iranoan です。
> コンパイルは winshellでなく guishell を使用しています.
> あとは,普通にTeXを使用しているだけです.
 guishell というと、乙部さんの書かれた「pLaTeX2ε for Windows Another
Manual」に付属しているものですか? TeX は何処から入手したのですか? 何か
インストーラを使われたのでしょうか?
 WinSell が上がっているということは、奥村さんの書かれた「美文書作成入
門」かな?
 どちらにしても、内部では CUI の素の TeX を呼び出しているはずです。で
すから、私が「ツール」と書いたのは、ここでは guishell の事になります。

> Iranoan さんのOSは,Windows ですか?
 今これを書いているのは Windows ですが、状況によっては Linux も使います。

> Perlは,私のパソコンの以下のような環境にあります.使ったことはありませんが.
<snip>
> c:/latexmk/LatexMK/latexmk.bat, latexmk.pl, 等.
 latexmk を使うにしても、コマンド・プロンプトで latexmk が正しく動作
することを確認してからでないと、先に進めません。またタイプセット時のエ
ラーで [e] をタイプしたときに、秀丸を起動させるには、TEXEDIT の設定も
必要です。
 その上で、*.tex を分割していないなら「プログラム実行」で
c:\latexmk\LatexMK\latexmk.bat %f

c:\usr\local\bin\perl.exe latexmk.pl %f
とすれば、動作すると思います。私も latexmk は使ったことがないので、詳
しくは Perl, latexmk のドキュメントや、ネットの情報などを御覧下さい。

> TeX で論文かリポートかを書いて,
> 「参考文献」を出力した経験がありましたら,お聞かせ下さい.
 あります。ただ、書いている時は一々タイプセットして出力は確かめません
でしたので、回数を Knotopologynn さんの様に気にしたことがありません。
*.bib ではなく、*.tex を書き直した場合、正確な出力を得るには、変更量が
微少であっても、(自分が状況を把握しているときは別として) latex+bibtex+
latex*2 の合計 4 回は必ずタイプセットしないといけませんし。→つまり
> (1): ソースファイルから\cite{data}を取り除いても\cite{data}の内容がDVIOUTに
> 出力されっぱなしになる.(2回処理される)
では不十分。                ^^^^^^^^

 P.S 私は TeX の処理を、長文の場合 C のプログラムのように Makefile を
作成しています。そうでない場合、Windows では、あべのりさんの
祝鳥 http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/fortex.html
を使わせていただいています。ただし、これも *.bib が更新されたかは見て
いないと思います。

[ ]
RE:22357 LaTeXでの「参考文献」を最短でNo.22360
Knotopologynn さん 07/01/16 19:28
 
MKTさん,ご指導ありがとう御座いました.参考になりました.
BibTeXの話は秀丸ネタと異なりますので,このへんで止めておこうと思います.
残念ですが.
TeXの「Q & A」が下記のサイトで行われています.私も時々質問を出して,解決して
もらっています.

http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa

秀丸に関する質問の時には,また,ご指導下さい.

[ ]
RE:22359 LaTeXでの「参考文献」を最短でNo.22361
Knotopologynn さん 07/01/16 19:39
 
Iranoanさん,今晩は! Knotopologynnです.
いま,MKTさんに返信したところです.Iranoanさんからの投稿にいま気づきました.
これから,ゆっくり読んで検討します.
ありがとうございました.

> Knotopologynn さん今日は、Iranoan です。
>> コンパイルは winshellでなく guishell を使用しています.
>> あとは,普通にTeXを使用しているだけです.
> guishell というと、乙部さんの書かれた「pLaTeX2ε for Windows Another
>Manual」に付属しているものですか? TeX は何処から入手したのですか? 何か
>インストーラを使われたのでしょうか?
> WinSell が上がっているということは、奥村さんの書かれた「美文書作成入
>門」かな?
> どちらにしても、内部では CUI の素の TeX を呼び出しているはずです。で
>すから、私が「ツール」と書いたのは、ここでは guishell の事になります。
>
>> Iranoan さんのOSは,Windows ですか?
> 今これを書いているのは Windows ですが、状況によっては Linux も使います。
>
>> Perlは,私のパソコンの以下のような環境にあります.使ったことはありませんが.
><snip>
>> c:/latexmk/LatexMK/latexmk.bat, latexmk.pl, 等.
> latexmk を使うにしても、コマンド・プロンプトで latexmk が正しく動作
>することを確認してからでないと、先に進めません。またタイプセット時のエ
>ラーで [e] をタイプしたときに、秀丸を起動させるには、TEXEDIT の設定も
>必要です。
> その上で、*.tex を分割していないなら「プログラム実行」で
>c:\latexmk\LatexMK\latexmk.bat %f
>や
>c:\usr\local\bin\perl.exe latexmk.pl %f
>とすれば、動作すると思います。私も latexmk は使ったことがないので、詳
>しくは Perl, latexmk のドキュメントや、ネットの情報などを御覧下さい。
>
>> TeX で論文かリポートかを書いて,
>> 「参考文献」を出力した経験がありましたら,お聞かせ下さい.
> あります。ただ、書いている時は一々タイプセットして出力は確かめません
>でしたので、回数を Knotopologynn さんの様に気にしたことがありません。
>*.bib ではなく、*.tex を書き直した場合、正確な出力を得るには、変更量が
>微少であっても、(自分が状況を把握しているときは別として) latex+bibtex+
>latex*2 の合計 4 回は必ずタイプセットしないといけませんし。→つまり
>> (1): ソースファイルから\cite{data}を取り除いても\cite{data}の内容がDVIOUTに
>> 出力されっぱなしになる.(2回処理される)
>では不十分。                ^^^^^^^^
>
> P.S 私は TeX の処理を、長文の場合 C のプログラムのように Makefile を
>作成しています。そうでない場合、Windows では、あべのりさんの
>祝鳥 http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/fortex.html
>を使わせていただいています。ただし、これも *.bib が更新されたかは見て
>いないと思います。

[ ]
RE:22358 LaTeXでの「参考文献」を最短でNo.22362
MKT さん 07/01/16 22:42
 

>> ※Books-data.bibファイルの内容を編集した場合には必ずこの4段階のコンパイルを
>> 実行する必要があります。
> あれれ??? *.bib の変更だけなら、*.aux はあるはずなので、
>> 1.> latex file-1
>はいらないのでは?

サポート(フォローというべきか)のおじゃまをして失礼いたしました。
自分がいつも頭から再コンパイルするんで、そう書いちゃいました。確証はありませ
ん。
texファイルだけの編集のときは、状況によってワンパスでも大丈夫な場合と、4段階
が必要な場合とがありますね。

[ ]
RE:22362 LaTeXでの「参考文献」を最短でNo.22364
Iranoan さん 07/01/16 23:23
 
 MKT さん今日は、Iranoan です。
> texファイルだけの編集のときは、状況によってワンパスでも大丈夫な場合と、4段階
> が必要な場合とがありますね。
 確かに参照順序や参照場所が変わらなければ 1 回でよいですね。最終段階
では、機械的に 4 回やりますが。

[ ]
RE:22359 LaTeXでの「参考文献」を最短でNo.22365
あべのり さん 07/01/17 02:03
 
あべのりです.

> P.S 私は TeX の処理を、長文の場合 C のプログラムのように Makefile を
>作成しています。そうでない場合、Windows では、あべのりさんの
>祝鳥 http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/fortex.html
>を使わせていただいています。ただし、これも *.bib が更新されたかは見て
>いないと思います。
仰るとおり見てないです.見ようと思えば見ることはできるのですが,作るのが面倒
&実行時の時間が心配という二つの理由により,やってません.TeX文書を書いてる
際にあまり.bibを編集することもないですし.

[ ]