Re: [O] org-store/insert-link truncating the full subject of mails

2018-10-29 Thread Eric S Fraga
On Friday, 26 Oct 2018 at 21:54, Nicolas Goaziou wrote:

[...]

> In any case, if other users feel strongly about changing the default
> value, I don't mind. I hope you understand that one data point is not
> enough, tho.

Just to add a data point: I've been annoyed by the default behaviour for
years.  However, not enough to go about finding out if it was possible
to change this behaviour!  Knowing, *now*, that there is a variable
which controls the format solves my annoyance.

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.1.13-783-g97fac4



Re: [O] An Org-based productivity tool

2018-10-29 Thread Marcin Borkowski


On 2018-10-16, at 23:04, Samuel Wales  wrote:

> On 10/14/18, Marcin Borkowski  wrote:
>> But I decided it's not worth it.  Very complicated and unreliable (I
>> might have two or more clocking tasks related to the same file, for
>> example).
>
> hm, it doesn't seem so to me.  what do you mean by 2 or more related
> to the same file?  a file can have any number of clocking tasks, and
> you can manually clock any time you want which would suspend the
> automatic clocking until you clock out.  [just sets a variable.]
>
> i guess it's just a matter of taste.  i don't think i will do your
> level of clocking unless it is auytomatic.

As I said, it won't/can't work for me.

Assume I have a project with two tasks, A and B.  Assume that the
project consists of many files, among others: main.js, utils.js,
main.css.  Assume that task A involves editing files main.js and
main.css and task B - files main.js and utils.js.

Assuming I'm editing main.js, how can an automatic system (short of an
advanced AI) guess whether to clock A or B?

I found that it is way easier to train myself to clock in (it helps to
have a nice keybinding for that - F10 F10 for clocking in the last task,
F10 i for a classical clock history and F10 c for Counsel-based clock
history.

>> > (And I have this notification nagging me if I'm not clocking anything
>> for 2 minutes or more.)
>
> i'd get so distracted and thus annoyed by that notificaiton that it
> would be nuked into outer space.  :]

