From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: helm-bibtex questions Date: Wed, 24 Jun 2015 17:03:58 -0400 Message-ID: References: <87ioamm7c2.fsf@posteo.de> <878ubgn9p9.fsf@posteo.de> <87381klxt1.fsf@posteo.de> <87vbefkcal.fsf@posteo.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56633) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7rq6-0004BF-98 for emacs-orgmode@gnu.org; Wed, 24 Jun 2015 17:04:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7rq3-0005Ht-0T for emacs-orgmode@gnu.org; Wed, 24 Jun 2015 17:04:10 -0400 Received: from mail-qg0-x22f.google.com ([2607:f8b0:400d:c04::22f]:34760) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7rq2-0005H8-Qf for emacs-orgmode@gnu.org; Wed, 24 Jun 2015 17:04:06 -0400 Received: by qgev13 with SMTP id v13so18550840qge.1 for ; Wed, 24 Jun 2015 14:04:06 -0700 (PDT) In-reply-to: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Xebar Saram Cc: org mode , Titus von der Malsburg 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 functi= on, 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 > wrote: > >> >> >> Here is my CV in org-mode: >> >> https://gist.github.com/tmalsburg/96084ba82281937c26b7 >> >> It=E2=80=99s 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=E2=80=99t 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 >> > 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 < >> >> malsburg@posteo.de> wrote: >> >> >> >>> >> >>> On 2015-06-19 Fri 03:56, Xebar Saram wrote: >> >>> > Hi again Titus >> >>> > >> >>> > 2 quick questions that arose from using helm-bitex today extensive= ly: >> >>> > >> >>> > 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 < >> >>> malsburg@posteo.de> >> >>> > 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 bla= ck >> on >> >>> my >> >>> >> > black modline BG which makes it invisible ;-) i assume thats an >> helm >> >>> >> config >> >>> >> > i need to change >> >>> >> > >> >>> >> > >> >>> >> > "If you don=E2=80=99t want to type these search expressions, yo= u could >> >>> create a >> >>> >> > command that invokes helm-bibtex with a default search expressi= on >> 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 kn= ow >> >>> 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 li= sts >> >>> for >> >>> >> CVs and web pages because BibTeX does not distinguish between >> >>> conference >> >>> >> papers, posters, and talks. If you have tags for that, it=E2=80= =99s >> 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 < >> >>> >> malsburg@posteo.de >> >>> >> >> 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=E2=80=99m not sure whether this list is the best p= lace 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 th= ey >> >>> 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=E2=80=99t have high priority for me. Pull= requests >> >>> welcome. >> >>> >> >> >> >>> >> >> > 2. i would really like a way to have stored smart groups (li= ke >> 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=E2=80=99m not familiar with smart groups but it seems that a= ll >> >>> 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 + =E2=80=9Carticle=E2=80=9D. If you w= ant all your >> articles >> >>> from >> >>> >> >> 2010, enter your name + =E2=80=9Carticles 2010=E2=80=9D. And = so on. The number >> of >> >>> >> >> matches will be displayed in the mode line. If you don=E2=80= =99t want to >> >>> type >> >>> >> >> these search expressions, you could create a command that invo= kes >> >>> >> >> 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: =E2=80=9Ckeywords=E2= =80=9D for keywords >> >>> >> >> describing the content of the paper (as usual) and =E2=80=9Cta= gs=E2=80=9D for >> meta >> >>> >> >> data. Values that I use in tags are =E2=80=9Cown=E2=80=9D, = =E2=80=9Cmanuscript=E2=80=9D, >> =E2=80=9Cposter=E2=80=9D, >> >>> >> >> =E2=80=9Ctalk=E2=80=9D, =E2=80=A6 So if I want a list of all a= rticles in progress, I >> search >> >>> for >> >>> >> >> =E2=80=9Cown manuscript=E2=80=9D. 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 sea= rch >> >>> for >> >>> >> >> your name and =E2=80=9Cforthcoming=E2=80=9D (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