emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* managing articles in my personal library, and their citational material, using org mode instead of bibtex
@ 2013-11-19  1:40 Christopher W. Ryan
  2013-11-19  8:28 ` Ian Barton
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Christopher W. Ryan @ 2013-11-19  1:40 UTC (permalink / raw)
  To: emacs-orgmode

Not sure "citational" is even a word, but hopefully it conveys my meaning!

I've been using LaTeX for academic writing and reading for quite some
time, with emacs as my editor. I'm pretty familiar with managing a .bib
file containing all the references I've collected, and using it in LaTeX
\cite commands.

I've come to org-mode more recently. I'm trying to imagine how I might
use it to manage my "personal library." I have a directory full of pdf
files, each a downloaded article. Some articles I reference in papers I
write; others I just read and want to keep.  I also have a .bib file
where I put the citational material for all those articles. Whenever I
download an article, I add its entry to my .bib file. I tend to manage
this with JabRef because it searches Medline so easily, but I also will
edit the .bib file directly when necessary.

I like the idea of an org file containing the citational information
(authors, title, journal, etc)  *plus* links to the pdfs on my hard
drive, or on the internet. I could also include my notes about the
articles. But what would that org file look like? How do I insert a
reference to an article into the org file which contains the article I
am writing?

I'd be grateful for any explanations, or links to tutorials.

Thanks.

--Chris Ryan
SUNY Upstate Medical University
Binghamton, NY

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-19  1:40 managing articles in my personal library, and their citational material, using org mode instead of bibtex Christopher W. Ryan
@ 2013-11-19  8:28 ` Ian Barton
  2013-11-19 16:25   ` Eric Schulte
  2013-11-19 10:41 ` Karl Voit
  2013-11-25 18:29 ` John Kitchin
  2 siblings, 1 reply; 18+ messages in thread
From: Ian Barton @ 2013-11-19  8:28 UTC (permalink / raw)
  To: emacs-orgmode

On 19/11/13 01:40, Christopher W. Ryan wrote:
> Not sure "citational" is even a word, but hopefully it conveys my meaning!
>
> I've been using LaTeX for academic writing and reading for quite some
> time, with emacs as my editor. I'm pretty familiar with managing a .bib
> file containing all the references I've collected, and using it in LaTeX
> \cite commands.
>
> I've come to org-mode more recently. I'm trying to imagine how I might
> use it to manage my "personal library." I have a directory full of pdf
> files, each a downloaded article. Some articles I reference in papers I
> write; others I just read and want to keep.  I also have a .bib file
> where I put the citational material for all those articles. Whenever I
> download an article, I add its entry to my .bib file. I tend to manage
> this with JabRef because it searches Medline so easily, but I also will
> edit the .bib file directly when necessary.
>
> I like the idea of an org file containing the citational information
> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
> drive, or on the internet. I could also include my notes about the
> articles. But what would that org file look like? How do I insert a
> reference to an article into the org file which contains the article I
> am writing?
>
> I'd be grateful for any explanations, or links to tutorials.
>

Can't help with managing the citations in org, as the last time I had to 
do this I was using a card index file:)

However, to address your other questions one way of doing this would be 
to create an org file with a heading for each article:

* Article 1.
Here are some notes.

* Article 2
My notes

You can create hyperlinks to each article from org. See 
http://orgmode.org/org.html#Hyperlinks for more detailed information.

However, you should perhaps decide first how you might structure your 
org file. You might want to group articles under an author heading, or 
perhaps more likely by subject area, with a sub heading for each article 
under the main heading.

You may also want to tag each article. See 
http://orgmode.org/org.html#Tags Org lets you quickly narrow your view 
of an org file so that you are only seeing headings with specific tags.

Ian.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-19  1:40 managing articles in my personal library, and their citational material, using org mode instead of bibtex Christopher W. Ryan
  2013-11-19  8:28 ` Ian Barton
@ 2013-11-19 10:41 ` Karl Voit
  2013-11-25 18:29 ` John Kitchin
  2 siblings, 0 replies; 18+ messages in thread
From: Karl Voit @ 2013-11-19 10:41 UTC (permalink / raw)
  To: emacs-orgmode

Hi Christopher!

* Christopher W. Ryan <cryan@binghamton.edu> wrote:
>
> I've come to org-mode more recently. I'm trying to imagine how I might
> use it to manage my "personal library." 

I have summarized how I manage my papers and references with
Org-mode here:
https://github.com/novoid/extract_pdf_annotations_to_orgmode

In case you don't use Android/RepliGo skip to "Bonus: .emacs setup"
where I describe my references.org.

-- 
mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode:
       > get Memacs from https://github.com/novoid/Memacs <

https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-19  8:28 ` Ian Barton
@ 2013-11-19 16:25   ` Eric Schulte
  2013-11-20  2:48     ` Alan L Tyree
  2013-11-20 16:52     ` Richard Lawrence
  0 siblings, 2 replies; 18+ messages in thread
From: Eric Schulte @ 2013-11-19 16:25 UTC (permalink / raw)
  To: ian; +Cc: emacs-orgmode

Ian Barton <lists@wilkesley.net> writes:

> On 19/11/13 01:40, Christopher W. Ryan wrote:
>> Not sure "citational" is even a word, but hopefully it conveys my meaning!
>>
>> I've been using LaTeX for academic writing and reading for quite some
>> time, with emacs as my editor. I'm pretty familiar with managing a .bib
>> file containing all the references I've collected, and using it in LaTeX
>> \cite commands.
>>
>> I've come to org-mode more recently. I'm trying to imagine how I might
>> use it to manage my "personal library." I have a directory full of pdf
>> files, each a downloaded article. Some articles I reference in papers I
>> write; others I just read and want to keep.  I also have a .bib file
>> where I put the citational material for all those articles. Whenever I
>> download an article, I add its entry to my .bib file. I tend to manage
>> this with JabRef because it searches Medline so easily, but I also will
>> edit the .bib file directly when necessary.
>>
>> I like the idea of an org file containing the citational information
>> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
>> drive, or on the internet. I could also include my notes about the
>> articles. But what would that org file look like? How do I insert a
>> reference to an article into the org file which contains the article I
>> am writing?
>>
>> I'd be grateful for any explanations, or links to tutorials.
>>
>
> Can't help with managing the citations in org, as the last time I had
> to do this I was using a card index file:)
>
> However, to address your other questions one way of doing this would
> be to create an org file with a heading for each article:
>
> * Article 1.
> Here are some notes.
>
> * Article 2
> My notes
>

I've been using such an org file for most of grad school and I couldn't
be happier with the results.  I have a single reading.org file with one
top-level entry for each article I read.  Currently at 533 articles
(many still tagged TODO) and 16,558 lines.

