diff --git a/lisp/my/my-view.el b/lisp/my/my-view.el
index 51e3fc6c..1ff7cdba 100644
--- a/lisp/my/my-view.el
+++ b/lisp/my/my-view.el
@@ -51,6 +51,10 @@ Four windows:
(switch-to-buffer (concat "*xref*"))
(other-window 1)
(switch-to-buffer (concat "*" python-shell-buffer-name "*"))
+ ;; (setq comint-scroll-to-bottom-on-input t)
+ ;; (setq comint-scroll-to-bottom-on-output t)
+ ;; (setq comint-move-point-for-output t)
+ ;; (setq scroll-down-aggressively 1)
(run-python)
;; size
diff --git a/lisp/update-autoloads.el b/lisp/update-autoloads.el
index ae841f3e..17e90ba6 100644
--- a/lisp/update-autoloads.el
+++ b/lisp/update-autoloads.el
@@ -57,6 +57,7 @@
(package-generate-autoloads "ivy-rich" (concat config-dir "lisp/ivy-rich"))
(package-generate-autoloads "langtool" (concat config-dir "lisp/langtool"))
(package-generate-autoloads "my" (concat config-dir "lisp/my"))
+ (package-generate-autoloads "my-org-article" (concat config-dir "lisp/my"))
(package-generate-autoloads "nerd-icons" (concat config-dir "lisp/nerd-icons"))
(package-generate-autoloads "olivetti" (concat config-dir "lisp/olivetti"))
;; (package-generate-autoloads "org" (concat config-dir "lisp/org")) ;; already org-loaddefs.el
diff --git a/scripts/test/article.org b/scripts/test/article.org
new file mode 100644
index 00000000..b2e9cbed
--- /dev/null
+++ b/scripts/test/article.org
@@ -0,0 +1,99 @@
+# -*- ispell-local-dictionary: "english" -*-
+#+TITLE: Title
+#+SUBTITLE: Subtitle
+#+DATE: {{{modification-time(%d.%m.%Y)}}}
+#+AUTHOR: My Name
+#+EMAIL: my.name@example.com
+#+KEYWORDS:
+#+DESCRIPTION:
+#+LANGUAGE: en
+#+OPTIONS: draft:t
+
+* BOP :ignore:
+#+LATEX: \pagenumbering{roman}\setcounter{page}{1}\thispagestyle{empty}
+
+* Coverpage :ignore:
+# Some beginning notes.
+
+* Abstract :ignore:
+:PROPERTIES:
+:VISIBILITY: folded
+:END:
+#+LATEX: \clearpage\thispagestyle{empty}
+# macro 'title-name' uses keyword document_type
+#+BEGIN_abstract
+*{{{author}}}*
+
+*{{{title-name}}}*\\
+{{{title}}}
+
+*{{{keyword-name}}}*\\
+{{{keyword(keywords)}}}
+
+*{{{description-name}}}*\\
+{{{keyword(description)}}}
+#+END_abstract
+
+* TOC and other lists :ignore:
+:PROPERTIES:
+:VISIBILITY: folded
+:CLEARPAGE: t
+:END:
+# Table of Contents
+#+LATEX: \clearpage\pdfbookmark[1]{\contentsname}{toc}
+#+TOC: headlines
+#+LATEX: \thispagestyle{plain}
+
+# List of Figures (# `#+TOC: figures' is not working)
+#+LATEX: \listoffigures
+#+LATEX: \thispagestyle{plain}
+
+# List of Tables
+#+TOC: tables
+#+LATEX: \thispagestyle{plain}
+
+# List of Listings
+#+TOC: listings
+#+LATEX: \thispagestyle{plain}
+
+* Glossary, Acronym and List of Symbols :ignore:
+
+# glossaries (label, name, description)
+#+latex_header_extra: \newglossaryentry{tree}{name={tree},description={A description for the glossary entry}}
+#+latex_header_extra: \newglossaryentry{shrub}{name={shrub},description={A description for the other glossary entry}}
+
+# acronyms (label, abbreviation, full form)
+#+latex_header_extra: \newacronym{bb}{BB}{Two Letter Acronym}
+#+latex_header_extra: \newacronym{qos}{QoS}{quality-of-service}
+
+#+LATEX: \printglossary\thispagestyle{plain}
+#+LATEX: \printglossary[type=\acronymtype,title=Abkürzungsverzeichnis]\thispagestyle{plain}
+#+LATEX: \printglossary[type=symbols,style=mysymbols,title=Symbolverzeichnis]\thispagestyle{plain}
+#+LATEX: \glsaddallunused
+
+* EOP :ignore:
+#+LATEX: \newpage\pagenumbering{arabic}\setcounter{page}{1}
+
+* 1st Header
+
+
+* References :ignore:
+# #+LATEX_HEADER_EXTRA: \addbibresource{references.bib}
+[[printbibliography:]]
+
+* Appendix
+:PROPERTIES:
+:UNNUMBERED: t
+:APPENDIX: t
+:END:
+# ! UNNUMBERED: t !
+# ! APPENDIX: t !
+
+** 1st appendix
+:PROPERTIES:
+:UNNUMBERED: nil
+:END:
+# ! UNNUMBERED: nil !
+
+* Index :ignore:
+[[printindex:]]
diff --git a/scripts/test/img/gnuplot-tab.svg b/scripts/test/img/gnuplot-tab.svg
index 7a3551f0..b66d5070 100644
--- a/scripts/test/img/gnuplot-tab.svg
+++ b/scripts/test/img/gnuplot-tab.svg
@@ -39,135 +39,110 @@
-
+
-
- -20
+
+ 2.5
-
- -10
+
+ 3
-
- 0
+
+ 3.5
-
- 10
-
-
-
-
- 20
-
-
-
-
- 30
-
-
-
-
- 40
-
-
-
-
- 50
-
-
-
-
- 60
-
-
-
-
- 70
-
-
-
-
- -8
-
-
-
-
- -6
-
-
-
-
- -4
-
-
-
-
- -2
-
-
-
-
- 0
-
-
-
-
- 2
-
-
-
-
+
4
-
- 6
+
+ 4.5
-
- 8
+
+ 5
+
+
+
+
+ 5.5
+
+
+
+
+ 0
+
+
+
+
+ 0.5
+
+
+
+
+ 1
+
+
+
+
+ 1.5
+
+
+
+
+ 2
+
+
+
+
+ 2.5
+
+
+
+
+ 3
-
+
unsorted
-
+
unsorted
-
-
-
-
-
+
+
+
+
+
sorted
-
+
sorted
-
-
-
-
-
+
+
+
+
+
@@ -177,22 +152,7 @@
-
- Y
-
-
-
-
- X
-
-
-
-
-
-
- Putting it All Together
-
-
+
diff --git a/scripts/test/test.gnuplot.tab b/scripts/test/test.gnuplot.tab
new file mode 100644
index 00000000..b96e20c9
--- /dev/null
+++ b/scripts/test/test.gnuplot.tab
@@ -0,0 +1,4 @@
+3.75 2.5
+4.43 3
+5.5 3
+3.5 3.5
diff --git a/scripts/test/test.org b/scripts/test/test.org
index 87a8930f..c056dad1 100644
--- a/scripts/test/test.org
+++ b/scripts/test/test.org
@@ -1,9 +1,24 @@
+* table
+#+NAME: tab-data
+| 3.75 | 2.5 |
+| 4.43 | 3 |
+| 5.5 | 3 |
+| 3.5 | 3.5 |
+
* scr block
-** syntax highlighting
+** elisp
-*** graphviz dot
+#+BEGIN_SRC emacs-lisp :var table=tab-data
+(length table)
+#+END_SRC
+
+#+RESULTS:
+: 4
+
+
+** graphviz dot
#+begin_src dot :file img/src-dot.svg
digraph G {
main -> parse -> execute;
@@ -21,7 +36,7 @@ digraph G {
#+RESULTS:
[[file:img/src-dot.svg]]
-*** gnuplot
+** gnuplot
#+begin_src gnuplot :results silent
reset
@@ -49,7 +64,11 @@ plot f(x) w lp lw 1, g(x) w p lw 2, h(x) w l lw 3
| 5.5 | 3 |
| 3.5 | 3.5 |
-#+begin_src gnuplot :var data=tab-gnuplot :exports results :file img/gnuplot-tab.svg
+#+header: :var data=tab-data
+#+header: :var data="test.gnuplot.tab"
+
+#+header: :var data="test.gnuplot.tab"
+#+begin_src gnuplot :exports results :file img/gnuplot-tab.svg :results file
set terminal svg size 400,320
plot data u 1 t "unsorted", \
'' u 2 lt 3 t "sorted"
@@ -58,9 +77,7 @@ plot data u 1 t "unsorted", \
#+RESULTS:
[[file:img/gnuplot-tab.svg]]
-** custom header
-
-*** python
+** python
- interactive inside org
- html export creates a svg file