The same with me - that's precisely the point.  This nuke is called
`org-clock-in'. ;-)

Best,

--
Marcin Borkowski
http://mbork.pl



Re: [O] An Org-based productivity tool

2018-10-29 Thread Marcin Borkowski


On 2018-10-25, at 11:45, Ihor Radchenko  wrote:

> FYI
>
> "Note taker and org-clock-in enforcer"
> https://github.com/roman/clocker.el

Thanks!

Interesting, solving a similar problem and /very/ specific (almost to
the point of "useless for anyone but the author", I guess).

I guess almost the same can be said about my project, too. ;-)

Best,

-- 
Marcin Borkowski
http://mbork.pl



Re: [O] An Org-based productivity tool

2018-10-29 Thread Marcin Borkowski


On 2018-10-16, at 23:43, Sacha Chua  wrote:

> Thanks for bringing me into the conversation! :) I'm so far from that
> sort of thing right now. Rough activity tracking by buttons and voice
> shortcuts on my phone is all I can manage with a toddler around.

I can imagine, I have a 2-year-old son.  Working near to him is next to
impossible (though if my wife or his 8-year-old sister is around, it
might be accomplished).  This project is meant for when I'm at work,
I don't even try (nor want) to use it at home.

> Marcin, I wonder if you might like to adapt some code from
> sachachua.com/dotemacs for clocking into a task by taking advantage of the
> org refiling system, and the idea of setting up a hydra or other shortcuts
> for common tasks. The code might need to be updated, not sure. If you're

Well, I think I have something even better -
https://github.com/akirak/counsel-org-clock (I find Counsel/Ivy
interface much superior to the default refiling one).  I have my
org-clock-history-length set to 144, and I populate it on Emacs start
with org-mru-clock.  Also, I have a 10-head hydra for Org-related stuff
(8 heads are related to clocking).

> using Org and another time tracking system that might have better reports,
> you might like to set up something like what I have, where I can use a
> single key to clock into both Org and Quantified Awesome with a pre-defined
> or prompted category.

For the purposes of my work, I have written a simple Toggl integration.
I also think about writing some stuff to generate nice reports within
Emacs.

> I find time analysis useful for things like calibrating my estimates and
> expectations, learning about my revealed preferences and trends over time,
> and feeling more satisfied about my days/weeks/months. I liked using the
> data to build on my strengths and work around my limits instead of giving
> in to the temptation to use it as a harsh taskmaster. :) I wonder if
> something similar might be helpful for you.

Definitely!  As of now, the main use is to make sure I don't get
distracted too much at work so that I can actually make ends meet (I'm
paid by an hour), so this is a crucial part of my work infrastructure.
Also, this means it /must/ be a harsh taskmaster (at least for some
time).

Doing some QS-y stuff would be nice, but this is not the priority now.

> Have fun!

I do, thanks!

Best,

--
Marcin Borkowski
http://mbork.pl



Re: [O] An Org-based productivity tool

2018-10-29 Thread Marcin Borkowski


On 2018-10-28, at 02:24, Samuel Wales  wrote:

> i am still confused why timers can't poll every few minutes and clock
> to the dominating task that has a clock drawer.

As I hinted in my previous message, this is easy to do and possible, but
/only/ under the assumption that you do the majority of your work in Org
files.  In my case, such a system is completely impossible.

Best,

-- 
Marcin Borkowski
http://mbork.pl



Re: [O] An Org-based productivity tool

2018-10-29 Thread Sacha Chua
On Mon, Oct 29, 2018, 05:19 Marcin Borkowski,  wrote:

>
> Well, I think I have something even better -
> https://github.com/akirak/counsel-org-clock (I find Counsel/Ivy
> interface much superior to the default refiling one).  I have my
>

Oh, I should switch to that! Thanks for the recommendation.

Definitely!  As of now, the main use is to make sure I don't get
> distracted too much at work so that I can actually make ends meet (I'm
> paid by an hour), so this is a crucial part of my work infrastructure.
> Also, this means it /must/ be a harsh taskmaster (at least for some
> time).
>

I remember liking the combination of org-capture (for ideas and tasks that
might otherwise interrupt my flow), effort estimates, looking at the
current clocked task in the modeline, and making myself take notes along
the way using org-babel. You probably already have a more sophisticated
workflow, but in case any of those habits could use practising or tweaking,
maybe that could help.

I wonder if it makes sense to set up pomodoros, so you have the time
structure to accommodate interruptions/distractions as well as a regular
reminder to check if you're still on-task.

I look forward to reading your usual awesome blog post about whatever
workflow you figure out! :)

Sacha


[O] [BUG] src_blocks - :wrap blocks not being overwritten

2018-10-29 Thread Carlos García
Hi List,

The functionality of replacing blocks using ":wrap" seems to be broken.
In this email [1] from 2014, a user reported that this was working:

,
| * A
|
| #+header: :results raw replace :wrap
| #+begin_src emacs-lisp
|   (+ 2 2)
| #+end_src
|
| #+results:
| #+BEGIN_RESULTS
| 4
| #+END_RESULTS
`

i'm running orgmode 9.1.14 and the "BEGIN_RESULTS" blocks are not getting
overwritten. Can anybody else reproduce this problem?


Regards,
Carlos

[1]: http://lists.gnu.org/archive/html/emacs-orgmode/2014-07/msg00122.html


[O] Bug: Bad string comparison in org-all-archive-files (org 9.1.14)

2018-10-29 Thread Nils Gustafsson

Hi

I've encountered and, I think, diagnosed the cause of a bug in
org-archive.el


Background:

I stubled upon this while trying to work out why my clocktables
weren't behaving as expected. In one of my org files I have several
large trees set up to use different archive files via :ARCHIVE:
properties, and the clocktable I added with :scope file-with-archives
seemed to be ignoring those archives.

