Re: Working out what face is used
Norman Walsh writes: > In this case, I can’t put the cursor on the text. I’ve made a quick > skim of org-sticky-header.el and don’t see any obvious use of a > specific face. So I’m a bit stumped. FWIW, I made a rainbow out of the background colors and worked out what face it was, but I am still curious if there was a more direct approach. Be seeing you, norm -- Norman Walsh | Four things come not back: the spoken http://nwalsh.com/| word, the sped arrow, time past, the | neglected opportunity.--Omar Ibnal-Halif signature.asc Description: PGP signature
Working out what face is used
Hello, This is a tangentially Org-related question. If I enable org-sticky-headers, it works just fine. I get, for example, at the top of the buffer: ** Top level heading / Second level heading Which is correct. But “ / ” and the rest of the line after “Second level heading” are in some unknown face. It has an odd gray background and appears to be underlined in white. For ordinary text in a buffer, I can put my cursor on the text and use “C-u x =” to see what face is being used. In this case, I can’t put the cursor on the text. I’ve made a quick skim of org-sticky-header.el and don’t see any obvious use of a specific face. So I’m a bit stumped. Be seeing you, norm -- Norman Walsh | The future belongs to those who believe http://nwalsh.com/| in the beauty of their dreams.--Eleanor | Roosevelt signature.asc Description: PGP signature
Re: Confused about src vs example and LaTeX export
"Fraga, Eric" writes: > On Sunday, 5 Jan 2020 at 10:53, Norman Walsh wrote: >> In the simple case, both EXAMPLE and SRC export as {verbatim} >> environments; that’s fine as a default. In the second case, the >> ATTR_LATEX request for the {lstlisting} environment works on EXAMPLE >> but appears to be ignored on SRC. > > Not for me. I have lstlisting for both cases. The trick turned out to be (setq org-latex-listings t) I’ve written up a few more remarks here: https://so.nwalsh.com/2020/01/05-latex Be seeing you, norm -- Norman Walsh | People tend to feel strongest about http://nwalsh.com/| those things they understand the least. signature.asc Description: PGP signature
Re: Inline references in noweb?
John Kitchin writes: > In order to engage the flux capacitor, you must set the > chronometer dial to src_emacs-lisp[:noweb yes :exports > results]{"<>"} > {{{results(=Jan 5\, 2020=)}}}. Ah, thank you. That was one level of indirection further than I got! Be seeing you, norm -- Norman Walsh | 'I have done that,' says my memory. 'I http://nwalsh.com/| cannot have done that'—says my pride, | and remains adamant. At last—memory | yields.--Nietzsche signature.asc Description: PGP signature
Confused about src vs example and LaTeX export
Hello again, I’m confused about the distinction between BEGIN_EXAMPLE and BEGIN_SRC and LaTeX export. I tend to use BEGIN_SRC more often because I’m taking advantage of Babel output. Consider this file: #+TITLE: Test Org File This is an example. * Simple environments #+BEGIN_EXAMPLE emacs-lisp (+ 3 4) #+END_EXAMPLE #+BEGIN_SRC emacs-lisp (+ 3 4) #+END_SRC * LaTeX attributes #+ATTR_LATEX: :environment lstlisting #+BEGIN_EXAMPLE emacs-lisp (+ 3 4) #+END_EXAMPLE #+ATTR_LATEX: :environment lstlisting #+BEGIN_SRC emacs-lisp (+ 3 4) #+END_SRC In the simple case, both EXAMPLE and SRC export as {verbatim} environments; that’s fine as a default. In the second case, the ATTR_LATEX request for the {lstlisting} environment works on EXAMPLE but appears to be ignored on SRC. To confound me further, setting org-latex-custom-lang-environments doesn’t seem to have any effect in either case. (setq org-latex-custom-lang-environments '((emacs-lisp "lstlisting"))) I’m not sure what I’m overlooking. Be seeing you, norm -- Norman Walsh | There has never been a perfect http://nwalsh.com/| government, because men have passions; | and if they did not have passions, | there would be no need for | government.--Voltaire signature.asc Description: PGP signature
Inline references in noweb?
Hello, I’ve read through most of the docs that turn up with the obvious web searches and I haven’t been able to figure this out. However, it seems like it should be possible… I’m quite pleased with how babel and noweb can be used to write “literate programs” for configuration files and scripts. Cross references between code blocks with <> work just fine. What I’d like, but can’t work out, is how to refer to, for example, a configuration value inline. Something like this: In order to engage the flux capacitor, you must set the chronometer dial to ~<>~. #+begin_src conf :noweb yes date: <> #+end_src I don’t care how or where “required_date” is defined, I just want the ability to refer to it in the documentation and in code blocks. Have I overlooked something obvious? Be seeing you, norm -- Norman Walsh | The stone fell on the pitcher? Woe to http://nwalsh.com/| the pitcher. The pitcher fell on the | stone? Woe to the pitcher.--Rabbinic | Saying signature.asc Description: PGP signature
Wholesale changes to LaTeX headers
Hi, I want to make wholesale changes to the LaTeX preamble exported from Org mode. I want to put \RequirePackage and \PassOptionsToPackage calls before the \documentclass, I want to write a specific set of macros after the \documentclass, I want to craft a couple of \renewcommands, etc. Where should I begin? Be seeing you, norm -- Norman Walsh | The stone fell on the pitcher? Woe to http://nwalsh.com/| the pitcher. The pitcher fell on the | stone? Woe to the pitcher.--Rabbinic | Saying signature.asc Description: PGP signature
Re: “Literate” python?
Diego Zamboni writes: > Hi Norm, > > As George said, the trick in this case is to use the =:noweb= and > =:noweb-ref= headers. The change is minimal from the script you > sent: Thanks. With your help (and Barry’s and George’s), I got over the initial hurdles. I wrote about it here: https://so.nwalsh.com/2019/11/29/t2 > If I may do a bit of self-promotion, feel free to check out my > "Literate Config" booklet, which I published just a few days ago > (available for free) and which contains some more tips for doing > literate programming: https://leanpub.com/lit-config/read Purchased. Authors gotta get paid. :-) Be seeing you, norm -- Norman Walsh | The First Amendment is often http://nwalsh.com/| inconvenient. But that is besides the | point. Inconvenience does not absolve | the government of its obligation to | tolerate speech.--Justice Anthony | Kennedy, in 91-155 signature.asc Description: PGP signature
Re: “Literate” python?
George Mauer writes: > I've used noweb references to actually assemble what will be tangled > all at once. See how I did it here. Thanks. > Also I'm pretty sure there's no :weave header arg...at least I > haven't seen it used and can't find it documented anywhere. No, that was just me guessing. Thanks for the pointers. Be seeing you, norm -- Norman Walsh | A child becomes an adult when he http://nwalsh.com/| realizes he has a right not only to be | right but also to be wrong.--Thomas | Szasz signature.asc Description: PGP signature
Re: “Literate” python?
"Berry, Charles" writes: > A couple of things might help. > > First, use the :noweb-ref argument to mark each of the code blocks > you wish to tangle. […] > The remaining problem (as you will see) is the indentation. Fix this > by adding the `-i' flag to the penultimate code block, viz. […] > See 12.6 Literal Examples and 15.10 Noweb Reference Syntax in the manual. Thank you. I had failed to locate the relevant manual sections. Those changes did appear to resolve the issues and I’ll study the docs with a little more care! Be seeing you, norm -- Norman Walsh | To enjoy yourself and make others enjoy http://nwalsh.com/| themselves, without harming yourself or | any other; that, to my mind, is the | whole of ethics.--Chamfort signature.asc Description: PGP signature
“Literate” python?
Hi, I’ve seen a couple of pointers recently to using Org mode and tangle to write more literate Emacs configurations. I use Org+babel all the time to write “interactive” documents, so I thought I’d try out tangle from Org. I didn’t want to start with something as comlicated as my Emacs config :-) so I figured I’d kick the tires with a small python program. That did not end well. Consider: #+TITLE: Python literate programming #+OPTIONS: html-postamble:nil It starts off as a completely standard Python3 program. ---%<-- #+BEGIN_SRC python :tangle yes :weave no #!/usr/bin/env python3 #+END_SRC It defines ~a~. #+BEGIN_SRC python :tangle yes def a(): print("a") #+END_SRC And ~b~. #+BEGIN_SRC python :tangle yes def b(): print("b") #+END_SRC Now ~c~ is a little more complicated: #+BEGIN_SRC python :tangle yes def c(): print("c") #+END_SRC Not only does ~c~ print “c”, it calls ~a()~ and ~b()~. #+BEGIN_SRC python :tangle yes b() a() #+END_SRC Finally, make it importable. Not that you’d want to. #+BEGIN_SRC python :tangle yes if __name__ == "__main__": main() #+END_SRC --->%-- That’s the script. It weaves into HTML more-or-less ok (there’s a weird black box at the front of indented lines, but I can come back to that later). It’s a complete mess when tangled. The extra blank lines between functions (to make pylint happy with some PEP guideline) have disappeared. I guess I could live with that, but the complete failure to preserve indention in the penultimate code block is a show stopper: #!/usr/bin/env python3 def a(): print("a") def b(): print("b") def c(): print("c") b() a() if __name__ == "__main__": main() (Also, why is there an extra blank line before the incorrectly indented block?) Is this user error on my part somehow? I suppose I could write my own version of tangle, though I’m not clear if the whitespace is lost in the tangle function or in the Org mode data model. Thoughts? Be seeing you, norm -- Norman Walsh | We discover in ourselves what others http://nwalsh.com/| hide from us, and we recognize in | others what we hide from | ourselves.--Vauvenargues signature.asc Description: PGP signature
[O] Org-contacts and extra spaces
Hi, If I complete an email address with org-contacts, I get extra spaces after the email address: To: Jane Doe _ _ _ _[cursor] Is this just me? Before I go digging for a solution, has anyone else encountered and fixed this? Be seeing you, norm -- Norman Walsh | The Future is something which everyone http://nwalsh.com/| reaches at the rate of sixty minutes an | hour, whatever he does, whoever he | is.--C. S. Lewis signature.asc Description: PGP signature
Re: [O] Extending ob-plantuml keywords
> On a casual inspection, it appears that ob-plantuml hardcodes the > plantuml keywords @startuml/@enduml around the source block. On closer inspection, I see that Org Mode 9.2.6 supports alternate @start/@end pairs in plantuml. Rather than using a keyword on #+BEGIN_SRC, it simply checks for @start… at the beginning of the body. That’s good enough, I think. Be seeing you, norm -- Norman Walsh | Four things come not back: the spoken http://nwalsh.com/| word, the sped arrow, time past, the | neglected opportunity.--Omar Ibnal-Halif signature.asc Description: PGP signature
[O] Extending ob-plantuml keywords
Hi, On a casual inspection, it appears that ob-plantuml hardcodes the plantuml keywords @startuml/@enduml around the source block. There are at least a couple of other keywords that can be used (@startsalt and @startmindmap). I’m tempted to hack at obj-plantuml a bit to support keyword selection somehow. Before I do that, has anyone else already done it? Be seeing you, norm -- Norman Walsh | There has never been a perfect http://nwalsh.com/| government, because men have passions; | and if they did not have passions, | there would be no need for | government.--Voltaire signature.asc Description: PGP signature
Re: [O] Proposal for new document-level syntax
Gustav Wikström writes: > I propose a "document" element in org-element, a property-drawer on > document-level, a setting-drawer on document-level and > property-keywords (slightly different than what already exist). And > would like your comments regarding that! When I started searching for ways to put arbitrary metadata on org documents, I was very surprised to find that there didn’t appear to be support for a top-level properties drawer. This seems like a good idea to me. Be seeing you, norm -- Norman Walsh | If you are losing your leisure, look http://nwalsh.com/| out! You may be losing your | soul.--Logan Pearsall Smith signature.asc Description: PGP signature
Re: [O] Porting Apple Calendars to org-mode
Mohamed Wael Khobalatte writes: > Hi guys, I posted a question to the Emacs StackExchange > (https://emacs.stackexchange.com/questions/50137/show-apple-calendar-events-in-org-mode), > but I believe it's better asked here. Does anyone know how I can get > my Apple calendar to show up in org-mode as readonly (preferably)? Coincidentally, I just went through this exercise myself. I fixed a couple of issues in icalevents[1] and then worked out how to get the calendar details from database that the Mac actually uses to track the calendars. I wrote icaldiary[2] to extract events from my calendar(s) and create an emacs “diary” file which Org reads quite happily. > I had no luck with org-mac-iCal. Only one calendar (the Birthdays > calendar) shows up, eventhough all other calendars are *checked*, as > the documentation from that package requires. It is also rather old, > so not sure if it works anymore? Yeah, I found the same problem. I think that Apple stopped storing the active calendar data in the plist files that org-mac-iCal checks. They moved it into the cache which they store with sqlite3. Hoping this is helpful… Be seeing you, norm [1] https://github.com/ndw/icalevents [2] https://gist.github.com/ndw/e76a3dad862989deb0cb74b3e2b557b4 -- Norman Walsh | Throughout history the world has been http://nwalsh.com/| laid waste to ensure the triumph of | conceptions that are now as dead as the | men that died for them.--Henry De | Montherlant signature.asc Description: PGP signature
[O] Supporting Exchange calendars in org-mac-iCal.el
Hi folks, I don’t know if anyone else is using org-mac-iCal[*], but I find it useful. (I find it convenient to have calendar appointments in my agenda view.) In the course of setting it up, I discovered that it didn’t support Exchange calendars. And it had a regexp that didn’t match versions of MacOS post 10.8. I’ve fixed both of those issues, at least to the extent that they seem to work for me. I sent email to the named author, Christopher Suckling, but didn’t get a reply. (Hello Christopher, if you’re out there!) If anyone is interested, I can see about finding a place to put my patch. Be seeing you, norm [*] https://orgmode.org/worg/org-contrib/org-mac-iCal.html -- Norman Walsh | I often marvel that while each man http://nwalsh.com/| loves himself more than anyone else, he | sets less value on his own estimate | than on the opinions of others.--Marcus | Aurelius signature.asc Description: PGP signature
[O] Error in org-element-parse-buffer?
Hi, I’ve just noticed that org-element-parse-buffer loses whitespace sometimes. Consider this org-mode file: This is a *bold* word. What org-element-parse-buffer returns is: (org-data nil (section (:begin 1 :end 24 :contents-begin 1 :contents-end 24 :post-blank 0 :post-affiliated 1 :parent #0) (paragraph (:begin 1 :end 24 :contents-begin 1 :contents-end 24 :post-blank 0 :post-affiliated 1 :parent #1) #("This is a " 0 10 (:parent #2)) (bold (:begin 11 :end 18 :contents-begin 12 :contents-end 16 :post-blank 1 :parent #2) #("bold" 0 4 (:parent #3))) #("word." 0 6 (:parent #2) Note that the whitespace between “bold” and “word.” has been lost. Well, possibly it’s recoverable from the various begin/end positions, I can’t quite decide although (1) it doesn’t seem obviously to be the case and (2) it’d be *way* more convenient if the space was in the data structure as text. I guess it’d have to be either a single space between them, or at the beginning of “ word.”. Or do I misunderstand something about the data structure? Be seeing you, norm -- Norman Walsh | The cure for boredom is curiousity. http://nwalsh.com/| There is no cure for curiosity.--Ellen | Parr signature.asc Description: PGP signature
[O] org-to-xml, v0.0.1
Hello, Years ago, literally, I asked about converting an org-mode file to XML. I finally got around to writing it. Probably very badly. Comments, etc. most welcome. https://github.com/ndw/org-to-xml Be seeing you, norm -- Norman Walsh | It is well to remember that the entire http://nwalsh.com/| universe, with one trifling exception, | is composed of others.--John Andrew | Holmes signature.asc Description: PGP signature
Re: [O] Making DocBook xml books from org mode?
Joost Kremers writes: > There's also a `docbook' writer, > which has been part of Pandoc much longer and which outputs to (I > assume) DocBook v4. So I suspect you either need to upgrade your Pandoc > or make sure ox-pandoc sets the output format to `docbook'. Depending on what your down-stream processing is like, you could just go with V4 DocBook from org and then convert that to V5 with the upgrade stylesheet. Be seeing you, norm -- Norman Walsh | There is no monument dedicated to the http://nwalsh.com/| memory of a committee.--Lester J. | Pourciau signature.asc Description: PGP signature
[O] XML dump of org file?
Hi, There are various export filters, but I’d like one that just does a complete, raw dump of the internal memory structure[*]. I could start with something like the HTML export and work backwards to output other tag names, but it seems like it should be possible to just dump the data structure. My brief couple-of-hours foray into this was unsuccessful. I ran aground in various places where I couldn’t really grok the structure well enough to deduce what to output. And possibly where my elisp coding skills are a little weak. Before I spend another few evenings poking it with a sharp stick, does anyone have some code that walks the data structure in a way that will make it easier? (Or has someone else, *gasp*, solved this exact problem? :-)) Be seeing you, norm [*] I have really good XML tools for querying, transforming, and otherwise manipulating the data. I want to start with as near to perfect fidelity as I can. I don’t have any short term plans to try to go the other way, but I might eventually. -- Norman Walsh | When we are tired, we are attacked by http://nwalsh.com/| ideas we conquered long ago.--Nietzsche signature.asc Description: PGP signature
[O] Editing/evaluation of code blocks
Hello, I’ve started using Org Mode more frequently and I thought it would be fun to extend org-babel support to evaluate XQuery, JavaScript, and SPARQL code blocks by sending them off to MarkLogic server. I was right, it was fun :-) If I type C-c C-c in this block: #+begin_src marklogic :var startDate="2017-04-19T12:34:57" xquery version "1.0-ml"; declare default function namespace "http://www.w3.org/2005/xpath-functions";; declare option xdmp:mapping "false"; declare variable $startDate external; let $date := $startDate cast as xs:dateTime let $diff := current-dateTime() - $date return current-dateTime() - $date #+end_src I get back a result! #+RESULTS: : -P348DT10H59M31.387138S Win! But C-c ' fails because “marklogic-mode” isn’t the mode for editing XQuery. There’s an xquery-mode for that. I found org-src-lang-modes which allows me to make ‘marklogic’ use xquery-mode, except that that’s wrong when I’m editing JavaScript or SPARQL. :-( Is there some way, in the source block itself, to specify *independently* the mode that should be used to edit and the language package that should be used for evaluation? Guessing not, I considered refactoring the code to support ‘xquery’, ‘javascript’, and ‘sparql’ languages. That would be fine, but I presume there are (or will eventually be) other backends for evaluating these languages. Maybe the answer then is simply not to load two different ones at the same time, but that doesn’t seem very satisfying. Am I overlooking something? Suggestions most welcome. Be seeing you, norm -- Norman Walsh | We are what we repeatedly do. http://nwalsh.com/| Excellence, then, is not an act, but a | habit.--Aristotle signature.asc Description: PGP signature
[O] org-contacts, multi-line properties, postal addresses
Hello world, I'm just taking another look at org-contacts. I wonder what the best practice is for dealing with multi-line properties like postal addresses. I can just make them part of the entry, of course, not in a property, but that seems oddly different from the other properites. Have I overlooked something obvious? Be seeing you, norm -- Norman Walsh | A man may fulfill the object of his http://nwalsh.com/| existence by asking a question he | cannot answer, and attempting a task he | cannot achieve.--Oliver Wendell Holmes signature.asc Description: PGP signature