emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Help with sharing emacs-org presentation
@ 2018-10-25 19:14 Feiming Chen
  2018-10-30  8:42 ` Grant Rettke
  2018-10-31  6:39 ` Jens Lechtenboerger
  0 siblings, 2 replies; 8+ messages in thread
From: Feiming Chen @ 2018-10-25 19:14 UTC (permalink / raw)
  To: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 336 bytes --]

Hi, I am an enthusiastic emacs-org user. Thanks for making this great
tool!   I gave a talk on emacs-org in a local workshop (Government Advances
in Statistical Programming) in Washington D.C. yesterday.  I'd like to
share the slides and org source file with the community (see attached).
Please help.  Thanks!

Sincerely,
Feiming Chen

[-- Attachment #1.2: Type: text/html, Size: 815 bytes --]

[-- Attachment #2: slides-source.zip --]
[-- Type: application/zip, Size: 199883 bytes --]

[-- Attachment #3: 2018-GASP-emacs-org-FeimingChen.pdf --]
[-- Type: application/pdf, Size: 425365 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Help with sharing emacs-org presentation
  2018-10-25 19:14 Help with sharing emacs-org presentation Feiming Chen
@ 2018-10-30  8:42 ` Grant Rettke
  2018-10-30 19:01   ` Martin Schöön
  2018-10-31  6:39 ` Jens Lechtenboerger
  1 sibling, 1 reply; 8+ messages in thread
From: Grant Rettke @ 2018-10-30  8:42 UTC (permalink / raw)
  To: feimingc; +Cc: Org-mode

On Mon, Oct 29, 2018 at 7:53 AM Feiming Chen <feimingc@gmail.com> wrote:
> Hi, I am an enthusiastic emacs-org user. Thanks for making this great tool!   I gave a talk on emacs-org in a local
> workshop (Government Advances in Statistical Programming) in Washington D.C. yesterday.  I'd like to share the slides
> and org source file with the community (see attached).  Please help.  Thanks!

Very cool thanks for sharing that!

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Help with sharing emacs-org presentation
  2018-10-30  8:42 ` Grant Rettke
@ 2018-10-30 19:01   ` Martin Schöön
  2018-10-30 19:43     ` Julius Dittmar
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Schöön @ 2018-10-30 19:01 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 265 bytes --]

I have already learned some cool org-mode features by looking at your .org
file :-)

My own mantra for preparing slide-packs is to minimize text. I want the
audience to listen to me rather than reading text on my slides.
My 2 cents...

-- 
Martin Schöön

[-- Attachment #2: Type: text/html, Size: 443 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Help with sharing emacs-org presentation
  2018-10-30 19:01   ` Martin Schöön
@ 2018-10-30 19:43     ` Julius Dittmar
  2018-10-31  7:21       ` Eric S Fraga
  0 siblings, 1 reply; 8+ messages in thread
From: Julius Dittmar @ 2018-10-30 19:43 UTC (permalink / raw)
  To: emacs-orgmode

Hi Martin,

Am 30.10.18 um 20:01 schrieb Martin Schöön:
> My own mantra for preparing slide-packs is to minimize text. I want
> the audience to listen to me rather than reading text on my slides.
> My 2 cents...

please don't overdo that.

People have quite different ways of taking in information. Some memorize
best if they hear something. Others memorize best if they have visual
input. Others memorize best if they somehow take that information into
their hands (for example by writing).

If all you give is auditory input, you will leave a lot of interested
persons in your auditory in the cold.

My 2 cents...

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Help with sharing emacs-org presentation
  2018-10-25 19:14 Help with sharing emacs-org presentation Feiming Chen
  2018-10-30  8:42 ` Grant Rettke
@ 2018-10-31  6:39 ` Jens Lechtenboerger
  2018-11-03  2:30   ` Feiming Chen
  1 sibling, 1 reply; 8+ messages in thread
From: Jens Lechtenboerger @ 2018-10-31  6:39 UTC (permalink / raw)
  To: Feiming Chen; +Cc: emacs-orgmode

On 2018-10-25, Feiming Chen wrote:

> I gave a talk on emacs-org in a local workshop (Government Advances
> in Statistical Programming) in Washington D.C. yesterday.  I'd like to
> share the slides and org source file with the community (see attached).

Thanks for sharing!

I wonder why you stress the following:
- Not good for collaborative use (unlike Microsoft Office).
- Good for private, non-collaborative use.

My view is the opposite: Org mode is excellent for collaboration as
it is plain text, suitable for diff/merge in Git repositories.
Thanks to the separation of contents from style,
cross-organizational collaboration is possible, which I find *very*
hard with any office tool:  Changing a document master leads to all
kinds of layout destruction.  Switching to a different corporate
identity is just hard with what-you-see-is-what-you-get tools.

In contrast, Org mode can be a basis for what is called Single
Sourcing [1] in the context of technical writing.

You can see my approach towards Open Educational Resources with Org
mode at [2].

Best wishes
Jens

[1] http://rockley.com/articles/Single_Sourcing_and_Technology.pdf
[2] https://gitlab.com/oer/OS

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Help with sharing emacs-org presentation
  2018-10-30 19:43     ` Julius Dittmar
@ 2018-10-31  7:21       ` Eric S Fraga
  2018-11-01 18:51         ` Joseph Vidal-Rosset
  0 siblings, 1 reply; 8+ messages in thread
From: Eric S Fraga @ 2018-10-31  7:21 UTC (permalink / raw)
  To: Julius Dittmar; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1627 bytes --]

On Tuesday, 30 Oct 2018 at 20:43, Julius Dittmar wrote:
> Am 30.10.18 um 20:01 schrieb Martin Schöön:
>> My own mantra for preparing slide-packs is to minimize text. I want
>> the audience to listen to me rather than reading text on my slides.
>> My 2 cents...
>
> please don't overdo that.
>
> People have quite different ways of taking in information. Some memorize
> best if they hear something. Others memorize best if they have visual
> input. Others memorize best if they somehow take that information into
> their hands (for example by writing).
>
> If all you give is auditory input, you will leave a lot of interested
> persons in your auditory in the cold.

There is always a balance to be achieved, in my experience.  The trick
is to have slides that support you but do not compete.  If there is too
much text, the audience will be tempted to read and will not be paying
attention to what you say.  I tend towards Martin's view with little or
no text on many slides but slides with text will be limited to 3-4
bullet points and each bullet point having 5-6 words maximum.  But, of
course, this all depends on your intended audience.

In any case, in the spirit of this thread, please find attached a
presentation (both PDF and original org file) I gave earlier this year
to an academic audience consisting mostly of mathematicians and
numerical analysts.  The topic was literate programming but it was
really about org and Emacs.  Lot of interest from the audience and I
hope I converted some to this eco-system.

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

[-- Attachment #2: talk.pdf --]
[-- Type: application/pdf, Size: 637187 bytes --]

[-- Attachment #3: talk.org --]
[-- Type: text/x-org, Size: 19535 bytes --]

#+title: Literate programming and reproducible research
#+author: Professor Eric S Fraga, UCL
#+macro: lastchange 2018.06.06 10:36

* Introduction

** The aim & challenge

*** Reproducible research

To ensure that our research is *reproducible* both by ourselves and by others.

*** Coding, processing, writing

In doing research,

1. we all *write* programs ...
2. which generate *results* ...
3. which need to be *processed* ...
4. and which should be *disseminated*.

Currently, we use different tools for each step.
*** Tools

Workflow:

- coding :: IDE, MATLAB editor, ~vi~, ~notepad~, ...
- results :: ~.txt~, ~.xls~, ~.dat~
- processing :: spreadsheet, ~R~
- dissemination :: ~Word~, ~PowerPoint~, LaTeX, ~beamer~
- project management :: ?

leading to constant *transfer* of data from one place to another.
** Literate programming

*** Definition

#+begin_quote
Literate programming is a programming paradigm introduced by Donald Knuth in which a program is given as an explanation of the program logic in a natural language, such as English, interspersed with snippets of macros and traditional source code, from which a compilable source code can be generated.
#+end_quote

https://en.wikipedia.org/wiki/Literate_programming

*** Code and documentation

#+attr_latex: :width 0.8\textwidth
[[file:literate-programming-tangling.png]]

[[http://howardism.org/Technical/Emacs/literate-programming-tutorial.html][Source]]
*** Example: the Strawberry algorithm

[[file:strawberry-outline-withborder.png]]

[[https://www.ucl.ac.uk/~ucecesf/strawberry.html]]
** Emacs

*** Editor

- originally written in 1976
- content aware editing
- fully extensible in ~Emacs LISP~
- self-documenting with comprehensive help system
- large eco-system of packages

https://www.gnu.org/software/emacs/
*** org mode

Text (*it's all text*) based mode for

- writing & dissemination
- project management
- literate programming

https://orgmode.org/
* org mode
** Programming
*** Example objective function

\begin{align*}
\min_x z &= \sum_{i=1}^{n} x_i^4 + x_i^3 - 2x_i^2 \\
x & \in [a,b]\cap\mathbb{R}^n
\end{align*}

*** Plot of objective function 

#+results: plot-f
[[file:f.png]]

:plotcode:
#+name: plot-f
#+header: :term "png crop"
#+begin_src gnuplot :file f.png :exports results
  reset
  set cntrparam levels 40 bspline
  set contour base
  set hidden3d
  unset key
  set view 60,326
  set xrange [-2:2]
  set yrange [-2:2]
  unset xtics 
  unset ytics 
  unset ztics 
  unset zlabel
  splot x**4+y**4+x**3+y**3-2*x*x-2*y*y
#+end_src
:end:

*** Tangling

Create an ~octave~ file with the objective function using *tangling*:

#+name: octave-f
#+begin_src octave :tangle "f.m"
  function [z g] = f(x)
    z = sum(x.^4 + x.^3 - 2*x.^2);
    g = 0;  % unconstrained
  endfunction
#+end_src
*** Code segments

Specify the parameters for the optimisation problem:

#+name: problem-setup
#+begin_src octave :noweb yes
  n = 2;
  x0 = rand(n,1);
  a = -2*ones(n,1);
  b = 2*ones(n,1);
#+end_src

*** Bringing bits together

The code to include the problem setup directly and solve the problem:

#+name: strawberry
#+begin_src octave :results value :noweb yes
  clear
  format short
  <<problem-setup>>
  [x y] = strawberry(x0, a, b, @f, 10, 10);
  [x;y]'
#+end_src

:results:
#+name: strawberry-results
#+results: strawberry
|  -1.42716504443494 | -1.443856778049211 |  -5.66531336687728 | 0 |
|  -1.42716504443494 | -1.443856778049211 |  -5.66531336687728 | 0 |
| -1.342508585413797 |  -1.55250372785845 | -5.529004698055015 | 0 |
| -1.360506726205515 | -1.372263538977069 | -5.598345289891352 | 0 |
| -1.468158011926931 | -1.544415421188739 | -5.594381839388814 | 0 |
| -1.339213003233875 |  -1.36422094977677 | -5.569697214609254 | 0 |
| -1.364417892433951 | -1.491553912171922 | -5.615971023198005 | 0 |
| -1.463919469920687 | -1.450505968993437 | -5.663754045524612 | 0 |
| -1.445565121464613 | -1.420730525034394 | -5.663799364174422 | 0 |
| -1.525782025485549 |   -1.5303639151147 | -5.571556830521184 | 0 |
|  -1.40352725450047 | -1.472972377299925 | -5.651863813417487 | 0 |
| -1.410286649811288 | -1.414343225362287 | -5.655462642214252 | 0 |
|  -1.52277571384937 | -1.446360898144175 |  -5.62508035617786 | 0 |
| -1.584751338098946 | -1.373116848847318 | -5.500483131429339 | 0 |
| -1.243018966119808 | -1.476516324299424 | -5.449770831917819 | 0 |
| -1.444138322679675 | -1.666222711962772 | -5.304110381262799 | 0 |
| -1.370072015649149 | -1.525937116930233 | -5.590709124514991 | 0 |
| -1.576526755720007 | -1.530518104917815 | -5.494784345778852 | 0 |
| -1.507786501304049 |  -1.37902437675949 | -5.615657626549971 | 0 |
| -1.450567499881924 | -1.408583920258332 | -5.659381058555995 | 0 |
| -1.535526266987041 | -1.456193641066952 | -5.609133134458752 | 0 |
| -1.238285464782562 |  -1.25198387068423 | -5.254687157245281 | 0 |
| -1.321030271837289 | -1.420499018517368 | -5.580507706519432 | 0 |
| -1.457276546364113 | -1.510431969520121 | -5.636060671059006 | 0 |
| -1.386994515876665 | -1.452244319822924 | -5.647806776697823 | 0 |
| -1.455869791504375 | -1.446387391362544 | -5.665742757998999 | 0 |
|  -1.62382235873763 | -1.442265536388754 | -5.436001199588198 | 0 |
| -1.455447362960834 | -1.404854864255555 | -5.657173423616351 | 0 |
| -1.352852883884089 | -1.468988859997606 | -5.615930658043434 | 0 |
| -1.316282451554356 | -1.481169331825285 | -5.568062394335248 | 0 |
| -1.346872171742821 | -1.559721739239854 |  -5.52227606914515 | 0 |
| -1.392193082324921 | -1.540475777984804 | -5.588469535120524 | 0 |
| -1.358676764875123 | -1.533272203185758 | -5.572011634831901 | 0 |
| -1.430102855019641 | -1.499714214014829 | -5.645120932555698 | 0 |
| -1.375336252513826 | -1.351372446488072 | -5.591923631732472 | 0 |
| -1.323532458220509 | -1.344166563266232 | -5.531090335022149 | 0 |
| -1.493260210372538 | -1.448067147541937 | -5.650501934854817 | 0 |
| -1.497055854832323 | -1.437039672362705 | -5.647851947473225 | 0 |
:end:
*** Plotting results

Using data in table of results on previous slide:

#+results: plot-results
[[file:results.png]]

:plotcode:
#+name: plot-results
#+header: :term "png size 600,600 crop"
#+begin_src gnuplot :var data=strawberry-results :file results.png
  reset
  set contour base
  set cntrparam levels 40
  set xrange [-2:2]
  set yrange [-2:2]
  unset key
  unset xtics
  unset xlabel
  unset ytics
  unset xlabel
  set view 0,0
  splot data using 1:2:3 with points pt 6 ps 1, x**4+y**4+x**3+y**3-2*x*x-2*y*y
#+end_src
:end:

*** Processing results

Statistical analysis of results obtained above:

| Statistic          |  Value |
|--------------------+--------|
| Best               | -5.666 |
| Average            | -5.582 |
| Worst              | -5.255 |
| Standard deviation |  0.094 |
#+TBLFM: @2$2=vmin(remote(strawberry-results,@<$>>..@>$>>));f3::@3$2=vsum(remote(strawberry-results,@<$>>..@>$>>))/vcount(remote(strawberry-results,@<$>>..@>$>>));f3::@4$2=vmax(remote(strawberry-results,@<$>>..@>$>>));f3::@5$2=vsdev(remote(strawberry-results,@<$>>..@>$>>));f3
** Writing
*** Outlines

Example (a recent paper):

[[file:impact-paper-outline.png]]

Can show, hide, and move individual sub-trees.
*** COMMENT Content

- export can handle mathematics:

  \[ y = \sqrt{x} \]

- figures:

  [[file:~/s/personal/avatar-australia-hat-sunglasses-64x64.png]]

- tables (as we have already seen) but with formatting:

  | Item | Description |
  | <l>  |         <r> |
  |------+-------------|
  | One  | Interesting |
  | Two  |      Boring |
*** COMMENT Inline LaTeX for full control

- We can include inline LaTeX directives.
- For instance, \fbox{in a box} would output as you expect.
*** Publishable output

~org~ will *export* to LaTeX (and hence to ~PDF~) or ~ODT~ (~MS Word~ compatible).


[[file:odt-export.png]]
*** Project management
Support for tasks, scheduling, appointments:
**** TODO [3/4] prepare and give presentation on literate programming
DEADLINE: <2018-06-06 Wed>
- [X] collect images
- [X] write slides
- [X] book hotel
- [ ] give presentation
*** Revision control

- A research project is a long term activity comprised of many individual tasks.
- Revision control should (*must*) be an integral element of project management.
- Think *track changes* but on steroids and which works for *data* as well.
- Excellent tools exist: ~git~, ~mercurial~, ~subversion~, ...
*** Example of revision control

[[file:hg-log-view.png]]

* Conclusions

** Summary
*** Emacs & org

Single tool for *writing*, *coding*, *data manipulation*, *data provenance*, *dissemination*, and *project management*.

*** Testimonial I

#+begin_quote
By the age of 35 you should have realized that Emacs is the One True Editor and should have embraced it. If that’s not the case - your life so far has been completely wasted.
#+end_quote

[[https://twitter.com/bbatsov/status/998217369204948992][@bbatsov,  04:02 pm May 20, 2018]]

*** Testimonial II

#+begin_quote
The advantages of plain text are hard to overstate, as is the advantage of having everything from plot notes to research material in a single (large) file under version control. And building up a novel from an outline is a natural process with org-mode.
#+end_quote

Bob Newell, =emacs.help= newsgroup, 2018-05-30.
*** Links

- Emacs :: https://www.gnu.org/software/emacs/
- Complete computing environment :: http://doc.rix.si/cce/cce.html
- org mode :: https://orgmode.org/
- reproducible research :: https://reproducibleresearch.net/links/
- blog :: [[https://dfeich.github.io/www/org-mode/emacs/reproducible-research/2018/05/20/reproducible-research-for-management.html][reproducible research for management]]
*** And finally

[[file:real_programmers.png]]

https://www.xkcd.com/378/

** COMMENT Revision log
#+begin_example

  $Revision: 1.33 $

  $Log: talk.org,v $
  Revision 1.33  2018/06/04 08:14:55  ucecesf
  Summary: reformatted (unfilled) second testimonial

  Revision 1.32  2018/06/04 08:09:32  ucecesf
  Summary: added another Emacs link

  Revision 1.31  2018/05/30 17:09:48  ucecesf
  Summary: added another testimonial

  Revision 1.30  2018/05/28 16:08:22  ucecesf
  Summary: some blank lines added for clearer slides

  Revision 1.29  2018/05/26 09:46:24  ucecesf
  Summary: more commentary and changed order of last two slides

  Revision 1.28  2018/05/25 06:51:00  ucecesf
  Summary: added slide on project management and one on links for further information

  Revision 1.27  2018/05/22 09:15:09  ucecesf
  Summary: added xkcd real programmers use Emacs slide

  Revision 1.26  2018/05/22 06:12:37  ucecesf
  Summary: updated objective function example with subscripts

  Revision 1.25  2018/05/21 19:04:07  ucecesf
  Summary: minor reformatting and added link to Strawberry

  Revision 1.24  2018/05/21 18:58:01  ucecesf
  Summary: added mercurial example

  Revision 1.23  2018/05/21 18:52:08  ucecesf
  Summary: added testimonial on Emacs from twitter

  Revision 1.22  2018/05/21 16:28:25  ucecesf
  Summary: added some commentary and removed superfluous screenshots

  Revision 1.21  2018/05/21 16:14:49  ucecesf
  Summary: added aim and LP figure from web

  Revision 1.20  2018/05/20 14:01:41  ucecesf
  Summary: updated the objective function to be more mathematically precise

  Revision 1.19  2018/05/20 12:40:57  ucecesf
  Summary: added ODT export image and reformatted conclusions

  Revision 1.18  2018/05/20 12:32:19  ucecesf
  Summary: minor formatting to make PDF export look good

  Revision 1.17  2018/05/20 12:23:46  ucecesf
  Summary: added impact paper outline as example

  Revision 1.16  2018/05/20 12:09:36  ucecesf
  Summary: added project management to summary

  Revision 1.15  2018/05/20 12:06:29  ucecesf
  Summary: moved plot of results and hid code

  Also ensured that LaTeX fragments were displayed and text was scaled
  appropriately.

  Revision 1.14  2018/05/20 11:52:33  ucecesf
  Summary: added plot of objective function and show results with contours

  Revision 1.13  2018/05/18 22:45:25  ucecesf
  Summary: added plotting of results slide

  Revision 1.12  2018/05/18 17:46:33  ucecesf
  Summary: added Strawberry folded example

  For literate programming and for outlines in org.

  Revision 1.11  2018/05/18 17:38:10  ucecesf
  Summary: made literate programming slide top level

  Revision 1.10  2018/05/18 17:37:16  ucecesf
  Summary: customised page up/down for slide transitions

  Revision 1.9  2018/05/18 17:04:19  ucecesf
  Summary: added revision log

  Revision 1.8  2018/05/18 17:00:28  ucecesf
  Summary: added conclusions

  revision 1.7 2018/05/18 16:57:44 ucecesf
  Summary: added motivation section

  revision 1.6 2018/05/18 08:03:39 ucecesf
  Summary: settings for beamer export

  revision 1.5 2018/05/17 17:44:07 ucecesf
  Summary: started talking about writing

  revision 1.4 2018/05/17 17:31:35 ucecesf
  Summary: turn off beacon mode to avoid annoying 

  revision 1.3 2018/05/17 17:28:12 ucecesf
  Summary: introduce noweb for code segments

  revision 1.2 2018/05/16 19:30:09 ucecesf
  Summary: added some octave code and tables

  revision 1.1 2018/05/16 16:41:50 ucecesf
  Initial revision

#+end_example
* settings                                                    :noexport:
** org
#+PROPERTY: cache yes
*** beamer settings
#+startup: beamer
Change this setting depending on whether there are sections for the talk or not, with 2 for sections, 1 for no sections and 3 for subsections as well.
#+options: H:3
The theme can be ~minimal~, ~progressbar~, or anything else.
#+beamer_theme: minimal
If links are used directly, colour them gray.
#+latex_header: \hypersetup{colorlinks=true,urlcolor=gray}
#+macro: actualdate 6 June 2018
#+macro: where EGL2018, Essex
#+institute: University College London
# +LATEX_HEADER: \institute{University College London (UCL)}
*** date formatting with version information           :ignoreheading:
**** COMMENT git
#+NAME: mydateline
#+BEGIN_SRC emacs-lisp
(format "#+DATE: \\copyright{} %s\n" *this*) 
#+END_SRC

src_shell[:post mydateline() :results raw]{echo -n $(date +%Y) '@@latex:\\ \vspace*{0.1cm} \tiny \color{gray}@@' version $(git log --format=format:"%ad %h" --date=short | head -1 )} 
**** COMMENT mercurial
#+NAME: mydateline
#+BEGIN_SRC emacs-lisp
(format "#+DATE: \\copyright{} %s\n" *this*) 
#+END_SRC

src_shell[:post mydateline() :results raw]{echo -n $(date +%Y) '@@latex:\\ \vspace*{0.1cm} \tiny \color{gray}@@' version $(hg log slides.org | head -1 | sed -e 's/^.* \([0-9]*\):.*$/\1/')} 
**** rcs
#+latex_header: \usepackage{rcs}
#+latex_header: \RCS $Revision: 1.33 $
#+latex_header: \RCS $Date: 2018/06/04 08:14:55 $
#+date: @@latex:\ifdef{\institute}{@@ {{{actualdate}}} @@latex:\\@@ {{{where}}} @@latex:\\ \vfill\hfill{\tiny\color{gray}v\RCSRevision~\RCSDate}}{@@ @@latex:}@@

*** macros
**** calc: short better formatted version of calculate macro
If the second argument is not given, no variable is stored or shown in the output.

#+macro: calc src_emacs-lisp[:results latex]{(esf/calc-and-output "$1" "$2")}

The macro relies on the following code:

#+name: calc-and-output
#+begin_src emacs-lisp :results silent :exports none
  (defun esf/calc-and-output (expression variable)
    (let ((result (string-to-number (calc-eval (format "evalv(%s)" expression)))))
      (message "Expression %s results in %s" expression result)
      (if (string= "" variable)
          (format "%s = \\fbox{%s}" expression result)
        (progn
          (eval (format "(setq var-%s %s)" variable result))
          (format "\\texttt{%s} \\(\\gets\\) %s = \\fbox{%s}" variable expression result))
        )
      ))
#+end_src 

**** calculate: use emacs calc to evaluate expressions and assign variables
# use listings to export the code evaluated
#+latex_header: \lstdefinelanguage{calc}{}
# evaluate the code and format the output
#+macro: calculate $2 \(\gets\) src_calc[:exports code]{$1} = @@latex:\fbox{@@ src_emacs-lisp{(setq var-$2 (string-to-number (calc-eval "evalv($1)")))} @@latex:}@@
**** cite: macro for citing work and url to actual source
# +macro: cite @@latex:\vfill\Citation{$1}@@@@html:<p style="text-align: right; color: gray;">@@[[$2][$1]]@@html:</p>@@
# alternative cite macro for LaTeX only but with working link
#+macro: cite [[$2][@@latex:\vfill\Citation{$1}@@]]
#+latex_header: \newcommand{\Citation}[1]{\hfill{\scriptsize{\color{gray}#1}}}

**** overlay: for absolute positioning of images etc.
#+latex_header: \usepackage[overlay]{textpos} \TPGrid[0pt,0pt]{20}{20}
#+macro: overlay @@latex:\begin{textblock}{$4}($2,$3)@@[[file:$1]]@@latex:\end{textblock}@@

*** org startup on file visit
#+name: startup
#+begin_src emacs-lisp :results none
  (defun esf/next-slide-or-page-up ()
    (interactive)
    (if (and (boundp 'org-tree-slide-mode) org-tree-slide-mode)
        (org-tree-slide-move-next-tree)
      (scroll-up-command)))
  (local-set-key (kbd "<next>") 'esf/next-slide-or-page-up)

  (defun esf/previous-slide-or-page-down ()
    (interactive)
    (if (and (boundp 'org-tree-slide-mode) org-tree-slide-mode)
        (org-tree-slide-move-previous-tree)
      (scroll-down-command)))
  (local-set-key (kbd "<prior>") 'esf/previous-slide-or-page-down)

  (add-hook 'org-tree-slide-play-hook
            #'(lambda ()
                (setq display-line-numbers nil)
                (beacon-mode -1)
                (setq evil-normal-state-cursor 'bar)
                ;; (evil-emacs-state)
                (hl-line-mode 0)
                (text-scale-set 2)
                (org-toggle-latex-fragment)
                (org-toggle-inline-images)))
  (add-hook 'org-tree-slide-stop-hook
            #'(lambda ()
                (setq display-line-numbers 'visual)
                (beacon-mode 1)
                ;; (evil-normal-state)
                (setq evil-normal-state-cursor 'box)
                (hl-line-mode 1)
                (text-scale-set 0)
                (org-toggle-latex-fragment)
                (org-toggle-inline-images)))
  (org-content 2)
  (setq-local org-confirm-babel-evaluate nil)
  (setq-local org-export-allow-bind-keywords t)
  (setq-local org-fontify-quote-and-verse-blocks t)
  (setq-local org-format-latex-options '(:background default :foreground default :scale 4))
  (setq-local org-latex-image-default-height "5cm")
  (setq-local org-latex-image-default-width nil)
  (setq-local org-latex-pdf-process '("pdflatex -interaction nonstopmode %f"))
  (setq-local org-tree-slide-breadcrumbs " ‣ ")
  ;; (setq-local org-tree-slide-cursor-init nil)
  (setq-local org-tree-slide-fold-subtrees-skipped nil)
  (setq-local org-tree-slide-skip-outline-level 4)
  ;; (setq-local sentence-highlight-mode nil)
  (setq-local time-stamp-line-limit 1000)
  (setq-local time-stamp-format "%04y.%02m.%02d %02H:%02M")
  (setq-local time-stamp-active t)
  (setq-local time-stamp-start "#\\+macro:[ \t]* lastchange[ \t]* ")
  (setq-local time-stamp-end "$")
#+end_src

** local variables
# Local Variables:
# org-confirm-babel-evaluate: nil
# eval: (esf/execute-startup-block)
# End:

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Help with sharing emacs-org presentation
  2018-10-31  7:21       ` Eric S Fraga
@ 2018-11-01 18:51         ` Joseph Vidal-Rosset
  0 siblings, 0 replies; 8+ messages in thread
From: Joseph Vidal-Rosset @ 2018-11-01 18:51 UTC (permalink / raw)
  To: Julius Dittmar; +Cc: emacs-orgmode

Hello,

This LaTex code to put before \begin{document} : 

\AtBeginSection[]{\begin{frame}<beamer>\frametitle{}\tableofcontents[currentsection,hideothersubsections]\end{frame}}

is very  useful, because it recalls  the steps of your  presentation and
focuses on the current section.

I hope that helps.

Best wishes, 

-- 
Jo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Help with sharing emacs-org presentation
  2018-10-31  6:39 ` Jens Lechtenboerger
@ 2018-11-03  2:30   ` Feiming Chen
  0 siblings, 0 replies; 8+ messages in thread
From: Feiming Chen @ 2018-11-03  2:30 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1803 bytes --]

Thanks, Jens, for your comment!  I understand your point of view!  My point
is that Org mode is not ubiquitous and most people (esp. non-programmers)
do not use emacs.   But I do concur that Org mode is  great for
collaboration IF a team can agree to using it.

Thanks for your interesting references!  I am glad to learn about "single
source" and OER.  Your OER material looks fascinating: I don't know that
.org file can be rendered instantaneously as HTML on GitLab.

~ Feiming


On Wed, Oct 31, 2018 at 2:39 AM Jens Lechtenboerger <
lechten@wi.uni-muenster.de> wrote:

> On 2018-10-25, Feiming Chen wrote:
>
> > I gave a talk on emacs-org in a local workshop (Government Advances
> > in Statistical Programming) in Washington D.C. yesterday.  I'd like to
> > share the slides and org source file with the community (see attached).
>
> Thanks for sharing!
>
> I wonder why you stress the following:
> - Not good for collaborative use (unlike Microsoft Office).
> - Good for private, non-collaborative use.
>
> My view is the opposite: Org mode is excellent for collaboration as
> it is plain text, suitable for diff/merge in Git repositories.
> Thanks to the separation of contents from style,
> cross-organizational collaboration is possible, which I find *very*
> hard with any office tool:  Changing a document master leads to all
> kinds of layout destruction.  Switching to a different corporate
> identity is just hard with what-you-see-is-what-you-get tools.
>
> In contrast, Org mode can be a basis for what is called Single
> Sourcing [1] in the context of technical writing.
>
> You can see my approach towards Open Educational Resources with Org
> mode at [2].
>
> Best wishes
> Jens
>
> [1] http://rockley.com/articles/Single_Sourcing_and_Technology.pdf
> [2] https://gitlab.com/oer/OS
>

[-- Attachment #2: Type: text/html, Size: 2910 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-11-03  2:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-25 19:14 Help with sharing emacs-org presentation Feiming Chen
2018-10-30  8:42 ` Grant Rettke
2018-10-30 19:01   ` Martin Schöön
2018-10-30 19:43     ` Julius Dittmar
2018-10-31  7:21       ` Eric S Fraga
2018-11-01 18:51         ` Joseph Vidal-Rosset
2018-10-31  6:39 ` Jens Lechtenboerger
2018-11-03  2:30   ` Feiming Chen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).