To create each headline, I first copy the bibtex information onto my
clipboard, then I call `org-bibtex-yank' which converts the bibtex
information into a headline with properties. E.g.,

    * Software mutational robustness
      :PROPERTIES:
      :TITLE:    Software mutational robustness
      :BTYPE:    article
      :CUSTOM_ID: schulte2013software
      :YEAR:     2013
      :ISSN:     1389-2576
      :JOURNAL:  Genetic Programming and Evolvable Machines
      :DOI:      10.1007/s10710-013-9195-8
      :URL:      http://dx.doi.org/10.1007/s10710-013-9195-8
      :PUBLISHER: Springer US
      :KEYWORDS: Mutational robustness; Genetic programming; Mutation testing; Proactive diversity; N-version programming; Neutral landscapes
      :AUTHOR:   Schulte, Eric and Fry, ZacharyP. and Fast, Ethan and Weimer, Westley and Forrest, Stephanie
      :PAGES:    1-32
      :LANGUAGE: English
      :END:
    file:papers/10.1007_s10710-013-9195-8.pdf

    The arXiv preprint is up at http://arxiv.org/abs/1204.4224.

    More notes...

>
> You can create hyperlinks to each article from org. See
> http://orgmode.org/org.html#Hyperlinks for more detailed information.
>

This is handy, I start every entry with a hyperlink to the pdf file.

>
> However, you should perhaps decide first how you might structure your
> org file. You might want to group articles under an author heading, or
> perhaps more likely by subject area, with a sub heading for each
> article under the main heading.
>

Personally I'm a fan of the flat file organization.  Whenever I want to
find a particular paper I just search for the first string that comes to
mind.

>
> You may also want to tag each article. See
> http://orgmode.org/org.html#Tags Org lets you quickly narrow your view
> of an org file so that you are only seeing headings with specific
> tags.
>

This is a good idea.  I've not used tags much previously but it looks
like Org-mode has wonderful tag search functionality.  I wonder if
there's an easy way to automatically include the content of the
:KEYWORDS: property in tag searches.

Best,

>
> Ian.
>
>
>

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-19 16:25   ` Eric Schulte
@ 2013-11-20  2:48     ` Alan L Tyree
  2013-11-20  3:37       ` Eric Schulte
  2013-11-20 16:52     ` Richard Lawrence
  1 sibling, 1 reply; 18+ messages in thread
From: Alan L Tyree @ 2013-11-20  2:48 UTC (permalink / raw)
  To: emacs-orgmode

On 20/11/13 03:25, Eric Schulte wrote:
> Ian Barton <lists@wilkesley.net> writes:
>
>> On 19/11/13 01:40, Christopher W. Ryan wrote:
>>> Not sure "citational" is even a word, but hopefully it conveys my meaning!
>>>
>>> I've been using LaTeX for academic writing and reading for quite some
>>> time, with emacs as my editor. I'm pretty familiar with managing a .bib
>>> file containing all the references I've collected, and using it in LaTeX
>>> \cite commands.
>>>
>>> I've come to org-mode more recently. I'm trying to imagine how I might
>>> use it to manage my "personal library." I have a directory full of pdf
>>> files, each a downloaded article. Some articles I reference in papers I
>>> write; others I just read and want to keep.  I also have a .bib file
>>> where I put the citational material for all those articles. Whenever I
>>> download an article, I add its entry to my .bib file. I tend to manage
>>> this with JabRef because it searches Medline so easily, but I also will
>>> edit the .bib file directly when necessary.
>>>
>>> I like the idea of an org file containing the citational information
>>> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
>>> drive, or on the internet. I could also include my notes about the
>>> articles. But what would that org file look like? How do I insert a
>>> reference to an article into the org file which contains the article I
>>> am writing?
>>>
>>> I'd be grateful for any explanations, or links to tutorials.
>>>
>> Can't help with managing the citations in org, as the last time I had
>> to do this I was using a card index file:)
>>
>> However, to address your other questions one way of doing this would
>> be to create an org file with a heading for each article:
>>
>> * Article 1.
>> Here are some notes.
>>
>> * Article 2
>> My notes
>>
> I've been using such an org file for most of grad school and I couldn't
> be happier with the results.  I have a single reading.org file with one
> top-level entry for each article I read.  Currently at 533 articles
> (many still tagged TODO) and 16,558 lines.
>
> To create each headline, I first copy the bibtex information onto my
> clipboard, then I call `org-bibtex-yank' which converts the bibtex
> information into a headline with properties. E.g.,
>
>      * Software mutational robustness
>        :PROPERTIES:
>        :TITLE:    Software mutational robustness
>        :BTYPE:    article
>        :CUSTOM_ID: schulte2013software
>        :YEAR:     2013
>        :ISSN:     1389-2576
>        :JOURNAL:  Genetic Programming and Evolvable Machines
>        :DOI:      10.1007/s10710-013-9195-8
>        :URL:      http://dx.doi.org/10.1007/s10710-013-9195-8
>        :PUBLISHER: Springer US
>        :KEYWORDS: Mutational robustness; Genetic programming; Mutation testing; Proactive diversity; N-version programming; Neutral landscapes
>        :AUTHOR:   Schulte, Eric and Fry, ZacharyP. and Fast, Ethan and Weimer, Westley and Forrest, Stephanie
>        :PAGES:    1-32
>        :LANGUAGE: English
>        :END:
>      file:papers/10.1007_s10710-013-9195-8.pdf
>
>      The arXiv preprint is up at http://arxiv.org/abs/1204.4224.
>
>      More notes...
>

Is there some easy way to import entire bibtex files in this way?

I find citations to be frustrating. Is there some way that bibtex (or 
org files such as the above) can be used to enter citations in an org 
file so that they are exported correctly by the different exporters?

Or is there someplace where all this information is gathered and I just 
am too blind to see it?

Thanks for any help.
Alan

<SNIP>

