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: Wed, 24 Jun 2015 17:03:58 -0400

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



reply via email to

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