Benedict Kavanagh | 22 Jul 2009 13:00
Picon
Picon

tagging of muse files.

Hi All,

Is there any existing feature or work in development for tagging muse 
files? In particular by tagging I mean to give an explicit category to 
be used for filtering or to create a tag cloud. If there is no such 
feature can other people advise if they find this feature important and 
how they get around the lack of it in muse?

I need this feature to organise all of the references I read. For each 
paper I read, I write a muse page which looks like the example below. I 
want to be able to browse automatically generated buffers with links to 
all the files with a particular tag. 

I can write the functionality myself if it doesn't exist. In this case I 
would appreciate coding/format suggestions so that the feature would be 
useful to many (easy to use, easy to learn, consistent with current 
patterns of use, etc)

Please also advise if this is a poor use of muse and there is an 
alternate package with which I can accomplish my goals.

--Ben

Example
---------------
Deriving Target Code as a Representation of Continuation Semantics

url: http://portal.acm.org/citation.cfm?id=357179

http://myurl.net/library/wand-1982-deriving-target-code-as-represention-cps.pdf
(Continue reading)

Markus Hoenicka | 22 Jul 2009 13:40
Picon

Re: tagging of muse files.

Hi,

Quoting Benedict Kavanagh <b.i.kavanagh <at> sms.ed.ac.uk>:

> I need this feature to organise all of the references I read. For each
> paper I read, I write a muse page which looks like the example below. I
> want to be able to browse automatically generated buffers with links to
> all the files with a particular tag.

This sounds like an interesting approach to (ab-)use muse. I'm just a  
bit concerned about the performance of creating buffers on demand  
based on tags. I'm currently maintaining approx. 1800 references with  
more than 8000 keywords/tags. Also, the more references there are, the  
more useful it is to look for references that contain two or more  
keywords rather than just one.

> Please also advise if this is a poor use of muse and there is an
> alternate package with which I can accomplish my goals.
>

I use planner-mode (which runs on top of muse) for project planning,  
for writing instructions and method sheets, and for just about  
everything else. I guess there is no poor use if things work the way  
you want.