-- 
Alan L Tyree                    http://www2.austlii.edu.au/~alan
Tel:  04 2748 6206              sip:typhoon@iptel.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-20  2:48     ` Alan L Tyree
@ 2013-11-20  3:37       ` Eric Schulte
  2013-11-20  6:16         ` Alan L Tyree
  0 siblings, 1 reply; 18+ messages in thread
From: Eric Schulte @ 2013-11-20  3:37 UTC (permalink / raw)
  To: Alan L Tyree; +Cc: emacs-orgmode

Alan L Tyree <alantyree@gmail.com> writes:

> On 20/11/13 03:25, Eric Schulte wrote:
>> Ian Barton <lists@wilkesley.net> writes:
>>
>>> On 19/11/13 01:40, Christopher W. Ryan wrote:
>>>> Not sure "citational" is even a word, but hopefully it conveys my meaning!
>>>>
>>>> I've been using LaTeX for academic writing and reading for quite some
>>>> time, with emacs as my editor. I'm pretty familiar with managing a .bib
>>>> file containing all the references I've collected, and using it in LaTeX
>>>> \cite commands.
>>>>
>>>> I've come to org-mode more recently. I'm trying to imagine how I might
>>>> use it to manage my "personal library." I have a directory full of pdf
>>>> files, each a downloaded article. Some articles I reference in papers I
>>>> write; others I just read and want to keep.  I also have a .bib file
>>>> where I put the citational material for all those articles. Whenever I
>>>> download an article, I add its entry to my .bib file. I tend to manage
>>>> this with JabRef because it searches Medline so easily, but I also will
>>>> edit the .bib file directly when necessary.
>>>>
>>>> I like the idea of an org file containing the citational information
>>>> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
>>>> drive, or on the internet. I could also include my notes about the
>>>> articles. But what would that org file look like? How do I insert a
>>>> reference to an article into the org file which contains the article I
>>>> am writing?
>>>>
>>>> I'd be grateful for any explanations, or links to tutorials.
>>>>
>>> Can't help with managing the citations in org, as the last time I had
>>> to do this I was using a card index file:)
>>>
>>> However, to address your other questions one way of doing this would
>>> be to create an org file with a heading for each article:
>>>
>>> * Article 1.
>>> Here are some notes.
>>>
>>> * Article 2
>>> My notes
>>>
>> I've been using such an org file for most of grad school and I couldn't
>> be happier with the results.  I have a single reading.org file with one
>> top-level entry for each article I read.  Currently at 533 articles
>> (many still tagged TODO) and 16,558 lines.
>>
>> To create each headline, I first copy the bibtex information onto my
>> clipboard, then I call `org-bibtex-yank' which converts the bibtex
>> information into a headline with properties. E.g.,
>>
>>      * Software mutational robustness
>>        :PROPERTIES:
>>        :TITLE:    Software mutational robustness
>>        :BTYPE:    article
>>        :CUSTOM_ID: schulte2013software
>>        :YEAR:     2013
>>        :ISSN:     1389-2576
>>        :JOURNAL:  Genetic Programming and Evolvable Machines
>>        :DOI:      10.1007/s10710-013-9195-8
>>        :URL:      http://dx.doi.org/10.1007/s10710-013-9195-8
>>        :PUBLISHER: Springer US
>>        :KEYWORDS: Mutational robustness; Genetic programming; Mutation testing; Proactive diversity; N-version programming; Neutral landscapes
>>        :AUTHOR:   Schulte, Eric and Fry, ZacharyP. and Fast, Ethan and Weimer, Westley and Forrest, Stephanie
>>        :PAGES:    1-32
>>        :LANGUAGE: English
>>        :END:
>>      file:papers/10.1007_s10710-013-9195-8.pdf
>>
>>      The arXiv preprint is up at http://arxiv.org/abs/1204.4224.
>>
>>      More notes...
>>
>
> Is there some easy way to import entire bibtex files in this way?
>

org-bibtex-import-from-file

>
> I find citations to be frustrating. Is there some way that bibtex (or
> org files such as the above) can be used to enter citations in an org
> file so that they are exported correctly by the different exporters?
>
> Or is there someplace where all this information is gathered and I
> just am too blind to see it?
>

I don't know, I personally use org-bibtex-export-to-kill-ring to convert
citations to bibtex individually and manually.

>
> Thanks for any help.
> Alan
>
> <SNIP>

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-20  3:37       ` Eric Schulte
@ 2013-11-20  6:16         ` Alan L Tyree
  2013-11-20  6:27           ` Jambunathan K
  0 siblings, 1 reply; 18+ messages in thread
From: Alan L Tyree @ 2013-11-20  6:16 UTC (permalink / raw)
  To: Eric Schulte; +Cc: emacs-orgmode

On 20/11/13 14:37, Eric Schulte wrote:
> Alan L Tyree <alantyree@gmail.com> writes:
>
>> On 20/11/13 03:25, Eric Schulte wrote:
>>> Ian Barton <lists@wilkesley.net> writes:
>>>
>>>> On 19/11/13 01:40, Christopher W. Ryan wrote:
>>>>> Not sure "citational" is even a word, but hopefully it conveys my meaning!
>>>>>
>>>>> I've been using LaTeX for academic writing and reading for quite some
>>>>> time, with emacs as my editor. I'm pretty familiar with managing a .bib
>>>>> file containing all the references I've collected, and using it in LaTeX
>>>>> \cite commands.
>>>>>
>>>>> I've come to org-mode more recently. I'm trying to imagine how I might
>>>>> use it to manage my "personal library." I have a directory full of pdf
>>>>> files, each a downloaded article. Some articles I reference in papers I
>>>>> write; others I just read and want to keep.  I also have a .bib file
>>>>> where I put the citational material for all those articles. Whenever I
>>>>> download an article, I add its entry to my .bib file. I tend to manage
>>>>> this with JabRef because it searches Medline so easily, but I also will
>>>>> edit the .bib file directly when necessary.
>>>>>
>>>>> I like the idea of an org file containing the citational information
>>>>> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
>>>>> drive, or on the internet. I could also include my notes about the
>>>>> articles. But what would that org file look like? How do I insert a
>>>>> reference to an article into the org file which contains the article I
>>>>> am writing?
>>>>>
>>>>> I'd be grateful for any explanations, or links to tutorials.
>>>>>
>>>> Can't help with managing the citations in org, as the last time I had
>>>> to do this I was using a card index file:)
>>>>
>>>> However, to address your other questions one way of doing this would
>>>> be to create an org file with a heading for each article:
>>>>
>>>> * Article 1.
>>>> Here are some notes.
>>>>
>>>> * Article 2
>>>> My notes
>>>>
>>> I've been using such an org file for most of grad school and I couldn't
>>> be happier with the results.  I have a single reading.org file with one
>>> top-level entry for each article I read.  Currently at 533 articles
>>> (many still tagged TODO) and 16,558 lines.
>>>
>>> To create each headline, I first copy the bibtex information onto my
>>> clipboard, then I call `org-bibtex-yank' which converts the bibtex
>>> information into a headline with properties. E.g.,
>>>
>>>       * Software mutational robustness
>>>         :PROPERTIES:
>>>         :TITLE:    Software mutational robustness
>>>         :BTYPE:    article
>>>         :CUSTOM_ID: schulte2013software
>>>         :YEAR:     2013
>>>         :ISSN:     1389-2576
>>>         :JOURNAL:  Genetic Programming and Evolvable Machines
>>>         :DOI:      10.1007/s10710-013-9195-8
>>>         :URL:      http://dx.doi.org/10.1007/s10710-013-9195-8
>>>         :PUBLISHER: Springer US
>>>         :KEYWORDS: Mutational robustness; Genetic programming; Mutation testing; Proactive diversity; N-version programming; Neutral landscapes
>>>         :AUTHOR:   Schulte, Eric and Fry, ZacharyP. and Fast, Ethan and Weimer, Westley and Forrest, Stephanie
>>>         :PAGES:    1-32
>>>         :LANGUAGE: English
>>>         :END:
>>>       file:papers/10.1007_s10710-013-9195-8.pdf
>>>
>>>       The arXiv preprint is up at http://arxiv.org/abs/1204.4224.
>>>
>>>       More notes...
>>>
>> Is there some easy way to import entire bibtex files in this way?
>>
> org-bibtex-import-from-file
>
>> I find citations to be frustrating. Is there some way that bibtex (or
>> org files such as the above) can be used to enter citations in an org
>> file so that they are exported correctly by the different exporters?
>>
>> Or is there someplace where all this information is gathered and I
>> just am too blind to see it?
>>
> I don't know, I personally use org-bibtex-export-to-kill-ring to convert
> citations to bibtex individually and manually.
I think I have a terminology problem. What I mean is to enter something 
like \cite{mann82} in the text and have it spit out (Mann 1982) in each 
and every export as well as constructing an entry for the bibliography.

Of course, the actual form of the output should be configurable to some 
extent, but I'd be happy with one form that always comes out the same.

Is that possible? I'm currently fudging the issue by entering a Markdown 
style entry in the text, for example [@mann82:_legal_aspec_money], 
exporting to Markdown and then using Pandoc to get the final result.