Except it worked fine when I used a default archive for the whole
file, or added a custom one using #+ARCHIVE: instead. After some
experimenting and digging around in the source code I've found that
the actual problem is a bad string comparison in a function called
org-all-archive-files in org-archive.el.


The issue:

The real problem turns out to be that org-all-archive-files does not
do what it says on the can. It should list all archive files for the
current buffer, but will fail to pick up archive files listed in
:ARCHIVE: properties.

To reproduce, make a new org file called temp.org (or your choice of
name) containing something like:

* Test-heading
  :PROPERTIES:
  :ARCHIVE: test_archive::
  :END:


Then create an empty file called test_archive in the same directory,
and try calling (message "archives: %s" (org-all-archive-files)) in
that buffer.


Expected output: "archives: (/some/path/test_archive)"

Actual output: "archives: nil"


The cause:

Specifically the error is in this part of org-all-archive-files
starting on line 170 of org-archive.el (original indentation not
preserved):


(when (save-match-data
  (if (eq (match-string 1) ":") (org-at-property-p)
(eq (org-element-type (org-element-at-point)) 'keyword))) ...


That (eq (match-string 1) ":") always fails. Replacing eq with string=
in that expression seems to restore the expected behaviour:
org-all-archive-files no longer ignores archive files listed in
:ARCHIVE: properties. And indeed, it resolves the clocktable issue I
was having as well.


Nils Gustafsson


My emacs and org version (as printed by org-submit-bug-report):

Emacs  : GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2017-09-15, modified by Debian
Package: Org mode version 9.1.14 (9.1.14-7-g01c419-elpa @ 
/home/nils/.emacs.d/.cask/25.1/elpa/org-20181022/)




Re: [O] org--string-from-props

2018-10-29 Thread Bernt Hansen
Nicolas Goaziou  writes:

> Hello,
>
> Colin Baxter  writes:
>
>> I think there may be an issue with commit
>> b886ebbc8924916c1e36df00639b3208a1c155a2. Using tables, I now get an error:
>>
>> org--string-from-props: Un-handled `display' value: (space :width 1)
>>
>> which goes away when I revert the commit.
>
> Oops. Fixed. Thank you.
>
> Regards,

Thanks as always for the lightning fast response Nicolas!

I didn't even get a chance to report this issue... was too busy when I
ran into it and just manually inserted my |- separate line in my table
when C-c - didn't work.

Excellent work and much appreciated!!

Best Regards,
Bernt



[O] Bug: (R?) colnames sometimes appear, sometimes don't [9.1.13 (release_9.1.13 @ /usr/local/share/emacs/site-lisp/org/)]

2018-10-29 Thread Greg Minshall
Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.

hi.  it appears, at least for R, with :colnames in its default setting
(nil, i believe), if there are multiple :var arguments on the
#+BEGIN_SRC line, colnames for an hline'd table will appear iff the :var
for that table appears on the #+BEGIN_SRC line *before* any :var for a
*non* hline'd table.

small example follows.  (this was run, and behaved similarly, on a more
standard R:

R version 3.4.4 (2018-03-15) -- "Someone to Lean On"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

)

cheers, Greg

>>>
#+name: a
| this | is   |
|--+--|
| now  | test |

#+name: e
| colnames |

#+BEGIN_SRC emacs-lisp
(require 'ob-R)
#+END_SRC

#+RESULTS:
: ob-R

#+BEGIN_SRC R :var a=a :var e=e :results output
print(colnames(a))
print(colnames(e))
#+END_SRC

#+RESULTS:
: [1] "this" "is"  
: [1] "V1"

#+BEGIN_SRC R :var e=e :var a=a :results output
print(colnames(a))
print(colnames(e))
#+END_SRC

#+RESULTS:
: [1] "V1" "V2"
: [1] "V1"
<<


Emacs  : GNU Emacs 26.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.18.9)
 of 2018-09-07
Package: Org mode version 9.1.13 (release_9.1.13 @ 
/usr/local/share/emacs/site-lisp/org/)

current state:
==
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
 org-src-mode-configure-edit-buffer)
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-html-format-inlinetask-function 
'org-html-format-inlinetask-default-function
 org-agenda-files '("~/work/meetings/2017/lido/lido2017.org"
"~/docs/mine/92anotes.org"
"~/work/math/gerrymandr/gerrmandr.org"

"~/work/languages/turkish/translations/memduh-sevket-esendal/hayat-ne-tatli.org"
 "~/work/art.catalog/artcatalog.org" "~/work/languages/osmanlica/osmanlica.org" 
"~/work/trips/2014/ist2014/turkey.org" "~/work/trips/2014/ist2014/ist2014.org" 
"~/work/trips/2014/ist2014/istliving.org" 
"~/work/languages/turkish/2014/level1/grammar.org" 
"/home/minshall/docs/mine/org/finance.org" 
"/home/minshall/docs/mine/org/flagged.org" 
"/home/minshall/docs/mine/org/guesthouseremodel.org" 
"/home/minshall/docs/mine/org/healthinsurance.org" 
"/home/minshall/docs/mine/org/kronos.org" 
"/home/minshall/docs/mine/org/meetings.org" 
"/home/minshall/docs/mine/org/pages.org" 
"/home/minshall/docs/mine/org/reading.org" 
"/home/minshall/docs/mine/org/sbaloans.org" 
"/home/minshall/docs/mine/org/studentloans.org" 
"/home/minshall/docs/mine/org/sysnotes.org" 
"/home/minshall/docs/mine/org/travel.org" 
"/home/minshall/docs/mine/org/scotland2014.org" 
"/home/minshall/docs/mine/org/CONSTRUCTED")
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-modules '(org-bbdb org-bibtex org-docview org-gnus org-info org-tempo
   org-jsinfo org-irc org-mew org-mhe org-rmail org-vm org-wl 
org-w3m
   org-drill)
 org-mode-hook '(#[0 "\300\301\302\303\304$\207"
   [add-hook change-major-mode-hook org-show-block-all append
local]
   5]
 (lambda nil
  (setcar org-emphasis-regexp-components
   (concat (car org-emphasis-regexp-components) "[:alpha:]"))
  (org-set-emph-re (quote org-emphasis-regexp-components)
   org-emphasis-regexp-components)
  )
 flyspell-mode modi/highlight-confusing-chars
 #[0 "\300\301\302\303\304$\207"
   [add-hook change-major-mode-hook org-babel-show-result-all
append local]
   5]
 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn 
ENTRY)"]
 org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
 org-babel-pre-tangle-hook '(save-buffer)
 org-file-apps '((auto-mode . emacs) ("\\.mm\\'" . default)
 ("\\.x?html?\\'" . default) ("\\.pdf\\'" . "xpdf %s"))
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe
  org-babel-header-arg-expand)
 org-babel-load-languages '((emacs-lisp . t) (R . t) (asymptote . t) (ditaa . t)
(awk . t) (python . t) (C . t) (latex . t) (org . t)

Re: [O] [BUG] src_blocks - :wrap blocks not being overwritten

2018-10-29 Thread Berry, Charles


> On Oct 24, 2018, at 2:29 PM, Carlos García  wrote:
> 
> Hi List,
> 
> The functionality of replacing blocks using ":wrap" seems to be broken.
> In this email [1] from 2014, a user reported that this was working:
> 
> ,
> | * A
> | 
> | #+header: :results raw replace :wrap
> | #+begin_src emacs-lisp 
> |   (+ 2 2)
> | #+end_src
> | 
> | #+results:
> | #+BEGIN_RESULTS
> | 4
> | #+END_RESULTS
> `
> 
> i'm running orgmode 9.1.14 and the "BEGIN_RESULTS" blocks are not getting 
> overwritten. Can anybody else reproduce this problem?
> 


Confirmed.  

The issue is that the #+BEGIN/END_results is a `special-block', which is not 
recognized in `org-babel-result-end' as a result type.

I think the fix is to add it.

If the intention is to NOT recognize special-blocks as results, then the empty 
:wrap needs to have some other effect, like enclosing the result in a drawer.

HTH,

Chuck



Re: [O] An Org-based productivity tool

2018-10-29 Thread Marcin Borkowski


On 2018-10-29, at 13:31, Sacha Chua  wrote:

> On Mon, Oct 29, 2018, 05:19 Marcin Borkowski,  wrote:
>
>>
>> Well, I think I have something even better -
>> https://github.com/akirak/counsel-org-clock (I find Counsel/Ivy
>> interface much superior to the default refiling one).  I have my
>
> Oh, I should switch to that! Thanks for the recommendation.

You're welcome!

> Definitely!  As of now, the main use is to make sure I don't get
>> distracted too much at work so that I can actually make ends meet (I'm
>> paid by an hour), so this is a crucial part of my work infrastructure.
>> Also, this means it /must/ be a harsh taskmaster (at least for some
>> time).
>
> I remember liking the combination of org-capture (for ideas and tasks that
> might otherwise interrupt my flow), effort estimates, looking at the

I don't use effort estimates.  I'll try them one day.

> current clocked task in the modeline, and making myself take notes
> along

As for the clocked task in the modeline, I have a command to switch
between various settings - basically "all", "today" and "this clock".
Quite useful (from time to time).

> the way using org-babel. You probably already have a more sophisticated
> workflow, but in case any of those habits could use practising or tweaking,
> maybe that could help.

Thanks!

> I wonder if it makes sense to set up pomodoros, so you have the time
> structure to accommodate interruptions/distractions as well as a regular
> reminder to check if you're still on-task.

This is a very good idea.  I was thinking about it, but I have yet to
find a way to incorporate that into my workflow.

> I look forward to reading your usual awesome blog post about whatever
> workflow you figure out! :)

Thanks, now I feel quite obliged to describe it in detail! :-)

Best,

-- 
Marcin Borkowski
http://mbork.pl



Re: [O] org-mode: Would like to add custom chars as org-list bullets

2018-10-29 Thread Tom Burbage
I don't think the suggestions made in that thread are going to help in 
terms of org-mode recognizing a line as being a list item.
What I tried that I did think might work was to customize 
org-list-full-item-re:


org-list-full-item-re is a variable defined in ‘org-list.el’.
Its value is
"^[     ]*\\(\\*(?:[-+*]\\|\\(?:[0-9]+\\|[A-Za-z]\\)[.)]\\)*\\(?:[     
]+\\|$\\)\\)\\(?:\\[@\\(?:start:\\)?\\([0-9]+\\|[A-Za-z]\\)\\][     
]*\\)?\\(?:\\(\\[[ X-]\\]\\)\\(?:[ ]+\\|$\\)\\)?\\(?:\\(.*\\)[     
]+::\\(?:[     ]+\\|$\\)\\)?"


  This variable may be risky if used as a file-local variable.

Documentation:
Matches a list item and puts everything into groups:
*group 1: bullet*
group 2: counter
group 3: checkbox
group 4: description tag

to add '!' and '?' to '-+' in the group 1 expression, but that didn't do 
it. ( *[-+*] => [-+!?*]* )


On 10/24/2018 5:47 PM, Grant Rettke wrote:

On Sat, Oct 13, 2018 at 1:56 AM Colin Baxter  wrote:

Tom Burbage  writes:

 > When I use simple lists, I would like to be able to mix in '!' and
 > '?'  with '-' as these are sometimes more expressive of what the
 > list item represents.  My request is that the list of characters
 > org-list recognizes as being a valid "bullet" be customizable by
 > the user.

Have a look at 
https://emacs.stackexchange.com/questions/35626/how-to-make-my-own-org-mode-text-emphasis-work-again.

Which code are you recommending?




Re: [O] An Org-based productivity tool

2018-10-29 Thread Samuel Wales
On 10/29/18, Marcin Borkowski  wrote:
> On 2018-10-28, at 02:24, Samuel Wales  wrote:
>
>> i am still confused why timers can't poll every few minutes and clock
>> to the dominating task that has a clock drawer.
>
> As I hinted in my previous message, this is easy to do and possible, but
> /only/ under the assumption that you do the majority of your work in Org
> files.  In my case, such a system is completely impossible.

ok.

would be perfect for me though.  i don't care about getting fancy.
somewhat surprised nobody tried it.



[O] Bug: Capture template insertion fails with #+FOO [9.1.14 (9.1.14-1-g4931fc-elpa @ /home/phil/.emacs.d/elpa/org-9.1.14/)]

2018-10-29 Thread Philip Hudson
Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.


Regression in org-capture template handling.

I expected my (previously working) org-capture template to be
inserted into a newly-created empty Org file. The file name and
location are the output of a function specified in the template
(sequentially numbered filename).

Function `org-capture-insert-template-here' in file org-capture.el
now errors if the template specifies that its type is 'entry and it
begins with one or more lines of the general form "#+KEY value".
The error traces to a call to `org-kill-is-subtree-p', defined in file
org.el.

Fix (sorry it's not a proper patch):

Change line 1399 of org-capture.el from:

   (org-capture-verify-tree (org-capture-get :template))

to:

   (org-capture-verify-tree (replace-regexp-in-string "#\+[^\n]*\n" ""
template))

(This includes a refactoring-out of that redundant call to `org-capture-get').

NOTE: I have signed the FSF papers. In fact I've made small
contributions to Org-mode previously.

Emacs  : GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.5)
of 2017-09-12 on hullmann, modified by Debian
Package: Org mode version 9.1.14 (9.1.14-1-g4931fc-elpa @
/home/phil/.emacs.d/elpa/org-9.1.14/)

-- 
Phil Hudson  http://hudson-it.ddns.net
Pretty Good Privacy (PGP) ID: 0x4E482F85



[O] letterhead and signature in odt export

2018-10-29 Thread Matt Price
in North America it's letter-of-reference season for professors, and I am
writing a lot of them. These are some of the only documents I still compose
in libreoffice, because I need to use a letterhead that contains both image
and text, and I need to insert a .png of my signature near the bottom.  I
would much prefer to compose these letter in org and them export. In order
to so I would need to preserve the letterhead and the signature somehow.
Both these sections in my current letters occur within the



section which I guess is always replaced by org on export.  My immediate
question: Is there a way to preserve some of these contents? More
generally: do people have template files they are very satisfied with? I
would be happy to go straight to pdf via latex, if it were easy to
accomplish the same effect that way I don't use latex at all myself so it
might not be so easy for me :-/.

For completeness, here is the xml for my letterhead (sorry it's rather
long):

-
University of
Toronto
dept. of
history
Rm-2074 sidney smith, 100 st. george street, TORONTO,
ONTARIO M5S 3G3 CANADATelephone 416-978-3363
Fax 416-978-4810

--

and here is my signature:


University of
Toronto
dept. of
history
Rm-2074 sidney smith, 100 st. george street, TORONTO,
ONTARIO M5S 3G3 CANADATelephone 416-978-3363
Fax 416-978-4810



As you can see, one occurs at the beginning of the  element,
and the other at the end. Can I somehow insert them on export?

Thanks as always for your help.


Re: [O] letterhead and signature in odt export

2018-10-29 Thread Eric S Fraga
On Tuesday, 30 Oct 2018 at 01:55, Matt Price wrote:
> in North America it's letter-of-reference season for professors, and I am
> writing a lot of them. 

I sympathise fully :)

> These are some of the only documents I still compose in libreoffice,
> because I need to use a letterhead that contains both image and text,
> and I need to insert a .png of my signature near the bottom.  I would
> much prefer to compose these letter in org and them export. In order
> to so I would need to preserve the letterhead and the signature
> somehow.

The documentation for odt export suggests that you can specify a style
file.  If you create this file in libreoffice with your letterhead &
image, it should work.  I've not tested this, mind you.

I use LaTeX, specifically the komascript letter style, but it does
require LaTeX knowledge to create the basic template.

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.1.13-783-g97fac4