auctex
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Select and insert multiple bibliography entries into one \cite comma


From: Hongyi Zhao
Subject: Re: Select and insert multiple bibliography entries into one \cite command with regexp search.
Date: Thu, 12 Aug 2021 09:39:20 +0800

On Wed, Aug 11, 2021 at 12:42 PM Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
>
> On Wed, Aug 11, 2021 at 10:43 AM Vladimir Lomov <lomov.vl@yandex.ru> wrote:
> >
> > Hello,
> > ** Hongyi Zhao <hongyi.zhao@gmail.com> [2021-08-11 07:47:33 +0800]:
> >
> > > On Wed, Aug 11, 2021 at 12:40 AM Arash Esbati <arash@gnu.org> wrote:
> > [...]
> > >>
> > >> For me, it works with a simple file like this on my Windows box:
> > >>
> > >>     \documentclass{article}
> > >>
> > >>     \usepackage{natbib}
> > >>     \bibliography{z:/path/to/test-bib-file}
> > >>
> > >>     \begin{document}
> > >>
> > >>     \begin{verbatim}
> > >>     (insert "\n"
> > >>             (format "%S" (symbol-value reftex-docstruct-symbol)))
> > >>     \end{verbatim}
> > >>     \end{document}
> > >>
> > >>     %%% Local Variables:
> > >>     %%% mode: latex
> > >>     %%% TeX-master: t
> > >>     %%% End:
> > >>
> > >> When I eval the form in the verbatim env, there is an entry like this:
> > >>
> > >>     (bib "z:/path/to/test-bib-file.bib")
> > >>
> > >> inserted in the buffer, hence RefTeX finds the file which is in a
> > >> different directory than the .tex file.
> >
> > > I tried to adjust your above example according to my situation as follows:
> >
> > > \documentclass{article}
> >
> > > \usepackage{natbib}
> > > \bibliography{/home/werner/Documents/bibliograph/better-bibtex/references-bibtex.bib}
> >
> > > \begin{document}
> >
> >
> > > \cite{weiFirstprinciplesCharacterizationBibased2009}
> >
> > > \begin{verbatim}
> > >  (insert "\n"
> > >       (format "%S" (symbol-value reftex-docstruct-symbol)))
> > > \end{verbatim}
> > > \end{document}
> >
> > > %%% Local Variables:
> > > %%% mode: latex
> > > %%% TeX-master: t
> > > %%% End:
> >
> > > Then I run xelatex and bibtex several times on the above document
> >
> > but that's not what Arash did! He explicitly wrote:
> >
> > >> When I eval the form in the verbatim env, there is an entry like this:
> >
> > and shown the output. What you get when do the same?
> >
> > > in Emacs, but finally meet the following error:
> >
> > > ##################
> > > Running `LaTeX' on `reftex-docstruct-symbol' with ``xelatex
> > > -file-line-error   --synctex=1 -interaction=nonstopmode
> > > reftex-docstruct-symbol.tex''
> > > This is XeTeX, Version 3.141592653-2.6-0.999993 (TeX Live 2021)
> > > (preloaded format=xelatex)
> > >  restricted \write18 enabled.
> > > entering extended mode
> > > (./reftex-docstruct-symbol.tex
> > > LaTeX2e <2020-10-01> patch level 4
> > > L3 programming layer <2021-05-07>
> > > (/opt/texlive/2021/texmf-dist/tex/latex/base/article.cls
> > > Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
> > > (/opt/texlive/2021/texmf-dist/tex/latex/base/size10.clo))
> > > (/opt/texlive/2021/texmf-dist/tex/latex/natbib/natbib.sty)
> > > \bibdata{/home/werner/Documents/bibliograph/better-bibtex/references-bibtex.bib}
> > > (./reftex-docstruct-symbol.bbl)
> > > (/opt/texlive/2021/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
> > > (|extractbb --version)) (./reftex-docstruct-symbol.aux)
> > > (/opt/texlive/2021/texmf-dist/tex/latex/base/ts1cmr.fd)
> >
> > > Package natbib Warning: Citation
> > > `weiFirstprinciplesCharacterizationBibased2009' on page 1 undefined on
> > > input line 9.
> >
> >
> > > Package natbib Warning: There were undefined citations.
> >
> > > [1] (./reftex-docstruct-symbol.aux) )
> > > Output written on reftex-docstruct-symbol.pdf (1 page).
> > > SyncTeX written on reftex-docstruct-symbol.synctex.gz.
> > > Transcript written on reftex-docstruct-symbol.log.
> >
> > > TeX Output finished at Wed Aug 11 07:43:44
> > > ##################
> >
> > And how this suppose to be related with RefTeX? You run xelatex (you didn't
> > mention earlier that you typeset document using a LaTeX engine) and then
> > bibtex. Whether you typeset document using AUCTeX or did this on command 
> > line
> > isn't really matter.
> >
> > Besides, this in NOT an ERROR! This is a WARNING! You should look into
> > reftex-docstruct-symbol.blg file to figure out what the problem is.
>
> The content of the above file is as follows:
>
> $ cat reftex-docstruct-symbol.blg
> This is BibTeX, Version 0.99d (TeX Live 2021)
> Capacity: max_strings=200000, hash_size=200000, hash_prime=170003
> The top-level auxiliary file: reftex-docstruct-symbol.aux
> I found no \bibdata command---while reading file reftex-docstruct-symbol.aux
> I found no \bibstyle command---while reading file reftex-docstruct-symbol.aux
> You've used 1 entry,
>             0 wiz_defined-function locations,
>             85 strings with 610 characters,
> and the built_in function-call counts, 0 in all, are:
> = -- 0
> > -- 0
> < -- 0
> + -- 0
> - -- 0
> * -- 0
> := -- 0
> add.period$ -- 0
> call.type$ -- 0
> change.case$ -- 0
> chr.to.int$ -- 0
> cite$ -- 0
> duplicate$ -- 0
> empty$ -- 0
> format.name$ -- 0
> if$ -- 0
> int.to.chr$ -- 0
> int.to.str$ -- 0
> missing$ -- 0
> newline$ -- 0
> num.names$ -- 0
> pop$ -- 0
> preamble$ -- 0
> purify$ -- 0
> quote$ -- 0
> skip$ -- 0
> stack$ -- 0
> substring$ -- 0
> swap$ -- 0
> text.length$ -- 0
> text.prefix$ -- 0
> top$ -- 0
> type$ -- 0
> warning$ -- 0
> while$ -- 0
> width$ -- 0
> write$ -- 0
> (There were 2 error messages)
>
>
>
> > Usually if there is a problem AUCTeX (in minibuffer) suggest to run 'C-c 
> > C-l' to see
> > the log.
>
> Thank you for correcting my incorrect understanding.
>
> > [...]
> >
> > >> Since the absolute path version doesn't work, you could try something
> > >> else provided by RefTeX.  Otherwise you have to find the culprit in your
> > >> setup.  I don't think this is a RefTeX issue.
> >
> > > Thank you for your comment.
> >
> > I've made following example:
> >
> > ------------------------------------------------------------------------------
> > \documentclass{article}
> >
> > \usepackage{natbib}
> >
> > \begin{document}
> >
> > Sample text. Cite: \cite{test:2021aug}.
> >
> > \begin{verbatim}
> > (insert "\n" (format "%S" (symbol-value reftex-docstruct-symbol)))
> > \end{verbatim}
> >
> > Another cite: \cite{test2:2021aug}.
> >
> > \bibliographystyle{plainnat}
> > % \bibliography{sample.bib}
> > \bibliography{/home/vladimir/tmp/test/sample.bib}
> >
> > \end{document}
> >
> > %%% Local Variables:
> > %%% TeX-master: t
> > %%% End:
> > ------------------------------------------------------------------------------
> >
> > I open the document in Emacs (with my configuration of 
> > AUCTeX+RefTeX+CDLaTeX),
> > did the same thing as Arash and got[1]
> >
> > ------------------------------------------------------------------------------
> > (bib "/home/vladimir/tmp/test/sample.bib")
> > ------------------------------------------------------------------------------
>
> To be  sure, how to eval the form in the verbatim env?
>
> I try to eval the following in *scratch* buffer with `C-j', but obtain 
> `nilnil':
>
> (insert "\n" (format "%S" (symbol-value reftex-docstruct-symbol)))
>
> nilnil
>
> > Of course I was able to typeset the document within Emacs as well as on
> > command line. Also I could insert new \cite using RefTeX 'C-c [' key as well
> > as to add new items into it while point being in '\cite' macro but I didn't
> > test to input several citations at one time.
>
> Your example works for me as well. By hitting 'C-c [' key, the `SELECT
> THE CITATATION FORMAT' frame will be triggered as shown in the
> attachment. But I still can't figure out how to select the first
> format listed on the frame, i.e. the following:
>
> [^M] \cite [][]{%l}
>
> Which is the ^M key?

It's the <RET>:

werner@X10DAi:~$ man 7 ascii | grep ' M$'
       015   13    0D    CR  '\r' (carriage ret)     115   77    4D    M
werner@X10DAi:~$  ascii -t cr M
0/13   13   0x0D   0o15   00001101
4/13   77   0x4D   0o115   01001101


>
> And based on my further testing, the 'C-c [' also works with
> `\string~' expansio to find the bib file, as shown in the attachment
> titled by `my-original-exmaple.png'. I don't know why it doesn't work
> with 'C-c [' previously.
>
> > The second example has only one minor change: the name of bibtex file.
> >
> > ------------------------------------------------------------------------------
> > \documentclass{article}
> >
> > \usepackage{natbib}
> >
> > \begin{document}
> >
> > Sample text. Cite: \cite{test:2021aug}.
> >
> > \begin{verbatim}
> > (insert "\n" (format "%S" (symbol-value reftex-docstruct-symbol)))
> > \end{verbatim}
> >
> > Another cite: \cite{test2:2021aug}.
> >
> > \bibliographystyle{plainnat}
> > % \bibliography{sample.bib}
> > \bibliography{/home/vladimir/tmp/test/sample2.bib}
> >
> > \end{document}
> >
> > %%% Local Variables:
> > %%% TeX-master: t
> > %%% End:
> > ------------------------------------------------------------------------------
> >
> > Now there is no such bibtex file and there is no 'bib' part. And as expected
> > bibtex exits "abnormally" with errors (you could see them in Emacs if run 
> > 'C-c
> > C-l'):
> >
> > ------------------------------------------------------------------------------
> > Running `BibTeX' on `doc-sample2' with ``bibtex doc-sample2.aux''
> > This is BibTeX, Version 0.99d (TeX Live 2021)
> > The top-level auxiliary file: doc-sample2.aux
> > The style file: plainnat.bst
> > I couldn't open database file /home/vladimir/tmp/test/sample2.bib
> > ---line 5 of file doc-sample2.aux
> >  : \bibdata{/home/vladimir/tmp/test/sample2.bib
> >  :                                             }
> > I'm skipping whatever remains of this command
> > I found no database files---while reading file doc-sample2.aux
> > Warning--I didn't find a database entry for "test:2021aug"
> > Warning--I didn't find a database entry for "test2:2021aug"
> > (There were 2 error messages)
> >
> > TeX Output exited abnormally with code 2 at Wed Aug 11 09:31:05
> > ------------------------------------------------------------------------------
> >
> > It would be helpful if you say what exactly you do and what you expect and
> > didn't try to ask several unrelated questions in the same topic. Also, 
> > follow
> > advices given on the mailing list and tell what exactly you run and what you
> > get.
> >
> > I've made following bib file for tests:
> >
> > ------------------------------------------------------------------------------
> > @article{test:2021aug,
> >   title   = "{Some thought about testing and how people read the answers}",
> >   author  = "Lomov V.P.",
> >   journal = "Philosophical Thoughts",
> >   year    = "2021",
> >   vol     = "08",
> >   pages   = "133–135"
> > }
> >
> > @article{test2:2021aug,
> >   title   = "{Why sometimes we got angry while reading some replies on 
> > mailing lists?}",
> >   author  = "Lomov V.P.",
> >   journal = "Philosophical Thoughts",
> >   year    = "2021",
> >   vol     = "08",
> >   pages   = "143–144"
> > }
> >
> > @article{test3:2021aug,
> >   title   = "{How to calm down yourself when replying to someone}",
> >   author  = "Lomov V.P.",
> >   journal = "Philosophical Thoughts",
> >   year    = "2021",
> >   vol     = "08",
> >   pages   = "150–151"
> > }
> > ------------------------------------------------------------------------------
> >
> > --- NOTES ---
> >
> > [1] To be honest when I open document first time in Emacs I got 'nil'. To 
> > get
> > correct result I had to run either 'Ref -> Parse Document -> Entire 
> > Document'
> > or to try insert citation using 'C-u C-c [' which forces document parsing. 
> > The
> > necessary information is written to .rel file.
>
> Without using the above trick, only `C-c [' will work on my side with
> your example. OTOH, even I run the above step, I still can't find the
> .rel file.
>
> Best, Hongyi
> --
> Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com>
> Theory and Simulation of Materials
> Hebei Vocational University of Technology and Engineering
> No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province



-- 
Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com>
Theory and Simulation of Materials
Hebei Vocational University of Technology and Engineering
No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province



reply via email to

[Prev in Thread] Current Thread [Next in Thread]