Not elegant.

Cheers,
Alan

>> Thanks for any help.
>> Alan
>>
>> <SNIP>


-- 
Alan L Tyree                    http://www2.austlii.edu.au/~alan
Tel:  04 2748 6206              sip:typhoon@iptel.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-20  6:16         ` Alan L Tyree
@ 2013-11-20  6:27           ` Jambunathan K
  2013-11-21 21:14             ` Alan L Tyree
  0 siblings, 1 reply; 18+ messages in thread
From: Jambunathan K @ 2013-11-20  6:27 UTC (permalink / raw)
  To: emacs-orgmode

Alan L Tyree <alantyree@gmail.com> writes:

> What I mean is to enter something like \cite{mann82} in the text and
> have it spit out (Mann 1982) in each and every export as well as
> constructing an entry for the bibliography.

(For benefit of others)

ox-jabref.el and JabRef can spit things out in different formats.  I

I have added support for the odt backend.  But I have fleshed out the
basic details so that it could be re-targeted for HTML or Plain Ascii
export.

----------------

Often the problem is that the author is stuck with a given DB and tool
and is unwilling to let go of investments that he has made in that
specific tool.  (This is perfectly understandable.)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-19 16:25   ` Eric Schulte
  2013-11-20  2:48     ` Alan L Tyree
@ 2013-11-20 16:52     ` Richard Lawrence
  2013-11-21 22:00       ` Eric Schulte
  1 sibling, 1 reply; 18+ messages in thread
From: Richard Lawrence @ 2013-11-20 16:52 UTC (permalink / raw)
  To: emacs-orgmode

Eric Schulte <schulte.eric@gmail.com> writes:

> Ian Barton <lists@wilkesley.net> writes:
>
>> On 19/11/13 01:40, Christopher W. Ryan wrote:
>>> Not sure "citational" is even a word, but hopefully it conveys my meaning!
>>>
>>> I've been using LaTeX for academic writing and reading for quite some
>>> time, with emacs as my editor. I'm pretty familiar with managing a .bib
>>> file containing all the references I've collected, and using it in LaTeX
>>> \cite commands.
>>>
>>> I've come to org-mode more recently. I'm trying to imagine how I might
>>> use it to manage my "personal library." I have a directory full of pdf
>>> files, each a downloaded article. Some articles I reference in papers I
>>> write; others I just read and want to keep.  I also have a .bib file
>>> where I put the citational material for all those articles. Whenever I
>>> download an article, I add its entry to my .bib file. I tend to manage
>>> this with JabRef because it searches Medline so easily, but I also will
>>> edit the .bib file directly when necessary.
>>>
>>> I like the idea of an org file containing the citational information
>>> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
>>> drive, or on the internet. I could also include my notes about the
>>> articles. But what would that org file look like? How do I insert a
>>> reference to an article into the org file which contains the article I
>>> am writing?
>>>
>>> I'd be grateful for any explanations, or links to tutorials.
>>>

I am also a grad student, and I use a setup which is similar to Eric's,
but rather than importing from bibtex, I use Org's capture features to
directly input the bibliographic data when I come across something I
want to add to my reading list.  I don't maintain a separate .bib file
at all; rather I generate it as needed from the Org file containing my
reading list.

This setup allows me to think of readings as TODO items included in my
agenda, take notes and make links in the entry, and also keep
bibliographic data in Org (which I export via org-bibtex).

Here's what my setup looks like:

1)  A capture template for new readings.  My template looks like this:

** %^{Todo state|FIND|PRINT|READ|NOTES} [#%^{Priority|A|B|C}] %^{Description|Reading} %^g
   %^{TITLE}p %^{AUTHOR}p %^{AREA}p %?
   :PROPERTIES:
   :Entered: %U
   :END:

This template does not have a field for adding links to PDFs, but you
could easily add that.

2) A hook to add bibliographic data to reading entries when finalizing a
capture.  I put this in my Org setup:

;; post-processing in capture templates
(defun add-bibliographic-data ()
  ; this is a bit hacky: we detect the AUTHOR property, and create bibtex entries if
  ; it is present
  (message "optionally adding bibliographic data")
  (if (and (org-entry-get (point) "AUTHOR")
	   (y-or-n-p "Add bibliographic data? "))
      ; with prefix arg to get all fields:
      (org-bibtex-create-in-current-entry 1)
    nil))

(add-hook 'org-capture-before-finalize-hook (lambda () (add-bibliographic-data)))

There may be a better way to do this, but it works for me!

3) Elisp functions to export my entire reading list to .bib (these
assume that your readings are not in a separate file, but under a top-level
entry called "Reading list" in some other file):

;; lib/el/bib-export.el in my dissertation tree:
(setq dissertation-bib-file "~/Documents/philosophy/dissertation/build/dissertation.bib")

(defun add-headline-to-bib-buffer (bib-buffer)
  "Export headline at point to Bibtex into the given buffer"
  (let ((bib-entry (org-bibtex-headline))
	(custom-id (org-entry-get (point) "CUSTOM_ID")))
    (if (and custom-id bib-entry)
	(with-current-buffer bib-buffer
	  (insert bib-entry)))))
    
(defun export-subtree-to-bib-buffer (headline bib-buffer)
  "Export the entries in the subtree at point to Bibtex into the given buffer."
  (save-excursion
      (goto-char (org-find-exact-headline-in-buffer headline))
      (org-map-entries
       (lambda () (add-headline-to-bib-buffer bib-buffer))
       t ; match: all entries below this one
       'tree ; scope: just this subtree
       )))

(defun reading-list-to-bibtex ()
  "Export 'Reading list' headline in current buffer to dissertation.bib"
  (interactive)
  (let ((org-buffer (current-buffer))
	(bib-buffer (create-file-buffer "dissertation.bib")))
    (export-subtree-to-bib-buffer "Reading list" bib-buffer)
    (with-current-buffer bib-buffer
      (write-file dissertation-bib-file))))
   
4) A Makefile entry to call the export functions:

BATCH_EMACS=$(EMACS) --batch -Q 

bib: tasks.org lib/el/bib-export.el
	$(BATCH_EMACS) --load lib/el/bib-export.el --file tasks.org --funcall reading-list-to-bibtex


Thus, I can run "make bib" in my dissertation tree and get a fresh
export of all my readings to a .bib file.

Hope that helps!

Best,
Richard

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-20  6:27           ` Jambunathan K
@ 2013-11-21 21:14             ` Alan L Tyree
  2013-11-22  4:04               ` Eric Schulte
  2013-11-25 10:06               ` Jambunathan K
  0 siblings, 2 replies; 18+ messages in thread
From: Alan L Tyree @ 2013-11-21 21:14 UTC (permalink / raw)
  To: emacs-orgmode

On 20/11/13 17:27, Jambunathan K wrote:
> Alan L Tyree <alantyree@gmail.com> writes:
>
>> What I mean is to enter something like \cite{mann82} in the text and
>> have it spit out (Mann 1982) in each and every export as well as
>> constructing an entry for the bibliography.
> (For benefit of others)
>
> ox-jabref.el and JabRef can spit things out in different formats.  I
>
> I have added support for the odt backend.  But I have fleshed out the
> basic details so that it could be re-targeted for HTML or Plain Ascii
> export.
>
> ----------------
>
> Often the problem is that the author is stuck with a given DB and tool
> and is unwilling to let go of investments that he has made in that
> specific tool.  (This is perfectly understandable.)
Hi Jambu,
This is a bit cryptic. It seems to me that it is relatively easy to 
change DB and tools. I currently keep all my references in a bibtex DB, 
but there are plenty of conversion tools. The real problem is finding 
something that works.

I still find Org mode a bit frustrating in this context. In the above 
quote I say "something like \cite", but I don't really care what the 
entry looks like as long as it can retrieve information from a DB and 
construct the correct text reference and the correct bibliography entry 
across all exports.

Is there such a DB and tool?

Cheers,
Alan

>
>
>
>


-- 
Alan L Tyree                    http://www2.austlii.edu.au/~alan
Tel:  04 2748 6206              sip:typhoon@iptel.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-20 16:52     ` Richard Lawrence
@ 2013-11-21 22:00       ` Eric Schulte
  2013-11-22  4:03         ` Eric Schulte
  2013-11-23  0:06         ` Richard Lawrence
  0 siblings, 2 replies; 18+ messages in thread
From: Eric Schulte @ 2013-11-21 22:00 UTC (permalink / raw)
  To: Richard Lawrence; +Cc: emacs-orgmode

Richard Lawrence <richard.lawrence@berkeley.edu> writes:

> Eric Schulte <schulte.eric@gmail.com> writes:
>
>> Ian Barton <lists@wilkesley.net> writes:
>>
>>> On 19/11/13 01:40, Christopher W. Ryan wrote:
>>>> Not sure "citational" is even a word, but hopefully it conveys my meaning!
>>>>
>>>> I've been using LaTeX for academic writing and reading for quite some
>>>> time, with emacs as my editor. I'm pretty familiar with managing a .bib
>>>> file containing all the references I've collected, and using it in LaTeX
>>>> \cite commands.
>>>>
>>>> I've come to org-mode more recently. I'm trying to imagine how I might
>>>> use it to manage my "personal library." I have a directory full of pdf
>>>> files, each a downloaded article. Some articles I reference in papers I
>>>> write; others I just read and want to keep.  I also have a .bib file
>>>> where I put the citational material for all those articles. Whenever I
>>>> download an article, I add its entry to my .bib file. I tend to manage
>>>> this with JabRef because it searches Medline so easily, but I also will
>>>> edit the .bib file directly when necessary.
>>>>
>>>> I like the idea of an org file containing the citational information
>>>> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
>>>> drive, or on the internet. I could also include my notes about the
>>>> articles. But what would that org file look like? How do I insert a
>>>> reference to an article into the org file which contains the article I
>>>> am writing?
>>>>
>>>> I'd be grateful for any explanations, or links to tutorials.
>>>>
>
> I am also a grad student, and I use a setup which is similar to Eric's,
> but rather than importing from bibtex, I use Org's capture features to
> directly input the bibliographic data when I come across something I
> want to add to my reading list.  I don't maintain a separate .bib file
> at all; rather I generate it as needed from the Org file containing my
> reading list.
>
> This setup allows me to think of readings as TODO items included in my
> agenda, take notes and make links in the entry, and also keep
> bibliographic data in Org (which I export via org-bibtex).
>
> Here's what my setup looks like:
>
> 1)  A capture template for new readings.  My template looks like this:
>
> ** %^{Todo state|FIND|PRINT|READ|NOTES} [#%^{Priority|A|B|C}] %^{Description|Reading} %^g
>    %^{TITLE}p %^{AUTHOR}p %^{AREA}p %?
>    :PROPERTIES:
>    :Entered: %U
>    :END:
>
> This template does not have a field for adding links to PDFs, but you
> could easily add that.
>
> 2) A hook to add bibliographic data to reading entries when finalizing a
> capture.  I put this in my Org setup:
>
> ;; post-processing in capture templates
> (defun add-bibliographic-data ()
>   ; this is a bit hacky: we detect the AUTHOR property, and create bibtex entries if
>   ; it is present
>   (message "optionally adding bibliographic data")
>   (if (and (org-entry-get (point) "AUTHOR")
> 	   (y-or-n-p "Add bibliographic data? "))
>       ; with prefix arg to get all fields:
>       (org-bibtex-create-in-current-entry 1)
>     nil))
>
> (add-hook 'org-capture-before-finalize-hook (lambda () (add-bibliographic-data)))
>
> There may be a better way to do this, but it works for me!
>
> 3) Elisp functions to export my entire reading list to .bib (these
> assume that your readings are not in a separate file, but under a top-level
> entry called "Reading list" in some other file):
>
> ;; lib/el/bib-export.el in my dissertation tree:
> (setq dissertation-bib-file "~/Documents/philosophy/dissertation/build/dissertation.bib")
>
> (defun add-headline-to-bib-buffer (bib-buffer)
>   "Export headline at point to Bibtex into the given buffer"
>   (let ((bib-entry (org-bibtex-headline))
> 	(custom-id (org-entry-get (point) "CUSTOM_ID")))
>     (if (and custom-id bib-entry)
> 	(with-current-buffer bib-buffer
> 	  (insert bib-entry)))))
>     
> (defun export-subtree-to-bib-buffer (headline bib-buffer)
>   "Export the entries in the subtree at point to Bibtex into the given buffer."
>   (save-excursion
>       (goto-char (org-find-exact-headline-in-buffer headline))
>       (org-map-entries
>        (lambda () (add-headline-to-bib-buffer bib-buffer))
>        t ; match: all entries below this one
>        'tree ; scope: just this subtree
>        )))
>
> (defun reading-list-to-bibtex ()
>   "Export 'Reading list' headline in current buffer to dissertation.bib"
>   (interactive)
>   (let ((org-buffer (current-buffer))
> 	(bib-buffer (create-file-buffer "dissertation.bib")))
>     (export-subtree-to-bib-buffer "Reading list" bib-buffer)
>     (with-current-buffer bib-buffer
>       (write-file dissertation-bib-file))))
>    
> 4) A Makefile entry to call the export functions:
>
> BATCH_EMACS=$(EMACS) --batch -Q 
>
> bib: tasks.org lib/el/bib-export.el
> 	$(BATCH_EMACS) --load lib/el/bib-export.el --file tasks.org --funcall reading-list-to-bibtex
>
>
> Thus, I can run "make bib" in my dissertation tree and get a fresh
> export of all my readings to a .bib file.
>
> Hope that helps!
>
> Best,
> Richard
>

Very cool,

I think some of these functions could be merged into
contrib/lisp/org-bibtex-extras.el to very good effect.  In the mean time
I just pushed up a small change to this file which will resolve cite:
links and export them correctly to LaTeX.

Cheers,

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-21 22:00       ` Eric Schulte
@ 2013-11-22  4:03         ` Eric Schulte
  2013-11-23  0:06         ` Richard Lawrence
  1 sibling, 0 replies; 18+ messages in thread
