Re: [O] ox-bibtex.el -- how to join sequential citations

2013-12-01 Thread Nicolas Goaziou
Nicolas Goaziou n.goaz...@gmail.com writes:

 I will have a look at it, but I'm not sure it will happen before the end
 of the week.

Done.


Regards,

-- 
Nicolas Goaziou



Re: [O] ox-bibtex.el -- how to join sequential citations

2013-11-26 Thread Eric Schulte
Nicolas Goaziou n.goaz...@gmail.com writes:

 Hello,

 Feng Shu tuma...@gmail.com writes:

 Eric Schulte schulte.e...@gmail.com writes:

 When exporting multiple sequential citations e.g., cite:foo cite:bar
 etc... I would like to see something like the following (latex used for
 this example) \cite{foo, bar}, but instead I'm getting \cite{foo}
 \cite{bar}, which leads to poorly formed PDFs (a similar thing happens
 for HTML export).

 May be you should use \cite{foo, bar} directly in org file.

 That was, indeed, the original way to handle citations in the former
 org-export-bibtex.el. It is still supported in both LaTeX, obviously,
 and HTML (which will split the above among two anchors).

 cite link support was added later, and is lacking in this area.

 My question is how best to fix this, should I write a filter function,
 or does the export engine already have processes in place to handle
 these sorts of export context issues?

 At the user level, a filter is definitely the way to go.


Thanks, the following seems to be working.  Perhaps the filter function
should be added to ox-bibtex.el?

(defun org-bibtex-group-citations (text backend info)
  Convert begin/end{verbatim} to begin/end{Verbatim}.
  Allows use of the fancyvrb latex package.
  (with-temp-buffer
(insert text) (goto-char (point-min))
(cond
 ((org-export-derived-backend-p backend 'latex)
  (while (re-search-forward
  cite{\\([^[:space:]\n\r]+\\)}[[:space:]\n\r]*cite{
  nil t)
(replace-match cite{\\1,)
(goto-char (point-min
 ((org-export-derived-backend-p backend 'html)
  (while (re-search-forward
  \\(#[[:alnum:]]+\[0-9]+\/a\\)\\][[:space:]\n\r]*\\[\\(a 
href=\#[[:alnum:]]+\[0-9]+\/a\\)
  nil t)
(replace-match \\1,\\2)
(goto-char (point-min)
(buffer-string)))

(add-to-list 'org-export-filter-final-output-functions
 'org-bibtex-group-citations)

Cheers,


 Though, it is an interesting feature to implement in ox-bibtex.el. One
 idea would be to write another parse-tree filter function which would
 change cite links into \cite{...} commands and consecutive cite links
 into \cite{..., ...} commands.

 This would also allow us to get rid of both `org-html-link' and
 `org-latex-link' advices, as no more cite link would be left in the
 parse tree anyway.

 What do you think?


 Regards,

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D



Re: [O] ox-bibtex.el -- how to join sequential citations

2013-11-26 Thread Nicolas Goaziou
Hello,

Eric Schulte schulte.e...@gmail.com writes:

 Thanks, the following seems to be working.  Perhaps the filter function
 should be added to ox-bibtex.el?

Thanks for sharing your filter.

Though, if we include it in ox-bibtex (and I agree we should), it would
be better to make it more robust and use a parse tree filter instead.
Then we will be able to operate on objects instead of strings and
regexps.

I will have a look at it, but I'm not sure it will happen before the end
of the week.


Regards,

-- 
Nicolas Goaziou



Re: [O] ox-bibtex.el -- how to join sequential citations

2013-11-24 Thread Nicolas Goaziou
Hello,

Feng Shu tuma...@gmail.com writes:

 Eric Schulte schulte.e...@gmail.com writes:

 When exporting multiple sequential citations e.g., cite:foo cite:bar
 etc... I would like to see something like the following (latex used for
 this example) \cite{foo, bar}, but instead I'm getting \cite{foo}
 \cite{bar}, which leads to poorly formed PDFs (a similar thing happens
 for HTML export).

 May be you should use \cite{foo, bar} directly in org file.

That was, indeed, the original way to handle citations in the former
org-export-bibtex.el. It is still supported in both LaTeX, obviously,
and HTML (which will split the above among two anchors).

cite link support was added later, and is lacking in this area.

 My question is how best to fix this, should I write a filter function,
 or does the export engine already have processes in place to handle
 these sorts of export context issues?

At the user level, a filter is definitely the way to go.

Though, it is an interesting feature to implement in ox-bibtex.el. One
idea would be to write another parse-tree filter function which would
change cite links into \cite{...} commands and consecutive cite links
into \cite{..., ...} commands.

This would also allow us to get rid of both `org-html-link' and
`org-latex-link' advices, as no more cite link would be left in the
parse tree anyway.

What do you think?


Regards,

-- 
Nicolas Goaziou



[O] ox-bibtex.el -- how to join sequential citations

2013-11-23 Thread Eric Schulte
Hi,

I've been using ox-bibtex.el for a couple of days now and am really
enjoying both the bibtex integration and the HTML export through
bibtex2html.  I have run into one issue which I'm now sure how best to
fix.

When exporting multiple sequential citations e.g., cite:foo cite:bar
etc... I would like to see something like the following (latex used for
this example) \cite{foo, bar}, but instead I'm getting \cite{foo}
\cite{bar}, which leads to poorly formed PDFs (a similar thing happens
for HTML export).

My question is how best to fix this, should I write a filter function,
or does the export engine already have processes in place to handle
these sorts of export context issues?

Thanks,

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D



Re: [O] ox-bibtex.el -- how to join sequential citations

2013-11-23 Thread Feng Shu
Eric Schulte schulte.e...@gmail.com writes:

 Hi,

 I've been using ox-bibtex.el for a couple of days now and am really
 enjoying both the bibtex integration and the HTML export through
 bibtex2html.  I have run into one issue which I'm now sure how best to
 fix.

 When exporting multiple sequential citations e.g., cite:foo cite:bar
 etc... I would like to see something like the following (latex used for
 this example) \cite{foo, bar}, but instead I'm getting \cite{foo}
 \cite{bar}, which leads to poorly formed PDFs (a similar thing happens
 for HTML export).

May be you should use \cite{foo, bar} directly in org file.


 My question is how best to fix this, should I write a filter function,
 or does the export engine already have processes in place to handle
 these sorts of export context issues?

 Thanks,

--