/r/orgmode
Org-mode is an Emacs major mode for taking notes, managing to-do lists, planning projects, authoring documents, literate programming and devops, and more, using a fast and effective plain-text system.
Org mode is an Emacs major mode for taking notes, managing to-do lists, planning projects, authoring documents, literate programming and devops, and more, using a fast and effective plain-text system.
Donate via Liberapay
/r/orgmode
May be a dumb question - but I take all my personal notes in orgmode, i have a file called groceries.org and its just what you think it is, a checkbox list of things to buy.
I want the easiest way to use this list (add to it and check off items) when i'm on the go - what's the best way to do this? Beorg on IOS is great for todo items, but the checkboxes are just plaintext. Organice is OK but I have some slight gripes with it.
if there's no solutions I guess I'll build a little something, just wanted to check first - thanks!
I use org-mode a lot to track notes, ideas, and TODO lists for the various projects I work on. I'd like to start using org-mode to create meeting agendas for various status and tagup meetings I attend with my boss and other team-mates working on projects. To date, my LaTEX/PDF exports tend to look more like term papers with bullet lists instead of paragraphs of text, so I end up cutting/pasting into MS Word to get simple lists of topics and action items to status.
Does anyone have a recommended template or workflow for preparing itemized lists of topics to discuss at meetings? I've found several templates for capturing meeting minutes, but my needs are slightly different than that. I'm looking for a titled document with a date and simple two-column bulleted lists - perhaps including a table, graphic, etc.?
Metanote now supports various sync methods to seamlessly connect your documents between your computer and iPhone. You can configure sync in the settings, including local directories, Git, iCloud, Dropbox, OneDrive, WebDAV (Apache WebDAV Server, ownCloud, Yandex.disk, etc.). Local directories, Git, and iCloud are implemented by adding external folders, while other methods have built-in sync. Sync is fully automatic, and you hardly need to trigger it actively. In most cases, when you need it, your latest files are already there. You can use Metanote as a data center, syncing with different directories and different cloud services, or syncing with multiple cloud services on the same directory. Feel free to explore more ways to use it.
https://apps.apple.com/ca/app/metanote-notes-docs-tasks/id6452550221
Metanote is a plain text editor for mobile that supports org mode.
This morning, in the context of Org mode, I discovered one nice aspect of ChatGPT; and was reminded of one nasty aspect. At best this may be no more than a minor cautionary tale for y'all, and probably one with which most of you are already familiar. But know that I appreciate you allowing me to rage against the machine for a few minutes. At very least it'll stop me chucking my laptop out the nearest open window.
So, as well as reading docs, trying code, and my usual flailing about as I learn Org and lisp, I admit that I am not averse to also seeing what ChatGPT has to say on a topic. Today it was on the use of properties in calculations, in particular table formulae, and using org-entry-get-multivalued-property
and the like.
After some back and forth -- and one thing I am impressed with about the tool is precisely its ability to go back and forth in a conversational style -- after that back and forth, I got an answer I thought was worth dropping right into my Org mode notes for keeps. After copy/pasting the text into an Org capture window and saving, I C-u C-u C-c c
'ed over to it and began to convert into Org format. But I quickly stopped myself, realizing that hey, why am I doing this when surely ChatGPT could just do it for me. So, I popped back over to ChatGPT, and asked it to do that, and voila, Org-formatted answer.
That's the nice aspect. And fine, fine fine, you all already knew that, but it was new to me. A small, not completely unexpected, but still pleasant surprise. Especially because ChatGPT's answer included some embedded lisp, and so I was able to execute it quickly because it was in a form Org would recognize as lisp (in a #+TBLFM:
line to be precise.)
But, then I was quickly reminded (this is not my first ChatGPT rodeo) of the nasty aspect.
The tool, while often useful, is just as often an absolute slavering, psychotic menace. The answer it had given was just wrong. A-go-go. It had made several errors in use of #+BEGIN/#+END: blocks; its lisp wasn't correct (it was syntactically fine, but it didn't do what the answer said it would do), and the entire example could never have worked even if all the other part were fixed! And I know that because I argued with it over the other points -- it's so polite when it argues, but it doesn't fool me! -- and it did fix them, but I eventually gave up because I could see that even with the successive corrections, I was not converging on a correct answer.
Wonderfully Org-formatted though. So there's always that. :-)
I've been having a weird issue w/ org-mode for a while now. I have a giant org file (~3 megs) with tons of nested headlines, and every so often when I'm zooming around one of them won't expand. Other nearby headlines will still expand, but this one won't.
I can get around the issue by deleting the collapsed headline and whatever subtree is underneath it, then yanking it back, right where it was. Once I do that, I can expand it just fine, and I won't have the problem again for days. I can't figure out any commonalities as to why this happens. I think it's happened across multiple versions of emacs (running 29.2 now) and org (9.6.25) but because I am a dumbass, I was not exhaustive in tracking the first appearance.
I doubt anybody will be able to diagnose the issue from what I've written here, so diagnosis isn't what I'm after. What I'm after is this: could someone tell me how to get whatever contextual info would be most relevant to debug it properly, next time it happens? Then I can come back and have a chance of figuring it out.
Been using Desktop Save Mode after coming across a post about it--it works great but it doesn't seem to restore Org Agenda buffers (not org agenda files which restore as you would expect, but e.g. org-agenda-list
. In place of what should have been a buffer for org-agenda-list
is a seemingly random buffer.
Apparently desktop-buffer-mode-handlers
can add support for Org Agenda buffers but I don't see an e.g. org-agenda-restore-buffer
so I guess on would need to use a custom function? I don't know much programming so hoping someone has found a solution for this.
I also looked into activities.el but it looks like each "activity" is a frame/tab, but for my workflow with a tiling window manager I find it more suitable to liberally create and destroy frames from my window manager's workspaces and for now at least am just looking for a way to restore all buffers/frames/window configuration without the need to create and switch projects. Actually activities.el might be suitable if an activity includes a set a frames. I prefer dealing with frames than Emac's window management because I often work with at least a browser alongside in a window manager workspace and it's just less cognitive overhead to treat each buffer as a frame when the rest of your applications are also managed by the window manager.
So I'm just a beginner in org mode, I just installed emacs and that's all and I know so little in it and to be honest, I'm quite lost and based from what I've seen from other people the learning curve is so high and it would take hours to set it up (I want my setup to look like this https://youtu.be/hnMntOQjs7Q?feature=shared, this is what made me curious to try to go from obsidian to org mode) but I'm pondering about it that maybe the switch wouldn't be worth it.
Hi all,
I already tried asking this over on the citeproc-el github, but while I wait for an answer there I figured I would try my luck here.
Basically, I'm having trouble rendering certain superscripted citations properly when exporting to ODT. Instead of showing a proper superscripted citation, the generated ODT document shows the underlying org
shorthand (e.g., ^{1}
). Using a (relatively) minimal example:
#+TITLE: Manuscript Title
#+OPTIONS: author:nil toc:nil num:nil
#+CITE_EXPORT: csl ~/path/to/CSL/styles/american-medical-association.csl
* Testing
This is a test sentence with a citation.[cite:@somecitekey]
This is standard superscript.^{1}
#+PRINT_BIBLIOGRAPHY:
The first sentence will render as (^{1}
), and the second sentence will render with appropriate superscript (^(1)). The bibliography will render appropriately according to the CSL style, as expected.
Interestingly, when I export to other formats such as HTML, the superscripted citations render appropriately—it's only ODT that has issues. Also, unsurprisingly, this isn't an issue for CSL formats that do not require superscript for in-text citations.
For reference, I'm using citeproc-el
and the advanced org-mode-ox-odt
fork to export org files to ODT, although I don't know how much of a difference this makes.
Any help or insight would be greatly appreciated!
This began as a comment to the thread entitled, "Are timestamps allowed inside the PROPERTIES drawer?", but I'm pulling it out to here because it may be of use to others, and it turns out to be even more intricate than I thought. The basic issue concerns where timestamps are "best" placed. In the original question, the focus was on whether an Entry's PROPERTY drawer was an acceptable location, but I've been trying to understand it more generally. When I wrote my answer earlier today, I talked about how Org handled timestamps depending on which of FOUR locations was chosen. In the subsequent hours, I've discovered a FIFTH. It wouldn't surprise me if there are even more. So, FWIW:
Among the more common place timestamps tend to be found, I have found FIVE that are worth considering because of how Org treats them in different situations. Four are in an Entry's heading, and there's one more that can live elsewhere. They are:
In terms of which, from the above, you might want choose to place a timestamp I've figured out -- by reading but also by trying out, because the docs are sometimes unclear, and sometimes just wrong -- is the following:
TIMESTAMP
and TIMESTAMP_IA
. So timestamps as property values have effect in the context of deciding what gets shown in the Agenda, and they are also heeded for things like org-sort-entries
, when sorting by time (but not by creation time -- see item 5). But they won't show up in column view as TIMESTAMP
or TIMESTAMP_IA
. I think this is verging on being a bug. On the other hand, if you do assign a timestamp as the value of a property of your own -- :MY_TIMESTAMP:
, say -- then that will be available for viewing in column view, if you set up org-columns-default-format
accordingly, for example.org-sort-entries
if option 'c', "by creation time" is chosen. However, "beginning of a line" is a wee bit ambiguous. As far as I can see, what matters is that the timestamp in question should be the first text in the line other than whitespace. So I guess it's looking for something like the following (forgive my cack-handed attempt at a regexp -- and this for only the simpler, date-only stamp):^ *\[[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\} [A-Z][a-z]\{2\}\]
So, there you are; at least five different places for timestamps, all with slightly different treatments, significant or not depending on what you are trying to achieve. And so the precise answer to this post's question:
"When is an Org timestamp not an Org timestamp?"
is something like:
"Never. An Org timestamp is always an Org timestamp. But depending on where you put it, it might still bite you in ass when you don't expect it."
† I'm not sure how definitive it is meant to be, but there is a possible minor issue with section 4.3.4 Planning of the Org Syntax document in https://orgmode.org/worg. In the section defining KEYWORD it says,
Either the string DEADLINE, SCHEDULED, or CLOSED.
but, the colons are missing and it really should say,
Either the string DEADLINE:, SCHEDULED:, or CLOSED:.
That said, in the actual rendered HTML, there are suspicious gaps between the end of each word and the following comma or period, right where the missing colons should be. So it might be a problem with the rendering and not the underlying document.
Using ob-asymptote a for a file `img/dot.pnp`
SRC asymptote :file img/dot.png
dot((0,0));
#+END_SRC
a file `img/dot.png.png` was created instead. This might be due to some recent changes in asy. Adding `file-name-sans-extension` to the command line creation changed its file naming behaviour accordingly.
(defun org-babel-execute:asymptote (body params)
"Execute a block of Asymptote code.
This function is called by `org-babel-execute-src-block'."
(let* ((out-file (cdr (assq :file params)))
(format (or (file-name-extension out-file)
"pdf"))
(cmdline (cdr (assq :cmdline params)))
(in-file (org-babel-temp-file "asymptote-"))
(cmd
(concat "asy "
(if out-file
(concat
"-globalwrite -f " format
" -o " (org-babel-process-file-name (file-name-sans-extension out-file)))
"-V")
" " cmdline
" " (org-babel-process-file-name in-file))))
(with-temp-file in-file
(insert (org-babel-expand-body:generic
body params
(org-babel-variable-assignments:asymptote params))))
(message cmd) (shell-command cmd)
nil)) ;; signal that output has already been written to file
Maybe you find this useful.
Yes, I know I could use emacs or just any text editor, but I don't want to do either. I want to have a nice checklist that I can sync with my phone with syncthing and use without thinking. I don't use emacs for anything else so getting over the learning cliff that it is isn't justified.
Is there any org-mode desktop software on linux like orgzly? I found myself acually considering running an android emulator with just that purpose.
In an org-capture template, is there any way to have a prompted %-escape that provides both:
%\N
back-references, ANDOr, more generally: is there a way to get to reuse, further into my capture template, my response to a prompt of the form: %^{Birthday}u
?
I'd given up trying to beat org-capture templates into the precise shape I want. Instead I was looking more at yasnippets
and the like. But I've been having another go with capture†, and although I've just been reminded of one of the reasons I gave up^(†), I thought I'd check with y'all in case I've missed something.
When it comes to the various %-escapes available in capture template expansion, there are three types of prompted escapes. I'll call them Regular prompts (e.g. %^{Name}
), Property prompts (e.g. %^{MY_PROPERTY}p
) and Dated (including date-and-time) prompts (e.g. %^{Birthday}u
). And those appear to differ in various important (depending on your use case) ways. Four examples on which I have frequently stubbed my toe are:
%\\1
, %\\2
etc.Looking only at the first three (being yes/no criteria), we have:
Type | Control insertion? | Back-refs? | Calendar-assist? |
---|---|---|---|
Regular | yes | yes | no |
Dated | yes | no | yes |
Property | no | no | no |
What drove me nuts before, and threatens to continue to do so, is that none of them have a "yes" in all three columns. Now, that's fair enough with the Property type, because although you can have a date as the value of a property, Org doesn't consider it to actually be a date for most purposes. But OH! for a muse of fire, along with either Regular prompts that can get calendar assistance, or Dated prompts that get back-references.
Or, put it another way, what would be cool is if Dated prompts Just Were Regular prompts, but with a type. Actually, what would be ideal would be if the general lack of orthogonality was fixed across the board, so that there were just Prompts. But I can imagine that would impact a lot of existing code, especially if it tried to include the fourth item on my above list.
___
† "Just when I thought I was out, Org pulls me back in!"
What function should I call to follow the org-link like following from elisp:
[[org:filename.org::#custom-id]]
I want to follow this kind of links from function. I do not find the function-name to pass the link string (argument).
Thank you.
Hello -
I'm trying to export a fairly complex org document---figures; links; footnotes; etc.
It exports to LaTeX just fine, but not to ODT (which I need to get to a DOCX).
It ends without creating a file, sending a humongous chunk of text to *Messages* without any error messages.
The chunk of text seems mostly to be footnote related stuff. Here's a typical line:
" 0 1 (:parent #18)))) (footnote-definition (:label "65" :begin 470440 :end 470472 :contents-begin 470448 :contents-end 470471 :pre-blank 0 :post-blank 1 :post-affiliated 470440 :mode nil :granularity nil :parent #16) (paragraph (:begin 470448 :end 470471 :contents-begin 470448 :contents-end 470471 :post-blank 0 :post-affiliated 470448 :mode nil :granularity nil :parent #17) #("Toll, " 0 6 (:parent #18)) (italic (:begin 7 :end 34 :post-blank 0 :contents-begin 8 :contents-end 33 :parent #18) #("The Entertainment Machine" 0 25 (:parent #19))) #(", 11." 0 5 (:parent #18)) #("
I'm guessing my file has got a bad something somewhere, but I don't know where to look.
For what it's worth, every line of the *Messages* dump ends with "#("
Has anybody faced anything similar before?
Thanks for any help!
I often write content first in my long journal file and then move it somewhere else for long-term development; or will want to reuse an attached image from one place to another. I can't figure out how to do this easily, without having to dig through directories with meaningless UUID names. Is there a quick and easy way to copy an attachment from one directory to another?
Hi, I work in org mode using ess-r. I'm not able to lets eglot automatically start while I open the src temp buffer. Emacs recognize the major mode (ess-r-mode) but eglot do not start. I try to open a .R file and eglot start as expected, so the issue is relative the src buffer. Do you have the same issue? How do you menage it?
How would I best go about setting up a note where I could take weekly journal entries and TODOS throughout my day.
I'm thinking something like having the date as a level one heading and then being able to input the current time as a level two heading below it and in that I can track my journal entries and todos?
I'm a beginner in emacs so please keep that in mind when explaining things or recommending things for me to do
I have some academic notes with citations in org-roam. They used to be like Train (2009). Recently, when I modify and complie them into pdf, the citations are now in footnotes like1.
1 Train (2009)
I think I did not change my init file. The releant lines are
(setq org-cite-csl-styles-dir "~/snap/zotero-snap/common/Zotero/styles/")
(setq org-cite-global-bibliography '("~/Dropbox/org/org-roam/my_library.bib"))
(setq org-cite-export-processors
'(
(t . (csl "chicago-author-date.csl")))) ; Fallback(the default option))
I tried other csl bib styles and citation styles, they are all in footnotes. For now, I use
#+cite_export: basic author author-year
However, this produces Train, Kenneth (2009). Not something I want.
I did some search and still do not know what happened. I followed the articles
The author of citar posted something (https://www.reddit.com/r/emacs/comments/11rmakl/comment/jca9iqt/?utm\_source=share&utm\_medium=web3x&utm\_name=web3xcss&utm\_term=1&utm\_content=share\_button) related to my problem. But is no longer on reddit.
This is what I got when I compile the file now.
This part relies on [cite/t:@trainDiscreteChoiceMethods2009].
This is the file I complied in February.
Downloaded emacs about 2 days ago and was just wondering what a simple workflow would look like.
I'm thinking something like this
**(current time) ***(notes, journal entries, basically anything) *(todos)
How would I do this in emacs?
I have a bit of a love-hate relationship with Org's datetree
structure, the most recent switch (from love back to hate on this occasion) being only two days ago. No doubt I'll flip back again, but it'll be short lived. If any given use of it lasted more than 10 weeks, I'd be surprised.
So I was impressed to read u/github-alphapapa's answer to a recent question, on org-ql
:
You may also consider using datetrees in a smaller set of files, e.g. one file per year, or even for multiple years. My log.org file goes back over 10 years, ...
I'd be interested to hear (from the estimable u/github-alphapapa himself, but from anyone else too):
In what way(s) do you find datetree
to be useful and worth sticking with?
For context, and perhaps to head off at the pass answers like "Coz it's...well, coz it's a datetree dude! Ye know; like a tree. Of times and dates!"†) here is a bit of the source of the "hate" part of my position:
The reason is that for me a fundamental requirement I have of Org mode is that it can answer the question, "What (TF) did I spend my time on during <some time period>?", and until recently I found that the best way I could come up with to do that was to simply keep my notes in a datetree
, and then simply look. In other words, I was relying on structure to act as presentation. But I was tolerating that approach, not embracing it. A major reason is that I prefer to have an Org Entry's meta-data -- e.g. the date a meeting happened, or the person I spoke to on some call -- to be represented explicitly, like in a PROPERTY
or tag, or timestamp, and not something I have to infer from the Entry's position/location. That is, I want to separate structure and presentation, a la Dijkstra's separation of concerns. I'm a CompSci guy. It's a sickness. You should pity me.
And the reason for my recent switch away from datetree
(with a couple of exceptions) is that as the result of a lot of recent hacking/learning I've been able to increasingly rely on agenda views of various kinds to display my data. In other words, becoming increasingly familiar with the power of Org to slice and dice the data for display has allowed me to take a step in following the advice of that wise, hairy, fountain-pen-wielding Dutchman.
† A perfectly respectable answer as far as it goes. It's just that I'm already aware of that fact -- and make use of it even! -- but it hasn't been enough to overcome my ... well, it's more a restless ambivalence than out and out hate. :-)
What is the reason for the existence of org-tables and table.el tables? I mean why this two different types? Why not one?
Is this an appropriate way to have code blocks with org code in it?
Paragraph
#+begin_src org
* Heading
Paragraph
- item 1
- item 2
#+end_src
Paragraph
Maybe something like "begin_org" or "begin_src orgmode"?
Digging into org-ql and its pretty amazing to say the least.
What i'm trying to do is query some org files I use for my personal review periods. I'd like to do a query that looks for additive tags not or based tags but I"m not sure how to structure the query.
An example:
I'd like to be able to search my org files for items tagged say :FEB:2023:Accomplishment: if I use those tags via tags:Feb,2023,Accomplishment it gets things tagged with all the combinations not the 3 joined together to be more restrictive.
If it's helpful to understand I organize my reviews by month such that the 2023-02-Feb.org file has the FEB and 2023 in the filetags at the top of the file and then I have 4 headings within each file Week1,2,3,4 each with the same structure.
If I can limit to just those tags then sorting by parent should then auto organize the month into week 1/2/3/4 sections in the org-ql view.
Thanks in advance for any help!
p.s. Additionally is there a way to have org-ql search a directory not just a set of individual space separated files?
Hello I'm a really new user to orgmode,literally just downloaded lol and don't really have any experience with coding or programming. Is there a way to make setting up the app easier or any tips people could give me?
I was also wondering how the notes are organised, are they organised by different pages like something in obsidian or is it more of an atomic way like logseq?
Linked to the idea of organisation can I organise things via tags and links and stuff instead of folders because of ease of use and things like that because in obsidian my workflow was based around tags instead of looking through specific folders to find my information.
I'm also just looking for a brief rundown of how you would organise the notes in orgmode on a very basic level.
This is a copy paste from the emacs subreddit as I feel like it would better fit here.
Let's say I'm doing a static github-based blog based on org-mode export to html. So if I'm adding headings to various different org-mode files throughout my org directory, is there a way to "tag and copy" a certain heading and its content added to A.org over to Blog.org? Or have a reference/link in my Blog.org that knows to grab/tangle heading and its content from A.org into my blog?
Bit of a specific issue: I'm using ox-hugo to export org-mode blogs to a hugo website. The website uses the Archie theme. The bibliography formatting turns out weird, specifically the numbering:
Example of bibliography and badly formatted numbering
What I would hope to get is something like:
[1] Reference 1
[2] Reference 2
I have the following in the org file header:
#+cite_export: basic numeric numeric
#+bibliography: ~/OrgFiles/OrgRoam/biblio.bib
and use the following for a citation:
[cite:@reference]
I export using "Export to Hugo-compatible Markdown :: Subtree to Md file".
A "(1)" appears in the text ok, although not hyperlinked to the actual reference in the bibliography section, but not as bothered about that.
How do I fix the formatting of the bibliography numbering?
Hello, I've been wanting to try org mode for a while but already have some time spent with obsidian and was just wondering if there was any benefits to org mode compared to what you can do with obsidian?