From: Eric Schulte @ 2013-11-22  4:03 UTC (permalink / raw)
  To: Richard Lawrence; +Cc: emacs-orgmode

> In the mean time I just pushed up a small change to this file which
> will resolve cite: links and export them correctly to LaTeX.
>

I just reverted my addition to org-bibtex-extras.el as it looks like
ox-bibtex.el (also in contrib) already handles cite: links on export.

Best,

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-21 21:14             ` Alan L Tyree
@ 2013-11-22  4:04               ` Eric Schulte
  2013-11-22  5:37                 ` Alan L Tyree
  2013-11-25 10:06               ` Jambunathan K
  1 sibling, 1 reply; 18+ messages in thread
From: Eric Schulte @ 2013-11-22  4:04 UTC (permalink / raw)
  To: Alan L Tyree; +Cc: emacs-orgmode

Alan L Tyree <alantyree@gmail.com> writes:

> On 20/11/13 17:27, Jambunathan K wrote:
>> Alan L Tyree <alantyree@gmail.com> writes:
>>
>>> What I mean is to enter something like \cite{mann82} in the text and
>>> have it spit out (Mann 1982) in each and every export as well as
>>> constructing an entry for the bibliography.
>> (For benefit of others)
>>
>> ox-jabref.el and JabRef can spit things out in different formats.  I
>>
>> I have added support for the odt backend.  But I have fleshed out the
>> basic details so that it could be re-targeted for HTML or Plain Ascii
>> export.
>>
>> ----------------
>>
>> Often the problem is that the author is stuck with a given DB and tool
>> and is unwilling to let go of investments that he has made in that
>> specific tool.  (This is perfectly understandable.)
> Hi Jambu,
> This is a bit cryptic. It seems to me that it is relatively easy to
> change DB and tools. I currently keep all my references in a bibtex
> DB, but there are plenty of conversion tools. The real problem is
> finding something that works.
>
> I still find Org mode a bit frustrating in this context. In the above
> quote I say "something like \cite", but I don't really care what the
> entry looks like as long as it can retrieve information from a DB and
> construct the correct text reference and the correct bibliography
> entry across all exports.
>
> Is there such a DB and tool?
>
> Cheers,
> Alan
>

