Re: Where has the manual on one html page gone?

2021-03-21 Thread Christine Köhn
Here's why I prefer the one page manual:

I can search it easily. Sometimes I do not find what I'm looking for
where I would expect it to be. Also, searching is convenient way to find
out if something *is not* in the manual.

I'm used to reading and searching in a browser.

For me, it's easier to read a whole chapter/section if I just have to
scroll down. Especially if I only do cursory reading, e.g if I read
about spreadsheets after not having used them in a while. If I can just
scroll down, it's also easier to read on my smartphone (I'd like not to
do that but in the pandemic some things cannot be chosen).

I agree that it's not efficient to download a whole manual but I guess
that's what caching is for? Anyway, I thought about switching to
accessing the manual offline but I haven't gotten to it yet.



Re: Exam LaTeX class

2021-03-19 Thread Christine Köhn
Hi Xianwen,

Xianwen Chen (陈贤文) writes:

> Does someone have experiences with the exam LaTeX class: 
> http://www-math.mit.edu/~psh/exam/examdoc.pdf?

Yes, but I haven't useid it with orgmode.

> The next step I'm trying to do, but don't know how, is to ask LaTeX 
> exporter to create two exports to PDF.

> I guess one way is to modify the org-latex-export-to-pdf function, so 
> that when the document class is exam, the exporter first export without 
> solutions, and then export to an other PDF file (such as 
> foo-with_solutions.pdf).

Here is one way to do the latex part. You could pass a jobname to latex.

I have this

\IfEndWith*{\jobname}{withsolution}{%
  \usepackage{todonotes}
  \printanswers
}{\usepackage[disable]{todonotes}}

in a myexam.sty file to switch between modes (with or without solutions
and todo notes) and use it in the latex file with

\usepackage{myexam}

You could add your own latex class to org-latex-classes and add this
line there.

The jobname has to be passed to latex with something like -jobname
withsolution if you want it to be with solutions. I use a Makefile for
this purpose which calls latexmk

latexmk -pdf -pdflatex="pdflatex --interaction=errorstopmode" -use-make

and adds -jobname=$(basename $@) if asked to create a pdf ending with
withsolution.pdf. I can send you the Makefile if you're interested.

To use the jobname from within orgmode, you'll have to change
org-latex-pdf-process to use the jobname if needed. I think one way to
achieve this is to add a new export backend which is derived from latex
(see org-export-define-derived-backend) and which sets
org-latex-pdf-process accordingly (and resets it afterwards).

Hope this helps.

Best,
Christine



Re: Toggle headline underlining in text export?

2021-02-16 Thread Christine Köhn
Hi Loris,

have a look at the variable org-ascii-underline. It defines the
characters for underlining headings. If no character is set, the
headlines shouldn't be underlined (according to the documentation).

Best,
Christine



Re: Where has the manual on one html page gone?

2021-02-12 Thread Christine Köhn
Hi Diego, hi all,

Diego Zamboni writes:

> I found it here: https://orgmode.org/org.html

Thanks a lot. I've just bookmarked it.

> But it doesn't seem to be linked from the new website.

Has there been a discussion about what manual to link to from the front
page?

As far as I can remember, I've always prefered the complete manual -
even as a new org-mode user.

Best,
Christine



Where has the manual on one html page gone?

2021-02-12 Thread Christine Köhn
Hi,

I always used the manual online as one html page but it does not seem to
be available since (?) the website revamp. I prefer the manual as one
page for many reasons. Is it still available online?

Best,
Christine



Properties on buffer level

2021-02-12 Thread Christine Köhn
Hi,

I'm using properties on buffer level to specify header-args for source
code blocks. I noticed that properties defined with #+PROPERTY: before
the first headline do not work unless the buffer is reloaded, but
properties defined in drawers work just fine. Are properties on buffer
level supposed to work like this?

The values set with #+PROPERTY: seem to be read from
org-keyword-properties which seems to be set only at startup. In
contrast, the values set in drawers are read dynamically with
org--property-local-values.

Best,
Christine



Bug: Double quotes in tables and arguments

2021-02-05 Thread Christine Köhn
Hi,

I'm working with tokenized texts in org-mode tables including single
characters such as double quotes. When trying to read a cell with an
(unpaired) double quote at the beginning, the cell cannot be read ("End
of file during parsing"). I've looked a bit into this (see attached
file). At first, I thought it's a mere documentation issue: Double
quotes probably have a special meaning. The documentation of
org-bable-read (ob-core.el) does not mention a double quote as special
character:

> "Convert the string value of CELL to a number if appropriate.
> Otherwise if CELL looks like lisp (meaning it starts with a
> \"(\", \"\\='\", \"\\=`\" or a \"[\") then read and evaluate it as
> lisp, otherwise return it unmodified as a string.  Optional
> argument INHIBIT-LISP-EVAL inhibits lisp evaluation for
> situations in which is it not appropriate."

This is how cells with double quotes at the beginning are read:

> ((eq (string-to-char cell) ?\") (read cell))

I don't know why double quotes are handled as special characters and I
did not find any documentation on it.

This issue also exists when caching results from code blocks: If a
result starts with an (unpaired) double quote and it is cached, it
cannot be read anymore.

Best,
Christine

#+NAME: print
#+begin_src emacs-lisp :var data=""
(print data)
#+end_src

Double quotes are preserved as long as there is no double quote as
first character:
#+NAME: ex1
| a" |

Sourrounding double quotes are stripped:
#+NAME: ex2
| "a" |

#+CALL: print(data=ex2)

#+RESULTS:
| a |

This is unexpected:
#+NAME: ex2b
| "this_stays"this_has_to_go |

#+CALL: print(data=ex2b)

#+RESULTS:
| this_stays |

(Unpaired) double quote at beginning results in "End of file during
parsing":
#+NAME: ex3
| " |

#+CALL: print(data=ex3)

Passing an argument with (unpaired) double quote as first character to
code blocks works...
#+NAME: ex-code1
#+begin_src emacs-lisp
'("\"")
#+end_src

#+CALL: print(data=ex-code1)

#+RESULTS:
| " |

... as long as it's not from a cached result.
#+NAME: ex-code3
#+begin_src emacs-lisp :cache yes
'("\"")
#+end_src

#+RESULTS[f8bc0a680e2f0b8e579b262a13747cef1522cd72]: ex-code3
| " |

This results in "End of file during parsing":
#+CALL: print(data=ex-code3)