Re: [O] ox-bibtex.el -- how to join sequential citations
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
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
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
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
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
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, --