Checkout ox-bibtex.el in contrib used in combination with either ebib or
org-bibtex-extras.el.

Best,

-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-22  4:04               ` Eric Schulte
@ 2013-11-22  5:37                 ` Alan L Tyree
  0 siblings, 0 replies; 18+ messages in thread
From: Alan L Tyree @ 2013-11-22  5:37 UTC (permalink / raw)
  To: Eric Schulte; +Cc: emacs-orgmode

On 22/11/13 15:04, Eric Schulte wrote:
> Alan L Tyree <alantyree@gmail.com> writes:
>
>> On 20/11/13 17:27, Jambunathan K wrote:
>>> Alan L Tyree <alantyree@gmail.com> writes:
>>>
>>>> What I mean is to enter something like \cite{mann82} in the text and
>>>> have it spit out (Mann 1982) in each and every export as well as
>>>> constructing an entry for the bibliography.
>>> (For benefit of others)
>>>
>>> ox-jabref.el and JabRef can spit things out in different formats.  I
>>>
>>> I have added support for the odt backend.  But I have fleshed out the
>>> basic details so that it could be re-targeted for HTML or Plain Ascii
>>> export.
>>>
>>> ----------------
>>>
>>> Often the problem is that the author is stuck with a given DB and tool
>>> and is unwilling to let go of investments that he has made in that
>>> specific tool.  (This is perfectly understandable.)
>> Hi Jambu,
>> This is a bit cryptic. It seems to me that it is relatively easy to
>> change DB and tools. I currently keep all my references in a bibtex
>> DB, but there are plenty of conversion tools. The real problem is
>> finding something that works.
>>
>> I still find Org mode a bit frustrating in this context. In the above
>> quote I say "something like \cite", but I don't really care what the
>> entry looks like as long as it can retrieve information from a DB and
>> construct the correct text reference and the correct bibliography
>> entry across all exports.
>>
>> Is there such a DB and tool?
>>
>> Cheers,
>> Alan
>>
> Checkout ox-bibtex.el in contrib used in combination with either ebib or
> org-bibtex-extras.el.
Thanks Eric - I'll have a look.
Cheers,
Alan

>
> Best,
>


-- 
Alan L Tyree                    http://www2.austlii.edu.au/~alan
Tel:  04 2748 6206              sip:typhoon@iptel.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-21 22:00       ` Eric Schulte
  2013-11-22  4:03         ` Eric Schulte
@ 2013-11-23  0:06         ` Richard Lawrence
  1 sibling, 0 replies; 18+ messages in thread
From: Richard Lawrence @ 2013-11-23  0:06 UTC (permalink / raw)
  To: Eric Schulte; +Cc: emacs-orgmode

Hi Eric,

On Thu, Nov 21, 2013 at 03:00:00PM -0700, Eric Schulte wrote:
> Very cool,
> 
> I think some of these functions could be merged into
> contrib/lisp/org-bibtex-extras.el to very good effect.

Sure!  I'd be happy to help out with this.  I see you are the author
of org-bibtex-extras; feel free to grab/borrow/adapt any code from my
post, or let me know if there are changes I could work on and send
you.

Best,
Richard


(If possible, please encrypt your reply to me using my PGP key:
Key ID: CF6FA646
Fingerprint: 9969 43E1 CF6F A646.
See http://www.ocf.berkeley.edu/~rwl/encryption.html for more information.)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-21 21:14             ` Alan L Tyree
  2013-11-22  4:04               ` Eric Schulte
@ 2013-11-25 10:06               ` Jambunathan K
  1 sibling, 0 replies; 18+ messages in thread
From: Jambunathan K @ 2013-11-25 10:06 UTC (permalink / raw)
  To: Alan L Tyree; +Cc: emacs-orgmode

Alan L Tyree <alantyree@gmail.com> writes:

> Is there such a DB and tool?

I don't use bibliography much.  But, I *feel* ox-jabref.el + JabRef is
worth exploring.

You may have to create a layout file - possibly for one each backend -
that's about it.

Jambunathan K.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
  2013-11-19  1:40 managing articles in my personal library, and their citational material, using org mode instead of bibtex Christopher W. Ryan
  2013-11-19  8:28 ` Ian Barton
  2013-11-19 10:41 ` Karl Voit
