* [org-ref] how to tweak display of links and entries
@ 2017-01-11 4:42 Christian Wittern
2017-01-11 13:33 ` John Kitchin
0 siblings, 1 reply; 5+ messages in thread
From: Christian Wittern @ 2017-01-11 4:42 UTC (permalink / raw)
To: Org Mode Mailing List
Hi Org, especially Org-ref users,
I have seen a number of org-ref related questions here recently, so I guess
it is OK to ask here.
I am trying to move to a more sophisticated bibliography format involving
some new field types recently added to biblatex. An author field for example
can look like
author = {family=Fang, given=Ailong, cjk=方愛龍},
where cjk is defined using biblatex's tools for this as a name addon.
Obviously, neither parsebib, helm-bibtex or org-ref understand this format
(yet). However, I do not understand where I have to intervene to display
this in a reasonable way, that is family name, given name and cjk name. Is
there a custom I have to redefine, or a hook I should add somewhere?
Another unrelated question is how to stop org-ref from displaying both the
key and the description of the link. I seem to remember having seen some
discussion here about this, but can't find it now.
Any help appreciated,
Christian
--
Christian Wittern, Kyoto
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [org-ref] how to tweak display of links and entries
2017-01-11 4:42 [org-ref] how to tweak display of links and entries Christian Wittern
@ 2017-01-11 13:33 ` John Kitchin
2017-01-11 23:03 ` Christian Wittern
0 siblings, 1 reply; 5+ messages in thread
From: John Kitchin @ 2017-01-11 13:33 UTC (permalink / raw)
To: Christian Wittern; +Cc: Org Mode Mailing List
Christian Wittern writes:
> Hi Org, especially Org-ref users,
>
> I have seen a number of org-ref related questions here recently, so I guess
> it is OK to ask here.
>
> I am trying to move to a more sophisticated bibliography format involving
> some new field types recently added to biblatex. An author field for example
> can look like
>
> author = {family=Fang, given=Ailong, cjk=方愛龍},
>
> where cjk is defined using biblatex's tools for this as a name addon.
> Obviously, neither parsebib, helm-bibtex or org-ref understand this format
> (yet). However, I do not understand where I have to intervene to display
> this in a reasonable way, that is family name, given name and cjk name. Is
> there a custom I have to redefine, or a hook I should add somewhere?
There is not a way to hook or define a format for this that I know of.
For helm-bibtex, you might be able to redefine or advise
bibtex-completion-apa-format-authors to handle that.
>
> Another unrelated question is how to stop org-ref from displaying both the
> key and the description of the link. I seem to remember having seen some
> discussion here about this, but can't find it now.
this is also not currently customizable. The description in cite links
is used for pre/post text in the citations, and they are shown in full
display so you can see the key and pre/post text. If you use the
description for anything else, the latex export will probably not be
what you expect.
You can turn off the full display like this:
#+BEGIN_SRC emacs-lisp
(loop for cite in org-ref-cite-types
do
(org-link-set-parameters cite :display nil))
#+END_SRC
>
> Any help appreciated,
>
> Christian
--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [org-ref] how to tweak display of links and entries
2017-01-11 13:33 ` John Kitchin
@ 2017-01-11 23:03 ` Christian Wittern
2017-01-12 16:04 ` John Kitchin
0 siblings, 1 reply; 5+ messages in thread
From: Christian Wittern @ 2017-01-11 23:03 UTC (permalink / raw)
To: John Kitchin; +Cc: Org Mode Mailing List
Dear John,
Thanks for your answer.
On 01/11/2017 10:33 PM, John Kitchin wrote:
>
> There is not a way to hook or define a format for this that I know of.
> For helm-bibtex, you might be able to redefine or advise
> bibtex-completion-apa-format-authors to handle that.
Well, thanks, I'll investigate that. Is that what is also used for the
display as popup and in the echo area that org-ref is providing?
>
> You can turn off the full display like this:
>
> #+BEGIN_SRC emacs-lisp
> (loop for cite in org-ref-cite-types
> do
> (org-link-set-parameters cite :display nil))
> #+END_SRC
>
OK, that is what I wanted to know, all I want to do is hide the citekey in
this case.
All the best, and thanks for given us the present of org-ref,
Christian
--
Christian Wittern, Kyoto
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [org-ref] how to tweak display of links and entries
2017-01-11 23:03 ` Christian Wittern
@ 2017-01-12 16:04 ` John Kitchin
2017-01-12 23:57 ` Christian Wittern
0 siblings, 1 reply; 5+ messages in thread
From: John Kitchin @ 2017-01-12 16:04 UTC (permalink / raw)
To: Christian Wittern; +Cc: Org Mode Mailing List
Christian Wittern writes:
> Dear John,
>
> Thanks for your answer.
>
> On 01/11/2017 10:33 PM, John Kitchin wrote:
>>
>> There is not a way to hook or define a format for this that I know of.
>> For helm-bibtex, you might be able to redefine or advise
>> bibtex-completion-apa-format-authors to handle that.
Here is a lightly tested way to modify the authors. It basically works
by bypassing bibtex-completion-apa-format-authors to do what you want. I
adapted it from the bibtex-completion-apa-format-authors code.
#+BEGIN_SRC emacs-lisp
(defun format--cjk-authors (orig-fun &rest args)
"Format authors my way."
(cl-loop for a in (s-split " and " value t)
collect
(let ((fields (mapcar (lambda (x)
(let* ((f (split-string x "="))
(prop (s-trim (nth 0 f)))
(val (s-trim (nth 1 f))))
(cons prop val)))
(s-split "," a t))))
(s-format "${given} ${family} (${cjk})" 'aget fields))
into authors
finally return
(let ((l (length authors)))
(cond
((= l 1) (car authors))
((= l 2) (s-join " & " authors))
((< l 8) (concat (s-join ", " (-butlast authors))
", & " (-last-item authors)))
(t (concat (s-join ", " authors) ", ..."))))))
(advice-add 'bibtex-completion-apa-format-authors :around
#'format--cjk-authors)
; remove advice like this.
;(advice-remove 'bibtex-completion-apa-format-authors #'format--cjk-authors)
#+END_SRC
That generates Ailong Fang (方愛龍) & Another Fang (方愛龍), Super
interesting report, J. Interesting Reports, 1(), (2007). for the
tooltips and messages.
for this entry
@article{fang-2007-super,
title = {Super interesting report},
author = {family=Fang, given=Ailong, cjk=方愛龍 and family=Fang, given=Another, cjk=方愛龍},
journal = {J. Interesting Reports},
keywords = {test, word},
volume = 1,
year = 2007,
}
It is not very robust, e.g. it assumes there will be family, given and
cjk for all authors, that authors are split by and, and prop=val is
split by commas, etc...
>
> Well, thanks, I'll investigate that. Is that what is also used for the
> display as popup and in the echo area that org-ref is providing?
yes, I think so.
>
>>
>> You can turn off the full display like this:
>>
>> #+BEGIN_SRC emacs-lisp
>> (loop for cite in org-ref-cite-types
>> do
>> (org-link-set-parameters cite :display nil))
>> #+END_SRC
>>
>
> OK, that is what I wanted to know, all I want to do is hide the citekey in
> this case.
>
> All the best, and thanks for given us the present of org-ref,
>
> Christian
--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [org-ref] how to tweak display of links and entries
2017-01-12 16:04 ` John Kitchin
@ 2017-01-12 23:57 ` Christian Wittern
0 siblings, 0 replies; 5+ messages in thread
From: Christian Wittern @ 2017-01-12 23:57 UTC (permalink / raw)
To: John Kitchin; +Cc: Org Mode Mailing List
Dear John,
This is great. I will tweak this as needed.
Thanks a lot,
Christian
On 01/13/2017 01:04 AM, John Kitchin wrote:
> #+BEGIN_SRC emacs-lisp
> (defun format--cjk-authors (orig-fun &rest args)
> "Format authors my way."
> (cl-loop for a in (s-split " and " value t)
> collect
> (let ((fields (mapcar (lambda (x)
> (let* ((f (split-string x "="))
> (prop (s-trim (nth 0 f)))
> (val (s-trim (nth 1 f))))
> (cons prop val)))
> (s-split "," a t))))
> (s-format "${given} ${family} (${cjk})" 'aget fields))
> into authors
> finally return
> (let ((l (length authors)))
> (cond
> ((= l 1) (car authors))
> ((= l 2) (s-join " & " authors))
> ((< l 8) (concat (s-join ", " (-butlast authors))
> ", & " (-last-item authors)))
> (t (concat (s-join ", " authors) ", ..."))))))
>
> (advice-add 'bibtex-completion-apa-format-authors :around
> #'format--cjk-authors)
>
> ; remove advice like this.
> ;(advice-remove 'bibtex-completion-apa-format-authors #'format--cjk-authors)
>
> #+END_SRC
>
> That generates Ailong Fang (方愛龍) & Another Fang (方愛龍), Super
> interesting report, J. Interesting Reports, 1(), (2007). for the
> tooltips and messages.
>
> for this entry
>
> @article{fang-2007-super,
> title = {Super interesting report},
> author = {family=Fang, given=Ailong, cjk=方愛龍 and family=Fang, given=Another, cjk=方愛龍},
> journal = {J. Interesting Reports},
> keywords = {test, word},
> volume = 1,
> year = 2007,
> }
>
> It is not very robust, e.g. it assumes there will be family, given and
> cjk for all authors, that authors are split by and, and prop=val is
> split by commas, etc...
Yes, but its a great start. This proves that this is a viable road for this
kind of material. There is still no established and robust way to do this
kind of thing in any format, so I am great to see this is possible.
All the best,
Christian
--
Christian Wittern, Kyoto
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-01-12 23:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-11 4:42 [org-ref] how to tweak display of links and entries Christian Wittern
2017-01-11 13:33 ` John Kitchin
2017-01-11 23:03 ` Christian Wittern
2017-01-12 16:04 ` John Kitchin
2017-01-12 23:57 ` Christian Wittern
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).