emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] helm-bibtex questions


From: John Kitchin
Subject: Re: [O] helm-bibtex questions
Date: Fri, 26 Jun 2015 10:28:32 -0400

http://tex.stackexchange.com/questions/78455/does-emacs-support-editing-bibliography-files-for-biblatex

I think you need this in your bibtex file:

-*- mode:bibtex; eval: (bibtex-set-dialect 'biblatex); -*-


Xebar Saram writes:

> thanks so much again John
>
> i did add this line
> (bibtex-set-dialect 'biblatex)
> in my init but that dosent seem to do much as i still get the "journal
> mandatory field missing" error. anything else i can try?
>
> best
>
> Z
>
>
> On Thu, Jun 25, 2015 at 2:09 PM, John Kitchin <address@hidden>
> wrote:
>
>> I believe that is an emacs bibtex issue. You need some kind of line in
>> your bibtex file to specify it is the biblatex dialect.
>>
>>
>> On June 25, 2015, at 6:58 AM, Xebar Saram <address@hidden> wrote:
>>
>>
>> Great, works well. one question though (and this may very well be due to
>> my inexperience). the jabref export i had used 'journaltitle' instead of
>> journal to be (to my understanding) compatible with the newer .bib files
>> used by biblatex (and biber). when i ran org-ref clean it gave an error on"
>> journal mandatory field missing". i had to replace all 'journaltitle'  to
>> 'journal' to get it to work.
>> is this by design? does org-ref not support the new biblatex/biber .bib
>> file format?
>>
>> kind regards
>>
>> Itai
>>
>> On Thu, Jun 25, 2015 at 12:03 AM, John Kitchin <address@hidden>
>> wrote:
>>
>>> yes, there is a way ;)
>>>
>>> First. Make sure you have a backup of the references. I like to keep
>>> mine in a local git repo so you can undo any mistakes that get made.
>>>
>>> I suggest you run these first:
>>> %% (bibtex-validate-globally)   ; checks for duplicate keys
>>> %% (bibtex-validate)
>>>
>>> I also recommend you run bibtex-sort (it is easier to spot duplicates in
>>> a sorted list).
>>>
>>> and (org-ref-build-full-bibliography) <- makes a pdf of all references.
>>>
>>> to make sure everything is compliant and functional.
>>>
>>> Then, put this next line at the top of your bibtex file. The t argument to
>>> org-ref-clean-bibtex-entry will preserve your existing keys.
>>>
>>> % (bibtex-map-entries (lambda (key start end) (org-ref-clean-bibtex-entry
>>> t)))
>>>
>>> Put your cursor at the end of that line, and type C-x C-e to run the
>>> function, and
>>> wait patiently. It took a few minutes on my 1300 entries, and I had to
>>> restart it once on some entry.
>>>
>>> when it is done, run (org-ref-build-full-bibliography) again to make
>>> sure it works and review the ~200 page pdf ;). fix errors and repeat
>>> until it builds ;)
>>>
>>> Note if you want to change title cases in all entries you can use
>>>
>>> % (bibtex-map-entries 'jmax-title-case-article)
>>> % (bibtex-map-entries 'jmax-sentence-case-article)
>>>
>>> I hope that helps!
>>>
>>> Xebar Saram writes:
>>>
>>> > John
>>> >
>>> > First of all thanks so much for the excellent org-ref-clean-bibtex-entry
>>> > function i love it!
>>> > also your blog post on cleaning the bib file is a life saver
>>> >
>>> > i have 800 references, is there a way to auto
>>> > make org-ref-clean-bibtex-entry go thorough my whole bib file instead
>>> of me
>>> > going and cleaning it 1 by 1?
>>> >
>>> > kind regards
>>> >
>>> > Z.
>>> >
>>> > On Mon, Jun 22, 2015 at 6:12 PM, Titus von der Malsburg <
>>> address@hidden>
>>> > wrote:
>>> >
>>> >>
>>> >>
>>> >> Here is my CV in org-mode:
>>> >>
>>> >>   https://gist.github.com/tmalsburg/96084ba82281937c26b7
>>> >>
>>> >> It’s a pretty straightforward org document except for one thing: the
>>> key
>>> >> to making this work was biblatex which can be used to create several
>>> >> lists of references filtered according to keywords, author, etc.  This
>>> >> allowed me to have separate sections for journal articles, conference
>>> >> presentations, etc.  I store the relevant keywords in the tags field of
>>> >> the BibTeX entries and since biblatex doesn’t know this field, I copy
>>> >> the tags on-the-fly to the keywords field (see DeclareSourcemap in the
>>> >> LaTeX headers).
>>> >>
>>> >>   Titus
>>> >>
>>> >> On 2015-06-22 Mon 07:28, Xebar Saram wrote:
>>> >> > Hi John
>>> >> >
>>> >> > a bit off topic, but do you also write your academic CV in orgmode or
>>> >> > lateX? in anycase would you mind sharing your org/latex CV template?
>>> it
>>> >> > would be helpful as a starting point for me if thats possible.
>>> >> >
>>> >> > kind regards and thanks so much in advance
>>> >> >
>>> >> > Z
>>> >> >
>>> >> > On Sun, Jun 21, 2015 at 9:40 PM, John Kitchin <
>>> address@hidden>
>>> >> > wrote:
>>> >> >
>>> >> >> sweet! I did not know you could do that! I will be refactoring
>>> org-ref
>>> >> >> soon to do that instead of redefining the commands!
>>> >> >>
>>> >> >> John
>>> >> >>
>>> >> >> -----------------------------------
>>> >> >> 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
>>> >> >>
>>> >> >>
>>> >> >> On Sun, Jun 21, 2015 at 2:29 PM, Titus von der Malsburg <
>>> >> >> address@hidden> wrote:
>>> >> >>
>>> >> >>>
>>> >> >>> On 2015-06-19 Fri 03:56, Xebar Saram wrote:
>>> >> >>> > Hi again Titus
>>> >> >>> >
>>> >> >>> > 2 quick questions that arose from using helm-bitex today
>>> extensively:
>>> >> >>> >
>>> >> >>> > how does one exclude in the search items? for example i want to
>>> >> search
>>> >> >>> for
>>> >> >>> > xebar without keyword "progress" (I want to exclude in progress
>>> >> articles
>>> >> >>> > not published yet)
>>> >> >>> >
>>> >> >>> > is it possible to define default enter command in helm-bibtex ?
>>> >> >>>
>>> >> >>> Yes.  Helm uses the first action as the default action.  To move an
>>> >> >>> action to the top of the list you can use the following code:
>>> >> >>>
>>> >> >>>   (helm-delete-action-from-source "Insert BibTeX key"
>>> >> helm-source-bibtex)
>>> >> >>>   (helm-add-action-to-source "Insert BibTeX key"
>>> >> 'helm-bibtex-insert-key
>>> >> >>> helm-source-bibtex 0)
>>> >> >>>
>>> >> >>> The second argument in the second line is the function that
>>> executes
>>> >> the
>>> >> >>> action.  Here is a list of all actions and their functions:
>>> >> >>>
>>> >> >>>   Open PDF file (if present): helm-bibtex-open-pdf
>>> >> >>>   Open URL or DOI in browser: helm-bibtex-open-url-or-doi
>>> >> >>>   Insert citation: helm-bibtex-insert-citation
>>> >> >>>   Insert reference: helm-bibtex-insert-reference
>>> >> >>>   Insert BibTeX key: helm-bibtex-insert-key
>>> >> >>>   Insert BibTeX entry: helm-bibtex-insert-bibtex
>>> >> >>>   Attach PDF to email: helm-bibtex-add-PDF-attachment
>>> >> >>>   Edit notes: helm-bibtex-edit-notes
>>> >> >>>   Show entry: helm-bibtex-show-entry
>>> >> >>>
>>> >> >>> Best,
>>> >> >>>
>>> >> >>>   Titus
>>> >> >>>
>>> >> >>> >
>>> >> >>> > best
>>> >> >>> >
>>> >> >>> > Z
>>> >> >>> >
>>> >> >>> > On Thu, Jun 18, 2015 at 9:38 PM, Titus von der Malsburg <
>>> >> >>> address@hidden>
>>> >> >>> > wrote:
>>> >> >>> >
>>> >> >>> >>
>>> >> >>> >> On 2015-06-18 Thu 04:32, Xebar Saram wrote:
>>> >> >>> >> > Hi Titus and thx so much for the answers!
>>> >> >>> >> >
>>> >> >>> >> > i will in the future use the github page to make requests.
>>> >> >>> >> >
>>> >> >>> >> > "The number of matches will be displayed in the mode line. "
>>> >> >>> >> >
>>> >> >>> >> > i see that now thx! :) the problem was(is) that its colored
>>> black
>>> >> on
>>> >> >>> my
>>> >> >>> >> > black modline BG which makes it invisible ;-) i assume thats
>>> an
>>> >> helm
>>> >> >>> >> config
>>> >> >>> >> > i need to change
>>> >> >>> >> >
>>> >> >>> >> >
>>> >> >>> >> > "If you don’t want to type these search expressions, you could
>>> >> >>> create a
>>> >> >>> >> > command that invokes helm-bibtex with a default search
>>> expression
>>> >> and
>>> >> >>> >> that
>>> >> >>> >> > command could be bound to a keyboard shortcut."
>>> >> >>> >> >
>>> >> >>> >> > that would be prefect for me and a solution to my issue.
>>> would you
>>> >> >>> mind
>>> >> >>> >> > giving an example of such a code chunk. unfortunately i dont
>>> know
>>> >> >>> elisp
>>> >> >>> >> though
>>> >> >>> >> > as john recommended i will do my best this summer when the
>>> >> semester
>>> >> >>> ends
>>> >> >>> >> to
>>> >> >>> >> > try and pick it up :)
>>> >> >>> >>
>>> >> >>> >> Sure, here you go:
>>> >> >>> >>
>>> >> >>> >> #+BEGIN_SRC elisp
>>> >> >>> >> ;; Define helm-search with predefined search expression:
>>> >> >>> >> (defun helm-bibtex-my-publications ()
>>> >> >>> >>   "Search BibTeX entries authored by Xebar Saram."
>>> >> >>> >>   (interactive)
>>> >> >>> >>   (helm :sources '(helm-source-bibtex)
>>> >> >>> >>         :full-frame t
>>> >> >>> >>         :input "xebar saram"
>>> >> >>> >>         :candidate-number-limit 500))
>>> >> >>> >>
>>> >> >>> >> ;; Bind this search function to Ctrl-x p:
>>> >> >>> >> (global-set-key (kbd "C-x p") 'helm-bibtex-my-publications)
>>> >> >>> >> #+END_SRC
>>> >> >>> >>
>>> >> >>> >> > i will definitely use your tag system as you recommended,
>>> sounds
>>> >> >>> perfect
>>> >> >>> >> > for me
>>> >> >>> >>
>>> >> >>> >> The tag system also comes in handy when generating publication
>>> lists
>>> >> >>> for
>>> >> >>> >> CVs and web pages because BibTeX does not distinguish between
>>> >> >>> conference
>>> >> >>> >> papers, posters, and talks.  If you have tags for that, it’s
>>> >> relatively
>>> >> >>> >> easy to create separate sections for these types of publications
>>> >> using
>>> >> >>> >> biblatex or bib2bib and bibtex2html in the case of web pages.
>>> >> >>> >>
>>> >> >>> >> > thanks again for your kind help and the amazing app ;-)
>>> >> >>> >>
>>> >> >>> >> You are welcome.
>>> >> >>> >>
>>> >> >>> >>   Titus
>>> >> >>> >>
>>> >> >>> >> >
>>> >> >>> >> > best
>>> >> >>> >> >
>>> >> >>> >> > Z
>>> >> >>> >> >
>>> >> >>> >> >
>>> >> >>> >> >
>>> >> >>> >> > On Wed, Jun 17, 2015 at 11:02 PM, Titus von der Malsburg <
>>> >> >>> >> address@hidden
>>> >> >>> >> >> wrote:
>>> >> >>> >> >
>>> >> >>> >> >>
>>> >> >>> >> >> On 2015-06-17 Wed 11:08, Xebar Saram wrote:
>>> >> >>> >> >> > Hi Titus
>>> >> >>> >> >> >
>>> >> >>> >> >> > I have been exploring helm-bibtex a bit today and have some
>>> >> >>> questions.
>>> >> >>> >> >> btw
>>> >> >>> >> >> > is this the preferred way to make requests/ask questions
>>> or is
>>> >> >>> >> >> > github preferred?
>>> >> >>> >> >>
>>> >> >>> >> >> Helm-bibtex is not part of org (although it tries to work
>>> well
>>> >> with
>>> >> >>> >> >> org).  So I’m not sure whether this list is the best place
>>> for
>>> >> >>> >> >> discussing it.  For now the issue tracker on Github might be
>>> a
>>> >> >>> better
>>> >> >>> >> >> option:
>>> >> >>> >> >>
>>> >> >>> >> >>   https://github.com/tmalsburg/helm-bibtex/issues
>>> >> >>> >> >>
>>> >> >>> >> >> > in any case i was wondering a few things:
>>> >> >>> >> >> >
>>> >> >>> >> >> > 1. is it possible to have custom sorting? i want all views
>>> to
>>> >> >>> sort by
>>> >> >>> >> >> > Author, year, month
>>> >> >>> >> >>
>>> >> >>> >> >> I prefer to see the entries in the (inverse) order in which
>>> they
>>> >> >>> appear
>>> >> >>> >> >> in the BibTeX file.  This way, recent additions show up at
>>> the
>>> >> >>> >> >> top.  However, I agree that sorting would be useful (see
>>> issues
>>> >> #5
>>> >> >>> and
>>> >> >>> >> >> #21); it just doesn’t have high priority for me.  Pull
>>> requests
>>> >> >>> welcome.
>>> >> >>> >> >>
>>> >> >>> >> >> > 2. i would really like a way to have stored smart groups
>>> (like
>>> >> the
>>> >> >>> >> jabref
>>> >> >>> >> >> > dynamic groups if your aware of that). that is for example
>>> >> create
>>> >> >>> a
>>> >> >>> >> group
>>> >> >>> >> >> > that auto selects all publications i have (by my first/last
>>> >> name)
>>> >> >>> and
>>> >> >>> >> >> shows
>>> >> >>> >> >> > the count (in numbers) of these publications.
>>> >> >>> >> >>
>>> >> >>> >> >> I’m not familiar with smart groups but it seems that all
>>> >> >>> helm-bibtex is
>>> >> >>> >> >> doing is giving you very flexible smart groups defined by
>>> your
>>> >> >>> search
>>> >> >>> >> >> expressions.  For example, if you want a list of your
>>> >> publications,
>>> >> >>> you
>>> >> >>> >> >> can simple enter your name.  And if you want a list of your
>>> >> >>> articles,
>>> >> >>> >> >> you can enter your name + “article”.  If you want all your
>>> >> articles
>>> >> >>> from
>>> >> >>> >> >> 2010, enter your name + “articles 2010”.  And so on.  The
>>> number
>>> >> of
>>> >> >>> >> >> matches will be displayed in the mode line.  If you don’t
>>> want to
>>> >> >>> type
>>> >> >>> >> >> these search expressions, you could create a command that
>>> invokes
>>> >> >>> >> >> helm-bibtex with a default search expression and that command
>>> >> could
>>> >> >>> be
>>> >> >>> >> >> bound to a keyboard shortcut.
>>> >> >>> >> >>
>>> >> >>> >> >> > Another example is a group to keep track of all the papers
>>> im
>>> >> >>> working
>>> >> >>> >> on
>>> >> >>> >> >> or
>>> >> >>> >> >> > invloved with by matching keyword author and prep/*other
>>> key
>>> >> word
>>> >> >>> >> >>
>>> >> >>> >> >> I use two BibTeX fields to tag entries: “keywords” for
>>> keywords
>>> >> >>> >> >> describing the content of the paper (as usual) and “tags” for
>>> >> meta
>>> >> >>> >> >> data.  Values that I use in tags are “own”, “manuscript”,
>>> >> “poster”,
>>> >> >>> >> >> “talk”, … So if I want a list of all articles in progress, I
>>> >> search
>>> >> >>> for
>>> >> >>> >> >> “own manuscript”.  Since the tags field is non-standard, it
>>> has
>>> >> to
>>> >> >>> be
>>> >> >>> >> >> added to `helm-bibtex-additional-search-fields`.
>>> >> >>> >> >>
>>> >> >>> >> >> Another solution would be to use the pubstate field and to
>>> search
>>> >> >>> for
>>> >> >>> >> >> your name and “forthcoming” (add pubstate to
>>> >> >>> >> >> helm-bibtex-additional-search-fields for this to work).
>>> >> >>> >> >>
>>> >> >>> >> >> > 3.is it possible to ass an option to auto generate a
>>> bibkey
>>> >> for a
>>> >> >>> >> >> selected
>>> >> >>> >> >> > citation based on user criteria such as
>>> >> author(date)short-title?
>>> >> >>> >> >>
>>> >> >>> >> >> Maintaining the content of the BibTeX file not really in the
>>> >> scope
>>> >> >>> of
>>> >> >>> >> >> helm-bibtex (I prefer to write my BibTeX entries by hand).
>>> >> Perhaps
>>> >> >>> >> >> org-ref or ebib can help here?  Once you have a function that
>>> >> >>> generates
>>> >> >>> >> >> a new key and inserts it in the BibTeX file, you can easily
>>> add
>>> >> it
>>> >> >>> to
>>> >> >>> >> >> the list of actions in helm-bibtex.
>>> >> >>> >> >>
>>> >> >>> >> >> Hope that helps.
>>> >> >>> >> >>
>>> >> >>> >> >>   Titus
>>> >> >>> >> >>
>>> >> >>> >> >> > thx so much in advance, you and john have given me
>>> confidence
>>> >> to
>>> >> >>> >> finally
>>> >> >>> >> >> > dive into the whole latex/bibteX world
>>> >> >>> >> >> >
>>> >> >>> >> >> > best
>>> >> >>> >> >> >
>>> >> >>> >> >> > Z
>>> >> >>> >> >>
>>> >> >>> >> >>
>>> >> >>> >>
>>> >> >>> >>
>>> >> >>>
>>> >> >>>
>>> >> >>
>>> >>
>>> >>
>>>
>>> --
>>> 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
>>>
>>
>>

--
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



reply via email to

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