I prefer to maintain references in a database  
(http://refdb.sourceforge.net). There is an Emacs frontend (see  
http://www.emacswiki.org/emacs/RefdbMode) which allows you to run your  
everyday tasks from within Emacs. There is also reverse lookup (jump  
to the reference from e.g. an author name or a citation key in your  
(Continue reading)

Per B. Sederberg | 22 Jul 2009 14:40
Picon
Favicon

Re: tagging of muse files.

Hi Benedict:

I was wanting the exact same thing and started coding it up, but never
finished.  The approach I was taking was to enable the ability to
store tags and aliases for each muse file via the directives at the
top:

#title My Title
#tags fun stuff; work; etc
#aliases Your Title; Another Title

In order to make the lookup of these very fast, I store all the tags
and aliases for all my muse files in a project in hash tables that are
loaded at startup.  Then it's really fast to update the hash tables
whenever you create a new file or change an existing one.

I got the base level of this all working, but never had time to do
anything useful with it (i.e., a fancy interactive lookup based on
tags and aliases similar to what you suggest.)  What I wanted was a
dependency-free/text-file-only version of something a friend and I
coded up with pymacs called freex:

http://code.google.com/p/emacs-freex/

If you like, I'm happy to send you my code (called muse-meta.el,
referring to muse meta data) as a point of reference or even a
starting point.  If I ever have any free time to devote to this, I may
try and finish up what I have started and submit it to the muse
codebase (I was writing it as if that was the plan.)

(Continue reading)

Ben Kavanagh | 22 Jul 2009 15:31
Picon

Re: tagging of muse files.

Hi Markus,

Thanks for your feedback.  It was very helpful.

Markus Hoenicka wrote:
>
> This sounds like an interesting approach to (ab-)use muse. I'm just a  
> bit concerned about the performance of creating buffers on demand  
> based on tags. I'm currently maintaining approx. 1800 references with  
> more than 8000 keywords/tags. Also, the more references there are, the  
> more useful it is to look for references that contain two or more  
> keywords rather than just one
Yes, any package providing tag-keyword indexing would have to address 
this. There are ways to handle this, using caching of index and index 
reconstruction on save.  Per mentions this in a later message.

> I prefer to maintain references in a database  
> (http://refdb.sourceforge.net). There is an Emacs frontend (see  
> http://www.emacswiki.org/emacs/RefdbMode) which allows you to run your  
> everyday tasks from within Emacs. There is also reverse lookup (jump  
> to the reference from e.g. an author name or a citation key in your  
> document) as well as citation support. The latter works also for Muse  
> documents
I had looked at this briefly. I just took a second look because of your 
message. This seems a good solution but it is missing connectivity to 
muse. For me the reference entry is a place to do the following

1. Discuss main ideas of paper.
2. Link to wiki (muse) pages on these main ideas
3. Link to related papers. In particular
(Continue reading)

Benedict Kavanagh | 22 Jul 2009 15:42
Picon
Picon

Re: tagging of muse files.

Hi Per,

I think that the tags format you suggest is sensible and I would be 
quite happy with it. I would be happy if you sent me the code for 
current muse-meta.el. I think writing some query functions may be a 
short path to getting something reasonable up and running.

--Ben

Per B. Sederberg wrote:
> Hi Benedict:
>
> I was wanting the exact same thing and started coding it up, but never
> finished.  The approach I was taking was to enable the ability to
> store tags and aliases for each muse file via the directives at the
> top:
>
> #title My Title
> #tags fun stuff; work; etc
> #aliases Your Title; Another Title
>
> In order to make the lookup of these very fast, I store all the tags
> and aliases for all my muse files in a project in hash tables that are
> loaded at startup.  Then it's really fast to update the hash tables
> whenever you create a new file or change an existing one.
>
> I got the base level of this all working, but never had time to do
> anything useful with it (i.e., a fancy interactive lookup based on
> tags and aliases similar to what you suggest.)  What I wanted was a
> dependency-free/text-file-only version of something a friend and I
(Continue reading)

Markus Hoenicka | 22 Jul 2009 15:53
Picon

Re: tagging of muse files.

Quoting Ben Kavanagh <ben.kavanagh <at> gmail.com>:

> Yes, any package providing tag-keyword indexing would have to address
> this. There are ways to handle this, using caching of index and index
> reconstruction on save.  Per mentions this in a later message.
>

Right, I should have thought about this a little longer. etags  
provides this kind of indexing for function and variable names in  
source code.

> I had looked at this briefly. I just took a second look because of your
> message. This seems a good solution but it is missing connectivity to
> muse. For me the reference entry is a place to do the following
>
> 1. Discuss main ideas of paper.
> 2. Link to wiki (muse) pages on these main ideas
> 3. Link to related papers. In particular
>    * most important papers that led to this development
>    * most important papers  that came from it.
> 4. Link from wiki pages to reference
>
> Based on my brief look so far refdb  provides (1) by allowing to enter
> extended notes. It does not appear to provide the others.
>

It does (4) too, whereas (2) and (3) are doable but in a  
less-than-desirable fashion currently (i.e. you wouldn't want to do  
it). My planner-mode protocols and method sheets all contain links to  
references, usually as a citation key. This is a string like  
(Continue reading)

Ben Kavanagh | 22 Jul 2009 17:39
Picon

Re: tagging of muse files.

Markus Hoenicka wrote:
>
>> I had looked at this briefly. I just took a second look because of your
>> message. This seems a good solution but it is missing connectivity to
>> muse. For me the reference entry is a place to do the following
>>
>> 1. Discuss main ideas of paper.
>> 2. Link to wiki (muse) pages on these main ideas
>> 3. Link to related papers. In particular
>>    * most important papers that led to this development
>>    * most important papers  that came from it.
>> 4. Link from wiki pages to reference
>>
>> Based on my brief look so far refdb  provides (1) by allowing to enter
>> extended notes. It does not appear to provide the others.
>>
>
> It does (4) too, whereas (2) and (3) are doable but in a 
> less-than-desirable fashion currently (i.e. you wouldn't want to do 
> it). My planner-mode protocols and method sheets all contain links to 
> references, usually as a citation key. This is a string like 
> "MILLER1999". You can mark this citation key with your mouse and call 
> a RefDB command to display this reference.
>
OK.  refdb/refdb-mode seems already well along the way to being what I 
want.  In muse I'd prefer to use a normal muse link with new syntax, for 
example [[ref::MILLER1999]] or ref://MILLER1999 but I can write that 
extension if it doesn't exist.

I'd really like to have feature (2) and (3) above in refdb-mode.  
(Continue reading)

Markus Hoenicka | 22 Jul 2009 23:38
Picon

Re: tagging of muse files.

Quoting Ben Kavanagh <ben.kavanagh <at> gmail.com>:

> OK.  refdb/refdb-mode seems already well along the way to being what  
> I want.  In muse I'd prefer to use a normal muse link with new  
> syntax, for example [[ref::MILLER1999]] or ref://MILLER1999 but I  
> can write that extension if it doesn't exist.

I dunno whether this suits your needs, but muse already has support  
for citations on board, see  
http://mwolson.org/static/doc/muse/Citations.html#Citations

Basically, things like <cite>Miller1999</cite> are translated properly  
for later use with RefDB when publishing to LaTeX or to DocBook.  
Marking the contents of the cite element allows you to look up the  
reference with refdb-mode. You can also search references in the  
database and insert citations like the one above into your documents.

> require.  I don't know how 'easy to read' references are in  
> refdb-mode as I haven't installed it yet but if it wasn't what I

refdb-mode supports all output formats of RefDB. There's quite a few  
to choose from, like a plain-text format, bibtex, DocBook, HTML,  
XHTML, TEI, and MODS. Others could be added with a reasonable amount  
of work.

regards,
Markus

--

-- 
Markus Hoenicka
(Continue reading)


Gmane