@ 2013-11-25 18:29 ` John Kitchin
  2 siblings, 0 replies; 18+ messages in thread
From: John Kitchin @ 2013-11-25 18:29 UTC (permalink / raw)
  To: Christopher W. Ryan; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 3672 bytes --]

I have the following org/bibtex habits:

1. I keep all bibtex entries in a single bibtex file, usually by pasting
them from one source to the file. I save the pdf of the article with a
filename equal to the bibtex key in a single directory.

With the point on the bibtex entry, I run a command defined here (
https://github.com/jkitchin/jmax/blob/prelude/jorg-bib.el#L76) that creates
a TODO entry in my notes.org file with a link to the pdf file in it. I can
run another command that opens the pdf file. I bind those commands to f11
and f12 for convenience. For a while, I also had the entry automatically
added to citeulike. Here is an example entry in my notes.org file. These
TODO get picked up in my agenda to remind me to read them.

** TODO 2005 - {A general scheme for the estimation of oxygen  binding
energies on binary transition metal surface  alloys}
 :PROPERTIES:
  :Custom_ID: Greeley2005
  :AUTHOR: Greeley, Jeff and N{\o}rskov, Jens K.
  :JOURNAL: Surface Science
  :YEAR: 2005
  :VOLUME: 592
  :PAGES: 104--111
 :END:
[[cite:Greeley2005]]
[[file:~/Dropbox/bibliography/bibtex-pdfs/Greeley2005.pdf][pdf]]

in my jorg-bib.el file I define a lot of cite links. These let me click on
a key in a cite:key1,key2  link and open the entry in the bibtex file, i.e.
if I click on key1 it goes to that entry, and if I click on key2 it goes to
that entry. Once I could right click on a key and open the pdf, but I seem
to have misplaced that function, now I just click the link which opens the
bibtex file at the entry, and I press f12 which opens the pdf. I find this
clicking to get the full entry very handy when I am working on manuscripts
and trying to remember what I cited.

The links get converted to \cite{} for latex. I do not have a good html
solution yet, mostly because I don't need it that often. I haven't tried
the org-bibtex code yet, and don't have bibtex2html on my windows machine.

This "mostly" works fine for me, and suits my workflows.

John

-----------------------------------
John Kitchin
Associate Professor
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
http://kitchingroup.cheme.cmu.edu



On Mon, Nov 18, 2013 at 8:40 PM, Christopher W. Ryan
<cryan@binghamton.edu>wrote:

> Not sure "citational" is even a word, but hopefully it conveys my meaning!
>
> I've been using LaTeX for academic writing and reading for quite some
> time, with emacs as my editor. I'm pretty familiar with managing a .bib
> file containing all the references I've collected, and using it in LaTeX
> \cite commands.
>
> I've come to org-mode more recently. I'm trying to imagine how I might
> use it to manage my "personal library." I have a directory full of pdf
> files, each a downloaded article. Some articles I reference in papers I
> write; others I just read and want to keep.  I also have a .bib file
> where I put the citational material for all those articles. Whenever I
> download an article, I add its entry to my .bib file. I tend to manage
> this with JabRef because it searches Medline so easily, but I also will
> edit the .bib file directly when necessary.
>
> I like the idea of an org file containing the citational information
> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
> drive, or on the internet. I could also include my notes about the
> articles. But what would that org file look like? How do I insert a
> reference to an article into the org file which contains the article I
> am writing?
>
> I'd be grateful for any explanations, or links to tutorials.
>
> Thanks.
>
> --Chris Ryan
> SUNY Upstate Medical University
> Binghamton, NY
>
>

[-- Attachment #2: Type: text/html, Size: 4540 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: managing articles in my personal library, and their citational material, using org mode instead of bibtex
@ 2013-11-21  0:49 Jorge A. Alfaro Murillo
  0 siblings, 0 replies; 18+ messages in thread
From: Jorge A. Alfaro Murillo @ 2013-11-21  0:49 UTC (permalink / raw)
  To: Alan L Tyree; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 11008 bytes --]

I once tried to do something similar in org mode, at the end I thought I
was doing twice the work, so I ended up with just one big .bib file.

I copy the bib info from the website and then I have a function to yank it
a little bit cleaner into my bib file, something like this:

  (defun bibtex-yank-citation ()
    "Yanks a citation in a .bib file. Eliminates several fields,
  removes the key for the entry, and changes the abstract field for
  an annote field."
    (interactive)
    (goto-char (point-max))
    (let ((position (point)))
      (insert (current-kill 0))
      (goto-char position)
      (re-search-forward "\\(@.+?{\\).+?," nil t)
      (replace-match "\\1," nil nil)
      (goto-char position)
      (while (re-search-forward "%" nil t)
             (replace-match "\\\\%" nil nil))
      (goto-char position)
      (while (re-search-forward "’" nil t)
             (replace-match "'" nil nil))
      (goto-char position)
      (while (re-search-forward "á" nil t)
             (replace-match "{\\\\\'a}" nil nil))
      (goto-char position)
      (while (re-search-forward "é" nil t)
             (replace-match "{\\\\\'e}" nil nil))
      (goto-char position)
      (while (re-search-forward "í" nil t)
             (replace-match "{\\\\\'i}" nil nil))
      (goto-char position)
      (while (re-search-forward "ó" nil t)
             (replace-match "{\\\\\'o}" nil nil))
      (goto-char position)
      (while (re-search-forward "ú" nil t)
             (replace-match "{\\\\\'u}" nil nil))
      (goto-char position)
      (while (re-search-forward "ñ" nil t)
             (replace-match "{\\\\~n}" nil nil))
      (goto-char position)
      (while (re-search-forward "ç" nil t)
             (replace-match "{\\\\c{c}}" nil nil))
      (goto-char position)
      (while (re-search-forward "–" nil t)
             (replace-match "-" nil nil))
      (goto-char position)
      (delete-matching-lines

"^[[:space:]]*\\(keywords\\)\\|\\(note\\)\\|\\(url\\)\\|\\(jstor\\)\\|\\(doi\\)\\|\\(issn\\)\\|\\(html\\)\\|\\(language\\)\\|\\(copyright\\)\\|\\(eprint\\)")
      (goto-char position)
      (while (re-search-forward "\\(^[[:space:]]*\\)abstract" nil t)
             (replace-match "annote" nil nil))))


It also removes the key, so that then I just add extra information into the
annote field and then I generate the key with C-c C-c (bibtex-clean-entry).
You can configure your key type very specifically. See all the variables
bibtex-autokey-

That takes care of the new bibtex entry without effort. Now I have

  (defun bibtex-kill-ring-save-key ()
    "Kill-ring-save the bibtex key."
    (interactive)
    (let ((position (point)))
      (if (not (eq (point-max) position))
          (forward-char))
      (search-backward-regexp "^@" nil nil)
      (search-forward "{")
      (copy-region-as-kill (point)
                           (funcall (lambda ()
                                      (search-forward ",")
                                      (backward-char)
                                      (point))))
      (goto-char position)))

To save the key to the kill-ring, and then I save the paper with that
filename under a unique folder.

Finally I have a function that opens the respective pdf when the cursor is
within one entry. And keys for the functions, bound to Hyper keys:
  (eval-after-load "bibtex" '(progn
                               (define-key bibtex-mode-map
                                 (kbd "H-y") 'bibtex-yank-citation)
                               (define-key bibtex-mode-map
                                 (kbd "H-r") 'bibtex-kill-ring-save-key)
                               (define-key bibtex-mode-map
                                 (kbd "H-o")
'bibtex-open-reference-at-point)))

I even have a similar function that I use globally:
      (defun open-reference-at-point ()
        (interactive)
        (er/expand-region 2)
        (let* ((beg (region-beginning))
              (end (region-end))
              (article-name (buffer-substring beg end)))
          (call-process "evince" nil 0 nil
                        (concat "~/documents/references/articles/"
                                article-name
                                ".pdf")))
        (keyboard-quit))

So if I am in LaTeX, it is enough to call open-reference-at-point over the
text in \cite{...} and the pdf opens automatically.

As you can see everything just depends on using one folder for all the
references, one file for all the bib entries and the same name of the key
dot pdf for the pdf name. And you end up with an automatically super good
documented bib file. Which is very handy when you call C-c [ in LaTeX
(reftex-citation) and just vaguely remember something about what you want
to cite. Also if you want to open a certain reference you can search your
well documented bib file and open the reference with one key.

One last thing to get navigation a la org mode (C-c C-p and C-c C-n) and
folding with TAB in your bib file:

  (defun bibtex-previous-entry ()
    "Go to the previous bibtex entry."
    (interactive)
    (search-backward-regexp "^@" nil nil 2)
    (search-forward "{"))

  (defun bibtex-next-entry ()
    "Go to the next bibtex entry."
    (interactive)
    (search-forward-regexp "^@")
    (search-forward "{"))

  (add-hook 'bibtex-mode-hook (lambda ()
                                (hs-minor-mode)
                                (hs-hide-all)))

  (eval-after-load "bibtex" '(progn
                               (define-key bibtex-mode-map
                                 (kbd "<tab>") 'hs-toggle-hiding)
                               (define-key bibtex-mode-map
                                 (kbd "C-c C-p") 'bibtex-previous-entry)
                               (define-key bibtex-mode-map
                                 (kbd "C-c C-n") 'bibtex-next-entry)))

This almost makes you forget that you are actually in a bib file and not an
org-mode file.

Cheers,

Jorge.

On 20/11/13 14:37, Eric Schulte wrote:
> Alan L Tyree <alantyree@gmail.com> writes:
>
>> On 20/11/13 03:25, Eric Schulte wrote:
>>> Ian Barton <lists@wilkesley.net> writes:
>>>
>>>> On 19/11/13 01:40, Christopher W. Ryan wrote:
>>>>> Not sure "citational" is even a word, but hopefully it conveys my
meaning!
>>>>>
>>>>> I've been using LaTeX for academic writing and reading for quite some
>>>>> time, with emacs as my editor. I'm pretty familiar with managing a
.bib
>>>>> file containing all the references I've collected, and using it in
LaTeX
>>>>> \cite commands.
>>>>>
>>>>> I've come to org-mode more recently. I'm trying to imagine how I might
>>>>> use it to manage my "personal library." I have a directory full of pdf
>>>>> files, each a downloaded article. Some articles I reference in papers
I
>>>>> write; others I just read and want to keep.  I also have a .bib file
>>>>> where I put the citational material for all those articles. Whenever I
>>>>> download an article, I add its entry to my .bib file. I tend to manage
>>>>> this with JabRef because it searches Medline so easily, but I also
will
>>>>> edit the .bib file directly when necessary.
>>>>>
>>>>> I like the idea of an org file containing the citational information
>>>>> (authors, title, journal, etc)  *plus* links to the pdfs on my hard
>>>>> drive, or on the internet. I could also include my notes about the
>>>>> articles. But what would that org file look like? How do I insert a
>>>>> reference to an article into the org file which contains the article I
>>>>> am writing?
>>>>>
>>>>> I'd be grateful for any explanations, or links to tutorials.
>>>>>
>>>> Can't help with managing the citations in org, as the last time I had
>>>> to do this I was using a card index file:)
>>>>
>>>> However, to address your other questions one way of doing this would
>>>> be to create an org file with a heading for each article:
>>>>
>>>> * Article 1.
>>>> Here are some notes.
>>>>
>>>> * Article 2
>>>> My notes
>>>>
>>> I've been using such an org file for most of grad school and I couldn't
>>> be happier with the results.  I have a single reading.org file with one
>>> top-level entry for each article I read.  Currently at 533 articles
>>> (many still tagged TODO) and 16,558 lines.
>>>
>>> To create each headline, I first copy the bibtex information onto my
>>> clipboard, then I call `org-bibtex-yank' which converts the bibtex
>>> information into a headline with properties. E.g.,
>>>
>>>       * Software mutational robustness
>>>         :PROPERTIES:
>>>         :TITLE:    Software mutational robustness
>>>         :BTYPE:    article
>>>         :CUSTOM_ID: schulte2013software
>>>         :YEAR:     2013
>>>         :ISSN:     1389-2576
>>>         :JOURNAL:  Genetic Programming and Evolvable Machines
>>>         :DOI:      10.1007/s10710-013-9195-8
>>>         :URL:      http://dx.doi.org/10.1007/s10710-013-9195-8
>>>         :PUBLISHER: Springer US
>>>         :KEYWORDS: Mutational robustness; Genetic programming; Mutation
testing; Proactive diversity; N-version programming; Neutral landscapes
>>>         :AUTHOR:   Schulte, Eric and Fry, ZacharyP. and Fast, Ethan and
Weimer, Westley and Forrest, Stephanie
>>>         :PAGES:    1-32
>>>         :LANGUAGE: English
>>>         :END:
>>>       file:papers/10.1007_s10710-013-9195-8.pdf
>>>
>>>       The arXiv preprint is up at http://arxiv.org/abs/1204.4224.
>>>
>>>       More notes...
>>>
>> Is there some easy way to import entire bibtex files in this way?
>>
> org-bibtex-import-from-file
>
>> I find citations to be frustrating. Is there some way that bibtex (or
>> org files such as the above) can be used to enter citations in an org
>> file so that they are exported correctly by the different exporters?
>>
>> Or is there someplace where all this information is gathered and I
>> just am too blind to see it?
>>
> I don't know, I personally use org-bibtex-export-to-kill-ring to convert
> citations to bibtex individually and manually.
I think I have a terminology problem. What I mean is to enter
something like \cite{mann82} in the text and have it spit out (Mann
1982) in each and every export as well as constructing an entry for
the bibliography.

