[O] Obsolete org contrib package
Hi all, I just ran into org-ebib.el, a file that's part of org-contrib. I noticed that it uses functions from Ebib that were renamed pretty much exactly two years ago. (They're internal functions and thus got an extra dash.) This could in principle be fixed by changing the relevant function calls in org-ebib.el, but as it happens I'm about to push some changes to Ebib that will make it less straightorward to fix org-ebib.el. So perhaps it would be best to simply remove org-ebib.el from org-contrib? It doesn't seem to have been used by anyone the past two years and all it does is define a function to store an org link to an Ebib entry, which, IIUC, is done in a completely different way in Org 9.0. Joost -- Joost Kremers Life has its moments
Re: [O] HTML blocks not exporting correctly
Thanks! On Mon, Nov 7, 2016 at 6:42 PM, Kaushal Modiwrote: > Please see the very beginning of ORG-NEWS/Release Notes > > - http://orgmode.org/cgit.cgi/org-mode.git/tree/etc/ORG-NEWS?h=maint#n26 > - http://orgmode.org/Changes.html#orgf3f9c91 > > On Mon, Nov 7, 2016 at 6:25 PM Peter Salazar > wrote: > >> Since upgrading to org-mode 9.0, I am unable to export HTML blocks. When >> I export to HTML, the contents of HTML blocks export literally, rather than >> as rendered HTML. >> >> So for instance, I have an org-mode file containing this: >> >> #+BEGIN_HTML >> http://orgmode.org;>link >> #+END_HTML >> >> When I export to HTML, I get an HTML file that has the literal text "> HREF="http://orgmode.org;>link" rather than creating a hyperlink. >> >> Is there a fix for this? Thanks! >> > -- > > Kaushal Modi >
Re: [O] HTML blocks not exporting correctly
Please see the very beginning of ORG-NEWS/Release Notes - http://orgmode.org/cgit.cgi/org-mode.git/tree/etc/ORG-NEWS?h=maint#n26 - http://orgmode.org/Changes.html#orgf3f9c91 On Mon, Nov 7, 2016 at 6:25 PM Peter Salazarwrote: > Since upgrading to org-mode 9.0, I am unable to export HTML blocks. When I > export to HTML, the contents of HTML blocks export literally, rather than > as rendered HTML. > > So for instance, I have an org-mode file containing this: > > #+BEGIN_HTML > http://orgmode.org;>link > #+END_HTML > > When I export to HTML, I get an HTML file that has the literal text " HREF="http://orgmode.org;>link" rather than creating a hyperlink. > > Is there a fix for this? Thanks! > -- Kaushal Modi
[O] org.texi edits, patch attached
Attached is a patch submission for org.texi file. Sorry for the large size of the attachment. I am posting to this list on Bastien's suggestion. The edits mainly pertain to org-babel, which is where most of my time is spent these days. This patch is an attempt to make the documentation more consistent with the rest of gnu manuals. Comments and suggestions welcome. --sjlam...@gmail.com 0001-Documentation-edits.patch.gz Description: GNU Zip compressed data
[O] HTML blocks not exporting correctly
Since upgrading to org-mode 9.0, I am unable to export HTML blocks. When I export to HTML, the contents of HTML blocks export literally, rather than as rendered HTML. So for instance, I have an org-mode file containing this: #+BEGIN_HTML http://orgmode.org;>link #+END_HTML When I export to HTML, I get an HTML file that has the literal text "http://orgmode.org;>link" rather than creating a hyperlink. Is there a fix for this? Thanks!
[O] [bug] timed repeater shows up in wrong place
thank you to everybody who made org 9 possible. in recent org 9 maint *** NEXTREPEAT test :goto: SCHEDULED: <2016-07-15 Fri 21:00 .+1d> does not show up in the timed section of agenda it shows in scheduled section other tasks like it show in timed section if the date is today, then it works correctly *correctly to me is the traditional behavior of showing up every day* i have a hypothesis that this is due to a discussion some time ago from somebody who did not want repeaters to pop up again after the repeater interval unless they were doneified. both he and i urged that that such a new, different behavior should be optional, as i rely on being reminded of repeaters more than once /even when they have not been doneified/. however, i could be wrong about the origin of this, to me, bug. if the hypothesis is not wrong, then i believe it's a personal opinion which behavior should be default. some will want the new behavior of allowing things to fall into obscurity if not doneified. some like myself rely on the task popping up again. both should be available, in my opinion, as there are insufficient workarounds. it does not seem to be documented in the release notes, so i hope that it is just a bug, or that there is a variable for it. i will probably have to downgrade to org 8 until this is fixed or i find the variable. thanks. -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com The disease DOES progress. MANY people have died from it. And ANYBODY can get it. Denmark: free Karina Hansen NOW. UPDATE 2016-10: home, but not fully free
[O] Still trying to get DocBook output
Since DocBook XML is not supported by the new org-mode export architecture, I tried following the recommendation here: http://orgmode.org/worg/exporters/ox-overview.html exporting to texi and then using makeinfo to convert to DocBook XML. This worked reasonably smoothly, though it still required some hand editing. In particular, there are a number of constructs that seem to be completely different in org->makeinfo generated XML vs. the DocBook XML my team is using. I'm not sure this is exhaustive, but here's what I've found so far: Effect MakeInfo XML output Desired DocBook XML id strings Mixed_Case_Section_Title _lower_case_section_title chapter, sect labels label="n.n" *n/a* Code example ... ... Graphic Definition list... ...... ... ... ... I hope this HTML table comes through. I'm assuming I could create a fairly simple XSLT script to convert the makeinfo output to the desired XML, but I'm wondering if there's a way to pass a stylefile, DTD or schema to makeinfo to do this automatically. Anyone know? I looked at the help for makeinfo, but didn't see anything I recognized as a way to do this. Thanks, -pd -- Peter Davis www.techcurmudgeon.com
[O] Bug: HTML exports issues: none not working, and issues with #+TITLE
Hi, I upgraded to Emacs 25.1 and Org-mode 9.0 (latest from Elpa) and I am experiencing two issues with export: (1) The header parameter ":exports none" doesn't appear to be working. With the following code, the code block is exported to HTML: = #+BEGIN_SRC elisp :results silent :exports none (setq org-html-htmlize-output-type 'inline-css) #+END_SRC = (2) As soon as I have a non-empty #+TITLE: defined in a org-mode file, I am getting this kind of error with exporting in HTML (or any other formats): = #+TITLE test = returns: = apply: Wrong type argument: listp, #("test" 0 4 (:parent (#0))) = Thanks, Fred
[O] [PATCH] New header parameter :show-process for Org-babel-clojure
Hi Nicolas, The new Org-mode release 9.0 made me realize that I never finished some of my work with Org-babel-clojure. I noticed that you included some of my previous fixes in Org-babel-clojure, so here are the latest work I did. I updated it to work with the latest code on Git. I did two things with these fixes: (1) I better handle any possible error or exceptions that may be raised by nREPL by displaying any errors in the RESULTS section (2) I added a new header option called ":show-process" which create a new window/buffer to display anything that is outputted by the Clojure code in the code block. In the past, I did refer to this as ":async", but as we discussed at that time, it really was not async. So I changed the naming of this new feature to remove this ambiguity. One thing I noticed in this process is that you actually did update worg with the documentation of ":async" but didn't add the actual Org-babel-clojure code modifications. In any case, I did update the worg documentation accordingly too. Finally I updated ORG-NEWS in the 9.1 section. See the patch files attached to this email. Thanks! Take care, Fred From df8284b45c35e0c1dcbccf40ba7b76fd18270b90 Mon Sep 17 00:00:00 2001 From: Frederick GiassonDate: Mon, 7 Nov 2016 13:48:50 -0500 Subject: [PATCH 1/2] Better error handling with nREPL. Displaying any possible errors or exceptions in the result block. Adding a new :show-process header option such that the underlying process of a Clojure block code get output in a new buffer and a new window such that the developer can see what is going on. --- lisp/ob-clojure.el | 106 + 1 file changed, 82 insertions(+), 24 deletions(-) diff --git a/lisp/ob-clojure.el b/lisp/ob-clojure.el index 72ea77d..4800c9a 100644 --- a/lisp/ob-clojure.el +++ b/lisp/ob-clojure.el @@ -2,7 +2,7 @@ ;; Copyright (C) 2009-2016 Free Software Foundation, Inc. -;; Author: Joel Boehland, Eric Schulte, Oleh Krehel +;; Author: Joel Boehland, Eric Schulte, Oleh Krehel, Frederick Giasson ;; ;; Keywords: literate programming, reproducible research ;; Homepage: http://orgmode.org @@ -84,34 +84,92 @@ body))) (defun org-babel-execute:clojure (body params) - "Execute a block of Clojure code with Babel." + "Execute a block of Clojure code with Babel. The underlying process performed by the + code block can be output using the :show-process parameter" (let ((expanded (org-babel-expand-body:clojure body params)) - result) +(sbuffer "*Clojure Show Process Sub Buffer*") +(show (if (assoc :show-process params) t nil)) +(response (cons 'dict nil)) +status +result) (cl-case org-babel-clojure-backend (cider (require 'cider) (let ((result-params (cdr (assq :result-params params -(setq result - (nrepl-dict-get - (nrepl-sync-request:eval -expanded (cider-current-connection) (cider-current-session)) - (if (or (member "output" result-params) - (member "pp" result-params)) - "out" - "value") - (slime - (require 'slime) - (with-temp-buffer -(insert expanded) -(setq result - (slime-eval - `(swank:eval-and-grab-output - ,(buffer-substring-no-properties (point-min) (point-max))) - (cdr (assq :package params))) -(org-babel-result-cond (cdr (assq :result-params params)) - result - (condition-case nil (org-babel-script-escape result) - (error result) + ; Check if the user want show the process in an output buffer/window + (when show + ; Create a new window with the show output buffer + (switch-to-buffer-other-window sbuffer) + + ; Run the Clojure code in nREPL + (nrepl-request:eval +expanded +(lambda (resp) + (when (member "out" resp) +; Print the output of the nREPL in the output buffer +(princ (nrepl-dict-get resp "out") (get-buffer sbuffer))) + (when (member "ex" resp) +; In case there is an exception, then add it to the output buffer as well +(princ (nrepl-dict-get resp "ex") (get-buffer sbuffer)) +(princ (nrepl-dict-get resp "root-ex") (get-buffer sbuffer))) + (when (member "err" resp) +; In case there is an error, then add it to the output buffer as well +(princ (nrepl-dict-get resp "err") (get-buffer sbuffer))) + (nrepl--merge response resp) + ; Update the status of the nREPL output session + (setq status (nrepl-dict-get response "status"))) +(cider-current-connection) +(cider-current-session)) +
Re: [O] Bug: Repeated tasks not shown from org-timeline [9.0 (9.0-dist @ c:/wlin/.emacs-lisp/org/lisp/)]
Thanks. I have been using org mode for probably over 10 years, but did not keep checking the messages. The feature is very useful to me. Do you have any suggestion how to replicate this with an agenda view (with skipped empty days, especially)? Thanks. On Fri, Nov 4, 2016 at 2:38 PM, Nicolas Goaziouwrote: > Hello, > > Warren Lynn writes: > > > With a simple org file of just one entry as below: > > > > * TODO A weekly task > > SCHEDULED: <2016-11-04 Fri +1w> > > > > If I run org-timeline, I expect to see this task show up on every > > Friday. But only one line is in the timeline, for "2016-11-04" > > only. This behavior will make user have doubts when checking a date in > the > > timeline. > > > > BTW: if we change the above file into the following: > > > > * TODO A weekly task > > SCHEDULED: <2016-11-04 Fri +1w> > > * TODO Some other task in next week. > > SCHEDULED: <2016-11-11 Fri> > > > > Then orgline WILL show the repeat task for "2016-11-11". > > Org Timeline is pretty much deprecated. Carsten pointed out its > limitations years ago already (I cannot find the references on the ML, > tho). > > I suggest to stay away from this feature, which ought to be removed at > some point. You can probably obtain the same feature with an agenda view > restricted to buffer. > > Regards, > > -- > Nicolas Goaziou >
Re: [O] Bug: Unable to nest headings within export blocks [9.0 (9.0-elpa @ c:/Data/Documents/emacs.d/elpa/org-20161102/)]
On Mon, 7 Nov 2016, Lixin Chin wrote: Hi, Thanks, yes that almost works. Unfortunately the heading line is just reproduced verbatim in the output, whereas ideally it should be parsed as a normal heading. I.e., currently: #+BEGIN_EXPORT html ,* HTML only heading Text which should appear in HTML exports, but not \LaTeX{}. #+END_EXPORT Exports as: * HTML only heading Text which should appear in HTML exports, but not \LaTeX{}. Whereas ideally I'd like to be able to input: #+BEGIN_EXPORT html * HTML only heading Text which should appear in HTML exports, but not \LaTeX{}. #+END_EXPORT that would export as: 2 HTML only heading Text which should appear in HTML exports, but not \LaTeX{}. Run this: #+BEGIN_SRC emacs-lisp :eval never-export :exports none (require 'ob-org) (defun eval-if-html () (if (not (eq org-export-current-backend 'html)) "never")) #+END_SRC Then export this with the html backend: #+OPTIONS: toc:nil #+BEGIN_SRC org :eval (eval-if-html) :exports results :results replace ,* HTML only heading Text which should appear in HTML exports, but not \LaTeX{}. #+END_SRC and you will get this: 1 HTML only heading Text which should appear in HTML exports, but not \LaTeX{}. With other backends you get nothing. HTH, Chuck
[O] Elisp: help on string operations for fast file visiting
Hi! For Memacs[1], I'd like to come up with a very fast Org-mode method to open files independent of their location on your disk. I accomplished everything necessary so far. However, I've got issues writing an elisp function for extracting a file and sending it to a function that calls the operating system app associated. My elisp knowledge is still too bad :-( What I've got is a string (from the lookup) which contains: (1) nothing (2) one line like "** <2008-06-17 21:43> [[file:/home/user/dir/2008-06-17 description of file.odp][2008-06-17 description of file.odp]]" (3) multiple lines like (2) but with different files and links I'd like to get a "Sorry" message for (1). Easy, if only I know how to count lines in strings (as opposed to buffers). For (2) I'd like to call my-open-in-external-app(string). For (3), I'd like to use the first line just as in (2) as a starter. I do have some ideas on gracious "error-recovering" on this one but that's maybe too complicated to code for now: getting rid of substrings delimited by not-'a-zA-Z0-9' from the end of the link until a match is found; message in case there is no unique match which could be found this way. Could you please help me here? It'd help all users of the file index module of Memacs. The mini fragment I have so far is following but the regex seems to be broken: #+BEGIN_SRC elisp (let ( (result (replace-regexp-in-string "\r?\n$" "" (shell-command-to-string (concat "grep " "2008-06-17" " ~/org/memacs/files.org_archive");; hard coded stuff for testing purposes ) ) ) ) (message (concat "result -> " result)) (re-search-forward " \[\[.+\]\[" nil t 1) (let ( (firstlink ((match-string 1))) ) (message (concat "first link -> " firstlink)) ) ) #+END_SRC [1] https://github.com/novoid/Memacs -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github
Re: [O] html-email in org-mode
Many thanks John for this email and also for your very useful videos. As I told you, I use sometimes gnus + org-mode to make roughly the same things that you make with m4ue. Your message appears correctly in two formats in gnus: multipart/mixed and text/html. In a browser used with gmail its html is perfect. I confess that I do not succeed to use only gnus for my email, but mainlywhenitis moreconvenientforprofessional reasons. Unfortunately, I have not still succeed to use gnorb, because I do not understand clearly how it works. But even without gnorb, gnus works well in harmony with gmail in IMAP. Maybe some people in this list could share their experiences with an emacs email client + org-mode and help to make the better choice, if possible? Best wishes, Jo.
Re: [O] Cannot load org after updating to 9.0
2016-11-07 14:11 GMT+01:00 Thibaut Verron: > 2016-11-07 12:44 GMT+01:00 Thibaut Verron : > >> Hello, >> >> I updated my emacs packages this morning, including org 9.0, from GNU >> elpa. Apparently (based on other folders in my elpa installation folder), >> my last previous update was on april 11, 2016, so the problem may not come >> from the very latest version. Nonetheless, I didn't find any other mention >> of it online. >> >> So, how does the problem appear? When I start emacs, I get the following >> "warnings": >> >> > WARNING: No org-loaddefs.el file could be found from where org.el is >> loaded. >> > You need to run "make" or "make autoloads" from Org lisp directory >> > Warning (initialization): An error occurred while loading >> `(...)/.emacs.d/init.el': >> >> > Symbol's function definition is void: org-element-update-syntax >> >> For the first warning, I tried looking in the >> ~/.emacs.d/elpa/org-20161102 folder (which is where the loaded org.el file >> is), and it does contain org-loaddefs.el. There is no makefile, but I guess >> that it is normal for an installation using elpa. >> >> The second warning is an error and blocks further evaluation of my init >> file. For some reason though, --debug-init doesn't give any stacktrace. >> >> I'm using emacs 24.3.1 on linux (ubuntu 14.04). >> > > When I try to evaluate org-loaddefs manually, I get an error "Symbol's > function definition is void: function-put". > > Apparently, based on this thread [1], it can happen if I installed org > using a more recent version of emacs than the one I am using currently. It > was certainly the case until this morning, but I installed the update from > this computer, and after the problem appeared, I uninstalled and > reinstalled org, again from this computer. > > Replacing occurrences of function-put with put got rid of the first > warning (the warning message could have been more helpful), but not of the > second one. > > org-element-update-syntax is defined in org-element.el, so I guess it is > another compilation problem. How can I make sure that the package is > compiled for my version of emacs? > > Thibaut Verron > > [1] https://lists.gnu.org/archive/html/emacs-orgmode/2014-05/msg00336.html > The problem is now fixed for me. I uninstalled the package, restarted emacs with -Q, initialized package and reinstalled from there. I had to remove the occurrences of function-put again though. Without -Q, it seems that there was a compilation error in org-attach.el at line 42 (require 'org-id), related to an undefined function "org-link-set-parameter". Thibaut
Re: [O] Error: org-babel-execute-src-block: No org-babel-execute function for conf!
got it it works now, thx so much! Z On Mon, Nov 7, 2016 at 1:43 PM, Nicolas Goaziouwrote: > Hello, > > Xebar Saram writes: > > > Sorry for not being clearer. im trying to tangle not the whole file > (which > > i think is what org-babel-tangle does) but a specific header with all sub > > headers associated with it (they all create one file). after reading the > > org documentation at the time i created this function > > > > (defun z/org-tangle-at-block () > > (interactive) > > (let ((current-prefix-arg '(16))) > >(call-interactively #'org-babel-tangle))) > > > > so following the previous code blocks example, I previously went to the > > main i3 conf header and then issued the function > > z/org-tangle-at-block which would tangle all sub header and blocks to > one > > file ( ~/.i3/config). > > when i try now to run the function i get the > > > > user-error: Point is not in a source code block > > I don't understand your function. What is the point of the '(16) > argument, according to your needs? From `org-babel-tangle' docstring, > > With two universal prefix arguments, only tangle blocks for the > tangle file of the block at point. > > You need to put point on a source block per above, hence the error you > obtain. > > Regards, > > -- > Nicolas Goaziou >
Re: [O] Cannot load org after updating to 9.0
2016-11-07 12:44 GMT+01:00 Thibaut Verron: > Hello, > > I updated my emacs packages this morning, including org 9.0, from GNU > elpa. Apparently (based on other folders in my elpa installation folder), > my last previous update was on april 11, 2016, so the problem may not come > from the very latest version. Nonetheless, I didn't find any other mention > of it online. > > So, how does the problem appear? When I start emacs, I get the following > "warnings": > > > WARNING: No org-loaddefs.el file could be found from where org.el is > loaded. > > You need to run "make" or "make autoloads" from Org lisp directory > > Warning (initialization): An error occurred while loading > `(...)/.emacs.d/init.el': > > > Symbol's function definition is void: org-element-update-syntax > > For the first warning, I tried looking in the ~/.emacs.d/elpa/org-20161102 > folder (which is where the loaded org.el file is), and it does contain > org-loaddefs.el. There is no makefile, but I guess that it is normal for an > installation using elpa. > > The second warning is an error and blocks further evaluation of my init > file. For some reason though, --debug-init doesn't give any stacktrace. > > I'm using emacs 24.3.1 on linux (ubuntu 14.04). > When I try to evaluate org-loaddefs manually, I get an error "Symbol's function definition is void: function-put". Apparently, based on this thread [1], it can happen if I installed org using a more recent version of emacs than the one I am using currently. It was certainly the case until this morning, but I installed the update from this computer, and after the problem appeared, I uninstalled and reinstalled org, again from this computer. Replacing occurrences of function-put with put got rid of the first warning (the warning message could have been more helpful), but not of the second one. org-element-update-syntax is defined in org-element.el, so I guess it is another compilation problem. How can I make sure that the package is compiled for my version of emacs? Thibaut Verron [1] https://lists.gnu.org/archive/html/emacs-orgmode/2014-05/msg00336.html
[O] Cannot load org after updating to 9.0
Hello, I updated my emacs packages this morning, including org 9.0, from GNU elpa. Apparently (based on other folders in my elpa installation folder), my last previous update was on april 11, 2016, so the problem may not come from the very latest version. Nonetheless, I didn't find any other mention of it online. So, how does the problem appear? When I start emacs, I get the following "warnings": > WARNING: No org-loaddefs.el file could be found from where org.el is loaded. > You need to run "make" or "make autoloads" from Org lisp directory > Warning (initialization): An error occurred while loading `(...)/.emacs.d/init.el': > Symbol's function definition is void: org-element-update-syntax For the first warning, I tried looking in the ~/.emacs.d/elpa/org-20161102 folder (which is where the loaded org.el file is), and it does contain org-loaddefs.el. There is no makefile, but I guess that it is normal for an installation using elpa. The second warning is an error and blocks further evaluation of my init file. For some reason though, --debug-init doesn't give any stacktrace. I'm using emacs 24.3.1 on linux (ubuntu 14.04). What should I do? Thanks, Thibaut Verron
Re: [O] Error: org-babel-execute-src-block: No org-babel-execute function for conf!
Hello, Xebar Saramwrites: > Sorry for not being clearer. im trying to tangle not the whole file (which > i think is what org-babel-tangle does) but a specific header with all sub > headers associated with it (they all create one file). after reading the > org documentation at the time i created this function > > (defun z/org-tangle-at-block () > (interactive) > (let ((current-prefix-arg '(16))) >(call-interactively #'org-babel-tangle))) > > so following the previous code blocks example, I previously went to the > main i3 conf header and then issued the function > z/org-tangle-at-block which would tangle all sub header and blocks to one > file ( ~/.i3/config). > when i try now to run the function i get the > > user-error: Point is not in a source code block I don't understand your function. What is the point of the '(16) argument, according to your needs? From `org-babel-tangle' docstring, With two universal prefix arguments, only tangle blocks for the tangle file of the block at point. You need to put point on a source block per above, hence the error you obtain. Regards, -- Nicolas Goaziou
Re: [O] Bug: second batch of small documentation problems [9.0 (9.0-elpaplus @ /home/jorge/.emacs.d/elpa/org-plus-contrib-20161102/)]
I have some observations about your fixes: 1. Tag keys (for fast selection) 1) When clarifying that tag keys are case-sensitive letters, we forgot to adjust org-tag-persistent-alist’s docstring. Please adjust it. 2) And now that I think of it, is it appropriate to write "a-zA-Z" in [[info:org#Setting tags]]? Are only these characters allowed and no others? 2. Your changes to [[info:org#The very busy C-c C-c key]]: #+BEGIN_QUOTE -If the current buffer is a capture buffer, close the note and file it. -With a prefix argument, file it, without further interaction, to the -default location. +If the current buffer is a capture buffer, close the note and file it. With +a prefix argument, jump to the target location, without capturing anything. #+END_QUOTE The last added sentence seems to actually describe "C-u C-c c" instead of "C-u C-c C-c". 3. The new docstring of org-startup-folded #+BEGIN_QUOTE Set `org-agenda-inhibit-startup' to a non-nil value so as to ignore this option when Org opens agenda files for the first time. #+END_QUOTE The way that excerpt is written, it seems to me that it actively recommends setting org-agenda-inhibit-startup to a non-nil value. We could replace "so as to" → "if you want to". But maybe this is me misunderstanding English – my second language – or just being pedantic, I don’t know. And thank you very much for helping Org! When the Brazilian real gains a little more value, I intend to make a donation. And when I become less overloaded, I intend to study Emacs Lisp and start writing some patches. Regards. -- • I am Brazilian. I hope my English is correct and I welcome corrections. • Please adopt free formats like PDF, ODF, Org, LaTeX, Opus, WebM and 7z. • Free (as in free speech) software for Android: https://f-droid.org/