Of course, the actual form of the output should be configurable to
some extent, but I'd be happy with one form that always comes out the
same.

Is that possible? I'm currently fudging the issue by entering a
Markdown style entry in the text, for example
[@mann82:_legal_aspec_money], exporting to Markdown and then using
Pandoc to get the final result.

Not elegant.

Cheers,
Alan

>> Thanks for any help.
>> Alan
>>
>> <SNIP>


-- 
Alan L Tyree                    http://www2.austlii.edu.au/~alan
Tel:  04 2748 6206              sip:typhoon@iptel.org

[-- Attachment #2: Type: text/html, Size: 13777 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2013-11-25 18:29 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-19  1:40 managing articles in my personal library, and their citational material, using org mode instead of bibtex Christopher W. Ryan
2013-11-19  8:28 ` Ian Barton
2013-11-19 16:25   ` Eric Schulte
2013-11-20  2:48     ` Alan L Tyree
2013-11-20  3:37       ` Eric Schulte
2013-11-20  6:16         ` Alan L Tyree
2013-11-20  6:27           ` Jambunathan K
2013-11-21 21:14             ` Alan L Tyree
2013-11-22  4:04               ` Eric Schulte
2013-11-22  5:37                 ` Alan L Tyree
2013-11-25 10:06               ` Jambunathan K
2013-11-20 16:52     ` Richard Lawrence
2013-11-21 22:00       ` Eric Schulte
2013-11-22  4:03         ` Eric Schulte
2013-11-23  0:06         ` Richard Lawrence
2013-11-19 10:41 ` Karl Voit
2013-11-25 18:29 ` John Kitchin
2013-11-21  0:49 Jorge A. Alfaro Murillo

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