summaryrefslogtreecommitdiff
path: root/sandbox
diff options
context:
space:
mode:
authorgrubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2022-10-07 09:35:20 +0000
committergrubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2022-10-07 09:35:20 +0000
commit45d63913736c26a999e43f8b90ddc2cc83c472e2 (patch)
tree09933d944b27547cffad3b247f57dce773386eff /sandbox
parent04f16a0eb45de1139f07ff1d73a8e73348740a29 (diff)
downloaddocutils-45d63913736c26a999e43f8b90ddc2cc83c472e2.tar.gz
regression using mandoc instead of man/groff
git-svn-id: https://svn.code.sf.net/p/docutils/code/trunk@9125 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'sandbox')
-rw-r--r--sandbox/manpage-writer/TODO.txt3
-rw-r--r--sandbox/manpage-writer/expected-mandoc/characters.ascii39
-rw-r--r--sandbox/manpage-writer/expected-mandoc/characters.man82
-rw-r--r--sandbox/manpage-writer/expected-mandoc/characters.utf839
-rw-r--r--sandbox/manpage-writer/expected-mandoc/compact_lists.man95
-rw-r--r--sandbox/manpage-writer/expected-mandoc/docinfo-deu-l_de.man36
-rw-r--r--sandbox/manpage-writer/expected-mandoc/docinfo-deu-l_en.man38
-rw-r--r--sandbox/manpage-writer/expected-mandoc/docinfo-deu.man38
-rw-r--r--sandbox/manpage-writer/expected-mandoc/docinfo-eng-l_de.man36
-rw-r--r--sandbox/manpage-writer/expected-mandoc/docinfo-eng-l_en.man36
-rw-r--r--sandbox/manpage-writer/expected-mandoc/docinfo-eng.man36
-rw-r--r--sandbox/manpage-writer/expected-mandoc/dotted.man39
-rw-r--r--sandbox/manpage-writer/expected-mandoc/indent.man74
-rw-r--r--sandbox/manpage-writer/expected-mandoc/man-de.1.man659
-rw-r--r--sandbox/manpage-writer/expected-mandoc/man-de.1.utf8533
-rw-r--r--sandbox/manpage-writer/expected-mandoc/optionslisttest.man196
-rw-r--r--sandbox/manpage-writer/expected-mandoc/optionstoo.man73
-rw-r--r--sandbox/manpage-writer/expected-mandoc/optionstoo.ps155
-rw-r--r--sandbox/manpage-writer/expected-mandoc/quotes.man44
-rw-r--r--sandbox/manpage-writer/expected-mandoc/quotes.ps95
-rw-r--r--sandbox/manpage-writer/expected-mandoc/quotes.utf813
-rw-r--r--sandbox/manpage-writer/expected-mandoc/references.man39
-rw-r--r--sandbox/manpage-writer/expected-mandoc/test.man465
-rw-r--r--sandbox/manpage-writer/expected-mandoc/test.ps1024
-rwxr-xr-xsandbox/manpage-writer/runtest-mandoc104
25 files changed, 3991 insertions, 0 deletions
diff --git a/sandbox/manpage-writer/TODO.txt b/sandbox/manpage-writer/TODO.txt
index 0f14aaa41..60edbab15 100644
--- a/sandbox/manpage-writer/TODO.txt
+++ b/sandbox/manpage-writer/TODO.txt
@@ -3,6 +3,9 @@ TODOs
:Date: $Date$
+* input/optionstoo.txt:23: (ERROR/3) Unexpected indentation.
+
+
* URLs in manpage: check linux and macos mans for usage of UR UE and URL
then see https://sourceforge.net/p/docutils/feature-requests/72/
diff --git a/sandbox/manpage-writer/expected-mandoc/characters.ascii b/sandbox/manpage-writer/expected-mandoc/characters.ascii
new file mode 100644
index 000000000..cce48dd0c
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/characters.ascii
@@ -0,0 +1,39 @@
+SPECIAL-CHARACTERS() SPECIAL-CHARACTERS()
+
+NNAAMMEE
+ special-characters - test special characters
+
+SSEEEE AALLSSOO
+ In mercurial the following substitutions are in use:
+
+ .. |hg(1)| replace:: **hg**\ (1)
+ .. |hgrc(5)| replace:: **hgrc**\ (5)
+ .. |hgignore(5)| replace:: **hgignore**\ (5)
+
+ resulting in.
+
+ hhggiiggnnoorree_(_5_),, hhggrrcc_(_5_)
+
+DDEESSCCRRIIPPTTIIOONN
+ encodings are problematic as alway.
+
+ +o accents:
+
+ +o right: '
+
+ +o left: `
+
+ +o quotes:
+
+ +o straight: '
+
+ +o double: "
+
+ +o single: ` '
+
+ +o double: " "
+
+ Some text afterwards, test.txt ended with quotes test. Unicode breaks
+ the man processing chain. The display ends with ssiinnggllee:: .
+
+ SPECIAL-CHARACTERS()
diff --git a/sandbox/manpage-writer/expected-mandoc/characters.man b/sandbox/manpage-writer/expected-mandoc/characters.man
new file mode 100644
index 000000000..ba9b3a6c5
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/characters.man
@@ -0,0 +1,82 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "SPECIAL-CHARACTERS" "" "" ""
+.SH NAME
+special-characters \- test special characters
+.SH SEE ALSO
+.sp
+In mercurial the following substitutions are in use:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&.. |hg(1)| replace:: **hg**\e (1)
+\&.. |hgrc(5)| replace:: **hgrc**\e (5)
+\&.. |hgignore(5)| replace:: **hgignore**\e (5)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+resulting in.
+.sp
+\fI\%\fBhgignore\fP(5)\fP, \fI\%\fBhgrc\fP(5)\fP
+.SH DESCRIPTION
+.sp
+encodings are problematic as alway.
+.INDENT 0.0
+.IP \(bu 2
+accents:
+.INDENT 2.0
+.IP \(bu 2
+right: \'
+.IP \(bu 2
+left: \(ga
+.UNINDENT
+.IP \(bu 2
+quotes:
+.INDENT 2.0
+.IP \(bu 2
+straight: \(aq
+.IP \(bu 2
+double: \(dq
+.IP \(bu 2
+single: ‘ ’
+.IP \(bu 2
+double: “ ”
+.UNINDENT
+.UNINDENT
+.sp
+Some text afterwards, test.txt ended with quotes test.
+Unicode breaks the man processing chain. The display
+ends with \fBsingle:\fP .
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/characters.utf8 b/sandbox/manpage-writer/expected-mandoc/characters.utf8
new file mode 100644
index 000000000..1f2a8205e
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/characters.utf8
@@ -0,0 +1,39 @@
+SPECIAL-CHARACTERS() SPECIAL-CHARACTERS()
+
+NNAAMMEE
+ special-characters - test special characters
+
+SSEEEE AALLSSOO
+ In mercurial the following substitutions are in use:
+
+ .. |hg(1)| replace:: **hg**\ (1)
+ .. |hgrc(5)| replace:: **hgrc**\ (5)
+ .. |hgignore(5)| replace:: **hgignore**\ (5)
+
+ resulting in.
+
+ hhggiiggnnoorree_(_5_),, hhggrrcc_(_5_)
+
+DDEESSCCRRIIPPTTIIOONN
+ encodings are problematic as alway.
+
+ • accents:
+
+ • right: ´
+
+ • left: `
+
+ • quotes:
+
+ • straight: '
+
+ • double: "
+
+ • single: ‘ ’
+
+ • double: “ ”
+
+ Some text afterwards, test.txt ended with quotes test. Unicode breaks
+ the man processing chain. The display ends with ssiinnggllee:: .
+
+ SPECIAL-CHARACTERS()
diff --git a/sandbox/manpage-writer/expected-mandoc/compact_lists.man b/sandbox/manpage-writer/expected-mandoc/compact_lists.man
new file mode 100644
index 000000000..b6b77f7aa
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/compact_lists.man
@@ -0,0 +1,95 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "COMPACT-LISTS" "" "" ""
+.SH NAME
+compact-lists \- test compact lists
+.INDENT 0.0
+.IP \(bu 2
+This is an ordinary simple bullet list.
+.IP \(bu 2
+It should be made compact (<p> & </p> tags omitted).
+.UNINDENT
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.IP \(bu 2
+This is a bullet list that is not simple.
+.sp
+There are multiple paragraphs in some items.
+.IP \(bu 2
+It should not be made compact.
+.IP \(bu 2
+Even though some items may have only one paragraph.
+.UNINDENT
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.IP \(bu 2
+This is a simple bullet list, but class=\(dqopen\(dq is set.
+.IP \(bu 2
+It should not be made compact.
+.UNINDENT
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.IP \(bu 2
+This is a bullet list that is not simple.
+.sp
+There are multiple paragraphs in some items.
+.IP \(bu 2
+However, the class=\(dqcompact\(dq setting will cause
+all first paragraph\(aqs <p> & </p> tags to be omitted.
+.IP \(bu 2
+Items with multiple paragraphs will not appear changed.
+.IP \(bu 2
+Items may have one paragraph, or multiple.
+.sp
+Items with multiple paragraphs will still be followed
+by vertical whitespace because of the later paragraphs.
+.IP \(bu 2
+The effect is interesting.
+.UNINDENT
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/docinfo-deu-l_de.man b/sandbox/manpage-writer/expected-mandoc/docinfo-deu-l_de.man
new file mode 100644
index 000000000..d5f43503c
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/docinfo-deu-l_de.man
@@ -0,0 +1,36 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DEUTSCHES_MANPAGE_BEISPIEL" 1 "2009-08-24" "0.5" "Beispielmanpages"
+.SH NAME
+deutsches_manpage_beispiel \- manpage beschreibung
+.sp
+Test document information Verarbeitung.
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/docinfo-deu-l_en.man b/sandbox/manpage-writer/expected-mandoc/docinfo-deu-l_en.man
new file mode 100644
index 000000000..6b87b11d7
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/docinfo-deu-l_en.man
@@ -0,0 +1,38 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DEUTSCHES_MANPAGE_BEISPIEL" 1 "" "0.5" "Beispielmanpages"
+.SH NAME
+deutsches_manpage_beispiel \- manpage beschreibung
+.sp
+Test document information Verarbeitung.
+
+Datum: 2009-08-24
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/docinfo-deu.man b/sandbox/manpage-writer/expected-mandoc/docinfo-deu.man
new file mode 100644
index 000000000..6b87b11d7
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/docinfo-deu.man
@@ -0,0 +1,38 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DEUTSCHES_MANPAGE_BEISPIEL" 1 "" "0.5" "Beispielmanpages"
+.SH NAME
+deutsches_manpage_beispiel \- manpage beschreibung
+.sp
+Test document information Verarbeitung.
+
+Datum: 2009-08-24
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/docinfo-eng-l_de.man b/sandbox/manpage-writer/expected-mandoc/docinfo-eng-l_de.man
new file mode 100644
index 000000000..c58f8a8e6
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/docinfo-eng-l_de.man
@@ -0,0 +1,36 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "ENGLISH_MANPAGE_SAMPLE" 1 "2009-08-24" "0.5" "Example manpages"
+.SH NAME
+english_manpage_sample \- manpage description
+.sp
+Test document information processing.
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/docinfo-eng-l_en.man b/sandbox/manpage-writer/expected-mandoc/docinfo-eng-l_en.man
new file mode 100644
index 000000000..c58f8a8e6
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/docinfo-eng-l_en.man
@@ -0,0 +1,36 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "ENGLISH_MANPAGE_SAMPLE" 1 "2009-08-24" "0.5" "Example manpages"
+.SH NAME
+english_manpage_sample \- manpage description
+.sp
+Test document information processing.
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/docinfo-eng.man b/sandbox/manpage-writer/expected-mandoc/docinfo-eng.man
new file mode 100644
index 000000000..c58f8a8e6
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/docinfo-eng.man
@@ -0,0 +1,36 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "ENGLISH_MANPAGE_SAMPLE" 1 "2009-08-24" "0.5" "Example manpages"
+.SH NAME
+english_manpage_sample \- manpage description
+.sp
+Test document information processing.
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/dotted.man b/sandbox/manpage-writer/expected-mandoc/dotted.man
new file mode 100644
index 000000000..00bcaa260
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/dotted.man
@@ -0,0 +1,39 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DOTLINE" "" "" ""
+.SH NAME
+dotline \- test lines starting with a dot
+.sp
+Hello world
+\&.pot file is good at translation.
+.sp
+\&.dot starting a line
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/indent.man b/sandbox/manpage-writer/expected-mandoc/indent.man
new file mode 100644
index 000000000..584310a11
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/indent.man
@@ -0,0 +1,74 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "INDENT" "" "" ""
+.SH NAME
+indent \- test indentation blocks
+.SH OPTION BLOCK
+.sp
+an option block, and within it, a part of the text block indented.
+the rest of the text (\(dqMore lines 1\(dq, etc.) isn\(aqt aligned at the same
+level as \(dqLine1\(dq. Instead, they\(aqre flush left to the screen
+.INDENT 0.0
+.TP
+.BI \-l\fP,\fB \-\-color\-limit \ limit
+Line1.
+Line2.
+Line3.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Indented line 1.
+Indented line 2.
+Indented line 3.
+
+Indented line 4.
+Indented line 5.
+Indented line 6.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+More lines 1.
+More lines 2.
+More lines 3.
+.UNINDENT
+.SH RUBRIC STARTING WITH A LIST
+empty rubric
+.INDENT 0.0
+.IP \(bu 2
+followed
+.IP \(bu 2
+by a list
+.UNINDENT
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/man-de.1.man b/sandbox/manpage-writer/expected-mandoc/man-de.1.man
new file mode 100644
index 000000000..e7a69c48e
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/man-de.1.man
@@ -0,0 +1,659 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "MAN" 1 "2008-01-28" "2.5.1" "Manual Hilfsprogramme"
+.SH NAME
+man \- Programm zum Einsehen der Online-Manuale
+.SH SYNTAX
+.INDENT 0.0
+.INDENT 3.5
+man [\-acdhwutZV] [\-m System[,...]] [\-L locale] [\-p Zeichenkette] [\-M Pfad] [\-P Pager] [\-r Prompt] [\-T Format] [\-S Liste] [\-e Erweiterung] [[Abschnitt] Seite ...] ...
+.sp
+man \-l [\-tZ] [\-p Zeichenkette] [\-P Pager] [\-r Prompt] [\-T Format] Datei ...
+.sp
+man \-k Schluesselwort ...
+.sp
+man \-f Seite ...
+.UNINDENT
+.UNINDENT
+.\" Problems:
+.\"
+.\" * how to format long syntax lines
+.\" * how to typeset the command bold, italic, ..
+.
+.SH BESCHREIBUNG
+.sp
+man ist der Manualbrowser des Systems. Jedes Argument Seite ist normalerweise
+der Name eines Programmes oder einer Funktion. Gefunden und
+angezeigt wird die Manualseite, die auf alle Argumente passt. Wenn ein
+Abschnitt angegeben wird, sucht man nur in diesem Abschnitt der Manualseiten.
+Ohne Angabe eine explizite Angabe werden alle verfuegbaren
+Abschnitte in einer vorher definierten Reihenfolge durchsucht. Wenn
+die Seite in mehreren Abschnitten vorkommt, wird nur die jeweils erste
+Seite angezeigt, die gefunden wird.
+.sp
+Die folgende Tabelle zeigt die Nummern der Abschnitte der Manualseiten
+gefolgt vom Typ der dort zu findenden Seiten.
+.INDENT 0.0
+.INDENT 3.5
+.TS
+center;
+|l|l|.
+_
+T{
+1
+T} T{
+Ausfuehrbare Programme oder Shellbefehle
+T}
+_
+T{
+2
+T} T{
+Systemaufrufe (Kernelfunktionen)
+T}
+_
+T{
+3
+T} T{
+Bibliotheksaufrufe (Funktionen in System\-Bibliotheken)
+T}
+_
+T{
+4
+T} T{
+Spezielle Dateien (gewoehnlich in /dev)
+T}
+_
+T{
+5
+T} T{
+Dateiformate und Konventionen, z. B. /etc/passwd
+T}
+_
+T{
+6
+T} T{
+Spiele
+T}
+_
+T{
+7
+T} T{
+Makropakete und Konventionen, z. B. man(7), groff(7)
+T}
+_
+T{
+8
+T} T{
+Systemadministrationsbefehle (in der Regel nur fuer root)
+T}
+_
+T{
+9
+T} T{
+Kernelroutinen [Nicht Standard]
+T}
+_
+T{
+n
+T} T{
+neu [veraltet]
+T}
+_
+T{
+l
+T} T{
+lokal [veraltet]
+T}
+_
+T{
+p
+T} T{
+oeffentlich [veraltet]
+T}
+_
+T{
+o
+T} T{
+alt [veraltet]
+T}
+_
+.TE
+.UNINDENT
+.UNINDENT
+.\" BUG: do not set as table
+.
+.sp
+Eine Manualseite besteht aus mehreren Teilen. Die ueblichen Bezeichnungen
+sind u. a. NAME, SYNTAX, BESCHREIBUNG, OPTIONEN, DATEIEN,
+SIEHE AUCH, FEHLER, und AUTOR.
+.sp
+Die folgenden Konventionen gelten fuer den Abschnitt SYNTAX und koennen
+fuer andere Abschnitte als Anleitung benutzt werden.
+.INDENT 0.0
+.INDENT 3.5
+.INDENT 0.0
+.TP
+.B bold text
+Literale Angaben wie in der Anzeige.
+.TP
+.B italic text
+Ersetzen durch passendes Argument.
+.TP
+.B [\-abc]
+Ein oder mehrere Argumente innerhalb der \fB[ ]\fP sind optional.
+.TP
+.B \-a|\-b
+Optionen, die durch \fB|\fP abgegrenzt sind, koennen nicht zusammen
+benutzt werden.
+.TP
+.B Argument ...
+Argument kann wiederholt werden.
+.TP
+.B [Ausdruck] ...
+gesamter Ausdruck innerhalb \fB[ ]\fP kann wiederholt werden.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+Die Befehls\- oder Funktionsbeispiele sind Muster, die auf alle
+moeglichen Aufrufe passen sollten. In manchen Faellen ist es ratsam,
+die verschiedenen sich ausschliessenden Aufrufe zu illustrieren, wie es
+im SYNTAX Abschnitt dieser Manualseite gezeigt ist.
+.SH BEISPIELE
+.INDENT 0.0
+.TP
+.B \fBman ls\fP
+zeigt die Manualseite fuer das Programm ls an.
+.TP
+.B \fBman \-a intro\fP
+zeigt alle vorhandenen intro Manualseiten an. Mit (q)uit ist es
+moeglich, das aufeinanderfolgendende Anzeigen der Seiten
+abzubrechen oder mit (s)kip eine Seite zu ueberspringen.
+.TP
+.B \fBman \-t alias | lpr \-Pps\fP
+Formatiert die Manualseite, die sich auf alias bezieht, in das
+Default troff oder groff Format und schickt es an den Drucker ps.
+Die Defaultausgabe fuer groff ist Postscript. Das Default fuer
+troff \- ditroff, benoetigt weitere Bearbeitung durch grops, bevor
+es von einem Postscriptdrucker gedruckt werden kann. man \-\-help
+sollte zu bestimmen helfen, welcher Prozessor an die \-t Option
+gebunden ist.
+.TP
+.B \fBman \-l \-Tdvi ./foo.1x.gz > ./foo.1x.dvi\fP
+Dieser Befehl formatiert die komprimierte nroff\-Manualseite
+\&./foo.1x.gz in eine device independent (dvi) Datei. Diese Datei
+wird zuerst dekomprimiert, bevor sie durch passende Filter und Pro\-
+gramme bearbeitet wird. Die Umlenkung ist notwendig, da die \-T
+Option die Ausgabe unformatiert an die Standardausgabe schickt. Die
+Ausgabe kann mit einem Programm wie xdvi betrachtet oder mit einem
+Programm wie dvips in Postscript weiterverarbeitet werden.
+.TP
+.B \fBman \-k printf\fP
+Sucht die Kurzbeschreibungen und die Namen der Manualseiten zum
+Schluesselwort printf und gibt alle Treffer aus.
+.TP
+.B \fBman \-f smail\fP
+Sucht die Manualseiten, die sich auf smail beziehen und gibt alle
+gefundenen Kurzbeschreibungen aus.
+.UNINDENT
+.SH UEBERSICHT
+.sp
+Um dem Benutzer eine groesstmoegliche Flexibilität zu bieten, sind in man viele
+Optionen verfuegbar. Veraenderungen koennen am Suchpfad, in der Reihenfolge der
+Abschnitte oder am Ausgabeprozessor vorgenommen werden. Andere
+Verhaltensweisen und Operationen sind weiter unten beschrieben.
+.sp
+Um die Arbeitsweise von man zu bestimmen, werden verschiedene
+Umgebungsvariablen benutzt. Mit dieser Version ist es moeglich, die Variable
+\fB$MANOPT\fP auf einen Ausdruck im Kommandozeilenformat zu setzen. Es gibt
+folgende Ausnahme: Da jede Option in \fB$MANOPT\fP von Leerzeichen
+eingeschlossen ist, muessen Leerzeichen, die Teil eines Argumentes sind,
+gequotet werden. man bearbeitet diese Variable vor der eigenen Kommandozeile.
+Die Optionen, die ein Argument benoetigen, koennen durch die gleichen Optionen
+in der Kommandozeile ueberschrieben werden. Um alle Optionen zurueckzusetzen,
+die in \fB$MANOPT\fP gesetzt werden, kann \fB\-D\fP als initiale
+Kommandozeilen\-Option angegeben werden. Dies erlaubt man alle Optionen zu
+\fIueberschreiben\fP, die in \fB$MANOPT\fP gesetzt werden, obwohl diese
+weiterhin gelten. Damit wird die groesstmoegliche Flexibilität fuer einen
+Benutzer erzeugt, der man auf seine eigenen Beduerfnisse anpassen will,
+ohne zahllose Optionen bei der Suche einer Manualseite einzugeben.
+.sp
+Die Hilfsprogramme, die im man\-db\-Paket zusammengefasst sind, machen
+umfassenden Gebrauch von Indexdatenbanken. Diese Zwischenspeicher
+enthalten Informationen ueber den Ort und die zugehoerige whatis Information
+(einzeilige Kurzbeschreibung der Manualseite), sowie darüber, wo sich eine
+Manualseite im Dateisystem befindet. Eine Aufgabe von man ist die
+Konsistenzsicherung der Datenbank. Die Datenbanken verhindern die Notwendigkeit
+einer manuellen Bearbeitung zur Aktualisierung der whatis\-Textdatenbank und
+erlauben man schneller zu arbeiten, als bei der Suche nach der passenden
+Manualseite im gesamten Dateisystem.
+.sp
+Wenn man keine von mandb erstellte Indexdatenbank zu einer speziellen
+Manualhierarchie finden kann, wird dennoch nach der gewuenschten Manualseite
+gesucht. In diesem Fall ist es jedoch wieder noetig, nach der alten Methode
+alle in Frage kommenden Verzeichnisse zu durchsuchen (sog. globbing). Wenn
+whatis oder apropos keine Indexdatenbank finden koennen, versucht es die
+Information aus der whatis\-Datenbank zu beziehen. Auch anwenderspezifische
+Manualhierarchien werden waehrend der Benutzung in Indexdatenbanken
+zusammengefasst.
+.sp
+Die Hilfsprogramme unterstuetzen komprimierte nroff\-Quelldateien, die
+normalerweise die Erweiterung .Z, .z oder .gz besitzen. Jede andere
+Erweiterung kann unterstuetzt werden, wenn sie zur UEbersetzungszeit
+bekannt ist. Als Default werden alle cat\-Seiten mit gzip komprimiert.
+Jede globale Manualhierarchie wie /usr/man oder /usr/X11R6/man kann
+jedes Verzeichnis als cat\-Seiten\-Hierarchie besitzen. UEblicherweise
+werden cat\-Seiten unter der gleichen Hierarchie wie die Manualseiten
+gespeichert. Allerdings kann es aus Gruenden, die im Linux File System
+Standard (FSSTND) erlaeutert sind, besser sein, sie an anderer Stelle
+zu speichern. Details, wann dies der Fall ist, beschreibt manpath(5).
+Fuer Details, warum dies empfohlen wird, siehe den Linux File System
+Standard (FSSTND).
+.sp
+Dieses Paket unterstuetzt internationale Anpassungen (sog. NLS\-Support,
+Native Language Support). Durch den Gebrauch von locale Funktionen ist
+es moeglich, Manualseiten der Landessprache zu verwalten, wenn sie auf
+dem System vorhanden sind. Um diese Unterstuetzung zu aktivieren, muss
+man entweder in $LC_MESSAGES, $LANG oder anderen systemabhaengigen
+Umgebungsvariablen die gewuenschte Sprache einstellen. Die Sprache wird
+normalerweise in dem durch POSIX 1003.1 definierten Format angegeben:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<Sprache>[_<Region>[.<Zeichensatz>[,<Version>]]]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Wenn die angeforderte Seite in der locale vorhanden ist, wird sie
+anstelle der Standardseite (normalerweise in amerikanischem Englisch)
+angezeigt. Darueber hinaus werden auch Sammlungen von landessprach\-
+lichen Systemmeldungen unterstuetzt und auf dieselbe Weise aktiviert \-
+ebenfalls unter der Vorraussetzung, dass die uebersetzten Meldungen
+vorliegen. Wer diese Manualseiten und die Ausgaben der Hilfsprogramme
+gerne in seiner Landessprache haette, aber diese nicht vorfindet, ist
+aufgefordert, eine UEbersetzung anzufertigen und sie dem Autor
+zuzusenden, damit spaetere Versionen davon profitieren koennen.
+.sp
+Die anderen Eigenschaften und Erweiterungen von man sind in den
+beiliegenden Dokumenten beschrieben. Einen umfassenden Einblick in die
+mandb zugrundeliegenden Konzepte sind in der Dokumentation man\-db\-2.3 \-
+the database cached manual pager suite beschrieben. Die Dokumentation
+sollte auf denselben Server wie das mandb\- Paket selbst zu finden sein.
+.SH NORMALEINSTELLUNGEN
+.sp
+man sucht nach der gewueschten Manualseite in der Indexdatenbank. Wenn
+die Suche fehlschlaegt, wird ein Konsistenztest durchgefuehrt, um die
+korrekte Wiedergabe des Dateisystems zu sichern. Nachdem die Daten\-
+banken erzeugt wurden, ist es i. A. nicht notwendig, mandb zu starten,
+es sei denn, die Datenbank wurde verfaelscht.
+.sp
+Wenn eine Manualseite gefunden wurde, wird getestet, ob dazu bereits
+eine vorformatierte cat\-Seite existiert und diese neuer als die nroff\-
+Datei ist. In diesem Fall wird die vorformatierte Datei dekomprimiert
+und mit einem Browser angezeigt. Die Auswahl des Browsers kann auf
+unterschiedliche Weise erfolgen (fuer Details siehe \-P Option). Wenn
+keine cat\-Seite gefunden wird oder wenn sie aelter als die nroff\-Datei
+ist, wird die nroff\-Datei durch diverse Programme gefiltert und
+entweder sofort angezeigt oder zuerst als komprimierte cat\-Datei gespe\-
+ichert und dann angezeigt.
+.sp
+Eine cat\-Datei wird erzeugt, wenn ein relatives cat\-Verzeichnis
+existiert und man dort das Schreibrecht hat.
+.sp
+Die Filter werden in mehreren Schritten zusammengestellt: Zuerst wird
+die Kommandozeilen\-Option \-p oder die Umgebungsvariable $MANROFFSEQ
+untersucht. Wenn \-p nicht benutzt wird und die Umgebungsvariable nicht
+gesetzt ist, wird die Anfangszeile der nroff\-Datei nach einer Zeichen\-
+kette fuer den Praeprozessor untersucht. Eine solche Praeprozessor\-
+Zeichenkette muss folgendes Aussehen haben:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\(aq\e\(dq <Zeichenkette>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+wobei Zeichenkette jede Kombination von Buchstaben sein kann, die unter
+Option \-p weiter unten beschrieben sind.
+.sp
+Wenn keine der obigen Methoden eine Filter\-Information enthaelt, wird
+tbl als Default verwendet.
+.sp
+Als primaerer Formatierer wird entweder nroff, troff oder groff ges\-
+tartet.
+.SH OPTIONEN
+.sp
+Eine Argumentoption, die entweder in der Kommandozeile, in \fB$MANOPT\fP oder in
+beiden doppelt vorkommt , ist nicht schaedlich. Fuer Optionen, die ein
+Argument benötigen, überschreibt jedes Duplikat den vorhergehenden Wert.
+.INDENT 0.0
+.TP
+.B \-l\fP,\fB \-\-local\-file
+Aktiviert den lokalen Modus. Formatiert und zeigt lokale Manualdateien
+an, anstatt die System\-Manualsammlung zu durchsuchen.
+Jedes Manualseiten\-Argument wird als nroff\-Quelle im richtigen
+Format interpretiert. Komprimierte nroff\-Quelldateien mit einer
+unterstuetzten Kompressions\-Erweiterung werden von man dekom\-
+primiert, bevor sie ueber den ueblichen Filter angezeigt werden.
+Es wird keine cat\-Datei erzeugt. Wenn eines der Argumente \fB\-\fP
+ist, wird die Eingabe von der Standardeingabe uebernommen.
+.TP
+.BI \-L \ locale\fR,\fB \ \-\-locale\fB= locale
+Normalerweise bestimmt man die aktuelle locale durch einen
+Aufruf der C Funktion setlocale (3), die diverse Umgebungsvari\-
+ablen, darunter u. U. $LC_MESSAGES und $LANG untersucht. Diese
+Funktion kann dazu verwendet werden, kurzzeitig den so gefunde\-
+nen Wert zu ueberschreiben. Dazu kann diese Option mit einer
+Zeichenkette, die die temporaere locale enthaelt, angegeben wer\-
+den. Man beachte, dass dieser Effekt erst beim konkreten Suchen
+der Seite in Erscheinung tritt. Daher werden Ausgaben wie die
+Hilfeseite immer in der urspruenglichen Sprache ausgegeben.
+.TP
+.B \-D\fP,\fB \-\-default
+Diese Option wird normalerweise nur als allererste angegeben und
+setzt das Verhalten von man in allen Belangen wieder zum Nor\-
+malverhalten zurueck. Der Zweck dieser Option ist es, Optionen
+wieder rueckgaengig zu machen, die bereits in der Umgebungsvari\-
+able $MANOPT gesetzt sind. Alle Optionen, die \-D folgen, haben
+wieder ihren gewohnten Effekt.
+.TP
+.BI \-M \ Pfad\fR,\fB \ \-\-manpath\fB= Pfad
+Ermoeglicht es, einen alternativen Manualpfad anzugeben.
+Normalerweise verwendet man dieselben Methoden wie in manpath, um
+den Suchpfad zu ermitteln. Diese Option ueberschreibt die
+Umgebungsvariable \fB$MANPATH\fP\&.
+.TP
+.BI \-P \ Pager\fR,\fB \ \-\-pager\fB= Pager
+Gibt an, welcher Pager verwendet wird. Die Normaleinstellung ist
+pager\-s. Diese Option ueberschreibt die Umgebungsvariable
+\fB$PAGER\fP und wird nicht in Zusammenhang mit \-f oder \-k verwendet.
+.TP
+.BI \-r \ Prompt\fR,\fB \ \-\-prompt\fB= Prompt
+Wenn eine hinreichend neue Version von less als Pager verwendet
+wird, versucht man dort einige sinnvolle Optionen zu setzen. Die
+Eingabeaufforderung in der letzten Zeile sieht in dem Fall so
+aus:
+.INDENT 7.0
+.INDENT 3.5
+Manual page name(sec) line x,
+.UNINDENT
+.UNINDENT
+.sp
+wobei name die Manualseite bezeichnet, die gerade angezeigt
+wird, sec der Abschnitt ist, in dem sie gefunden wurde, und x
+die aktuelle Zeilennummer ist. Diese Anzeige wird durch
+Verwendung der Umgebungsvariable \fB$LESS\fP erreicht.
+Man beachte, dass einzelne Bezeichnungen sich bei der Verwendung
+von landessprachlichen Meldungen ändern koennen. Die Option
+\fB\-r\fP ermöglicht es, durch Angabe einer
+Formatierungszeichenkette, das Ausgabeformat selbst zu bestimmen.
+Wenn diese Zeichenkette \fB$MAN_PN\fP enthält, wird dieser Text
+durch den Namen der Manualseite gefolgt von der Abschnittsnummer
+in runden Klammern ersetzt. Die Zeichenkette, die im Normalfall
+verwendet wird ist:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\e Manual\e page\e \e$MAN_PN\e ?ltline\e %lt?L/%L.:
+byte\e %bB?s/%s..?\e (END):?pB %pB\e\e%..
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Die zweizeilige Darstellung wurde nur der besseren Lesbarkeit
+wegen gewählt. Nähere Informationen liefert less(1). Da die
+Zeichenkette zuerst vom Kommandointerpreter ausgewertet wird,
+muessen entsprechende Zeichen durch einen Backslash geschützt
+werden. Weitere Optionen für less koennen nach einem
+geschützten \fB$\fP am Ende der Zeichenkette hinzugefügt werden.
+Der Default ist hier \fB\-ix8\fP\&.
+.TP
+.BI \-S \ Liste\fR,\fB \ \-\-sections\fB= Liste
+Eine durch Doppelpunkte getrennte Liste von Abschnitten
+definiert bei Benutzung dieser Option die Reihenfolge, in der
+die Abschnitte durchsucht werden. Diese Option ueberschreibt die
+Umgebungsvariable $MANSECT.
+.TP
+.B \-a\fP,\fB \-\-all
+Wird eine Manualseite in einem Abschnitt gefunden, so terminiert
+man nach Anzeige dieser Seite. Wird jedoch diese Option
+angegeben, so werden alle passenden Manualseiten nacheinander
+angezeigt.
+.TP
+.B \-c\fP,\fB \-\-catman
+Diese Option ueberprueft nur, ob die zur angegebenen Manualseite
+passende cat\-Seite aktuell ist und erzeugt ggf. eine neue. Es
+wird dabei nichts angezeigt.
+.TP
+.B \-d\fP,\fB \-\-debug
+Bei dieser Option werden keine Manualseiten angezeigt, sondern
+nur eine Menge von Diagnoseinformation.
+.TP
+.BI \-e \ Erweiterung\fR,\fB \ \-\-extension\fB= Erweiterung
+Einige Systeme enthalten grosse Pakete an Manualseiten, wie
+z.B. in dem Tcl Paket, die in die normalen Manualabschnitte
+integriert werden. Um beispielsweise das Problem zweier
+unterschiedlicher Manualseiten mit gleichem Namen, wie exit(3),
+zu lösen, wurden früher alle Tcl Seiten dem Abschnitt l
+zugeordnet. Dieses erwies sich als keine gute Lösung. Bei
+dieser Version von man ist es möglich, die Seiten in die richtigen
+Abschnitte einzuordnen und ihrem Seitennamen eine spezifische
+Erweiterung, hier z. B. exit(3tcl) anzuhängen. Unter normalen
+Umständen zeigt man bevorzugt exit(3) gegenüber exit(3tcl) an.
+Um dieses Verhalten umzukehren, ist man die Zeichenkette
+Erweiterung zu übergeben, die angibt, in welchem Paket die
+Manualseite zu finden ist. Im obigen Fall beschränkt man seine
+Suche auf Seiten mit der Erweiterung \fB*tcl\fP, wenn es mit
+\fB\-e tcl\fP aufgerufen wurde. Die Suche wird dabei in allen
+Abschnitten durchgeführt.
+.TP
+.B \-f\fP,\fB \-\-whatis
+Diese Option ist das AEquivalent zu whatis. Es wird eine
+Kurzbeschreibung der gewuenschten Manualseite angezeigt, wenn
+sie gefunden wurde. Zu Details siehe whatis(1). Mit dieser
+Option ist nur eine Standardsuche moeglich. Verbesserte Such\-
+moeglichkeiten bieten die Optionen von whatis.
+.TP
+.B \-k\fP,\fB \-\-apropos
+Diese Option ist das AEquivalent zu apropos. Es werden die
+Kurzbeschreibungen zu allen Manualseiten nach dem angegebenen
+Stichwort durchsucht. Zu Details siehe apropos(1). Mit dieser
+Option ist nur eine Standardsuche moeglich. Verbesserte Such\-
+moeglichkeiten bieten die Optionen von apropos.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-m System[,...], \-\-systems=System[,...]
+Wenn auch Manualseiten von einem anderen Betriebssystem instal\-
+liert sind, so kann auf sie mit dieser Option zugegriffen wer\-
+den. Um beispielsweise die Manualseiten von NewOS zu durch\-
+suchen, muss \-m NewOS angegeben werden.
+.sp
+Das angegebene System kann eine durch Kommata abgetrennte Aufza\-
+ehlung von Betriebssystemnamen sein. Die normalen Seiten werden
+durch den Betriebssystemnamen man angesprochen. Diese Option
+ueberschreibt die Umgebungsvariable $SYSTEM.
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-p \ Zeichenkette\fR,\fB \ \-\-preprocessor\fB= Zeichenkette
+Diese Option gibt die Reihenfolge an, in der die Praeprozessoren
+vor nroff oder troff/groff abgearbeitet werden. Nicht alle
+Installationen haben notwendigerweise alle Praeprozessoren.
+Einige der Praeprozessoren und die Zeichen, um sie zu repraesen\-
+tieren, sind: eqn (e), grap (g), pic (p), tbl (t), vgrind (v),
+refer (r). Diese Option ueberschreibt die Umgebungsvariable
+$MANROFFSEQ. Der Praeprozessor zsoelim wird immer als erster
+gestartet.
+.TP
+.B \-u\fP,\fB \-\-update
+Die Indexdatenbanken werden immer waehrend des laufenden
+Betriebes auf neuestem Stand gehalten, was insbesondere
+bedeutet, dass mandb nicht benoetigt wird, um sie konsistent zu
+halten. Wenn die ausgewaehlte Manualseite nicht im Index gefun\-
+den wurde oder die \-a Option verwendet wurde, macht man einen
+Konsistenztest auf Verzeichnisebene, um sicherzustellen, dass
+der Index immer noch eine gueltige Repraesentation der Manual\-
+seiten im Dateisystem darstellt. Wenn dieser Test auf Inode\-
+Ebene durchgefuehrt werden soll, muss man die Option \-u
+benutzen.
+.TP
+.B \-t\fP,\fB \-\-troff
+Mit dieser Option wird groff \-mandoc verwendet, um die Manual\-
+seite zu formatieren und an die Standardausgabe zu liefern. Im
+Zusammenhang mit \-T oder \-Z ist diese Option nicht noetig.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-T Format, \-\-troff\-device [=Format]
+Diese Option wird dazu verwendet, um das Ausgabeformat von groff
+(oder moeglicherweise troff) zu aendern. Diese Option impliziert
+die Angabe von \-t. Verfuegbare Ausgabeformate (von Groff\-1.17)
+beinhalten dvi, latin1, ps, utf8, X75 und X100.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-Z\fP,\fB \-\-ditroff
+Das traditionelle troff erzeugt ditroff. groff startet
+zunaechst troff und leitet danach dessen Ausgabe an einen fuer
+das gewaehlte Ausgabeformat geeigneten Postprozessor weiter.
+Wenn groff \-mandoc groff ist, zwingt diese Option groff dazu,
+traditionelles troff zu emulieren und impliziert \-t, andernfalls
+wird es ignoriert.
+.TP
+.B \-w\fP,\fB \-\-where\fP,\fB \-\-location
+Zeigt nicht die Manualseiten, sondern die Position der Dateien
+im Dateisystem an, die formatiert oder angezeigt wuerden. Wenn
+die Datei eine cat\-Seite ist, wird auch der Ort ihrer nroff\-
+Quelldatei angezeigt.
+.TP
+.B \-h\fP,\fB \-\-help
+Zeigt einen Hilfstext an.
+.TP
+.B \-V\fP,\fB \-\-version
+Zeigt Programmversion und Autor an.
+.UNINDENT
+.SH UMGEBUNG
+.INDENT 0.0
+.TP
+.B MANPATH
+Wenn $MANPATH gesetzt ist, wird dessen Wert als Suchpfad fuer
+die Manualseiten benutzt.
+.TP
+.B MANROFFSEQ
+Wenn $MANROFFSEQ gesetzt ist, wird dessen Wert benutzt, um die
+Abfolge der Praeprozessoren zu bestimmen, die jede Manualseite
+vor nroff oder troff durchlaeuft. Als Default durchlaufen die
+Seiten den tbl (t) Praeprozessor.
+.TP
+.B MANSECT
+Wenn der Wert von $MANSECT eine durch Doppelpunkte getrennte
+Liste von Abschnitten ist, wird dieser Wert dazu benutzt, um die
+zu durchsuchenden Abschnitte und deren Reihenfolge zu bestimmen.
+.TP
+.B PAGER Wenn $PAGER gesetzt ist, wird dieses Programm zur Anzeige
+benutzt. Default ist pager \-s.
+.TP
+.B SYSTEM Wenn $SYSTEM gesetzt ist, hat dies den gleichen Effekt wie die
+Option \-m System wobei System als Inhalt der Umgebungsvariable
+$SYSTEM benutzt wird.
+.TP
+.B MANOPT Wenn $MANOPT gesetzt ist, wird der Wert dieser Variablen vor der
+man Kommandozeile durchsucht und abgearbeitet. Wie auch alle
+anderen Umgebungsvariablen, die als Kommandozeilen\-Optionen aus\-
+gedrueckt werden koennen, ist es moeglich, den Inhalt von
+$MANOPT durch die Kommandozeile zu ueberschreiben. Alle Leerze\-
+ichen, die Teil eines Argumentes sind, muessen gequotet werden.
+.TP
+.B LANG, LC_MESSAGES
+Abhaengig von System und Implementation werden entweder $LANG
+oder $LC_MESSAGES oder beide nach der gegenwaertigen locale
+Information durchsucht. man wird (wenn moeglich) seine
+Nachrichten in dieser locale anzeigen. Fuer Details siehe
+setlocale(3).
+.UNINDENT
+.SH DATEIEN
+.INDENT 0.0
+.TP
+.B \fB/etc/manpath.config\fP
+Die Manualkonfigurationsdatei.
+.TP
+.B \fB/usr/.../man\fP
+Globale Manualhierarchien.
+.TP
+.B \fB/var/catman/.../index.(bt|db|dir|pag)\fP
+Die FSSTND complianten globalen Indexdatenbanken.
+.UNINDENT
+.SH SIEHE AUCH
+.sp
+mandb(8), manpath(1), manpath(5), apropos(1), whatis(1), catman(8),
+less(1), nroff(1), troff(1), groff(1), zsoelim(1), setlocale(3),
+man(7), ascii(7), latin1(7).
+.SH FEHLER
+.sp
+Die Option \-t funktioniert nur, wenn ein troff\-aehnliches Programm
+installiert ist.
+.sp
+Die Option \-e funktioniert momentan nur in Manualhierarchien, fuer die
+mit mandb eine Indexdatenbank erzeugt wurde.
+.sp
+Manualseiten, die die erweiterte Darstellung im Zusammenhang mit der
+Option \-e unterstuetzen, duerfen keinen Punkt beinhalten, denn sonst
+werden diese Seiten als fehlerhaft zurueckgewiesen.
+.SH GESCHICHTE
+.sp
+1990, 1991 \- Originale geschrieben von John W. Eaton
+(\fI\%jwe@che.utexas.edu\fP).
+.sp
+23. Dez. 1992: Fehlerbereinigung durch Rik Faith (\fI\%faith@cs.unc.edu\fP)
+unterstützt durch Willem Kasdorp (\fI\%wkasdo@nikhefk.nikef.nl\fP).
+.sp
+Zwischen dem 30. April 1994 und dem 23. Februar 2000 hat Wilf
+(\fI\%G.Wilford@ee.surrey.ac.uk\fP) unter Mithilfe von einigen wenigen
+engagierten Menschen dieses Paket entwickelt und weitergeführt.
+.sp
+Die deutsche Übersetzung wurde von Anke Steuernagel
+(\fI\%a_steuer@informatik.uni\-kl.de\fP) und Nils Magnus
+(\fI\%magnus@informatik.uni\-kl.de\fP) angefertigt.
+.sp
+Für persönliche Würdigungen und Zusätze siehe Quelltexte.
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/man-de.1.utf8 b/sandbox/manpage-writer/expected-mandoc/man-de.1.utf8
new file mode 100644
index 000000000..34c0f85de
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/man-de.1.utf8
@@ -0,0 +1,533 @@
+MAN(1) Manual Hilfsprogramme MAN(1)
+
+NNAAMMEE
+ man - Programm zum Einsehen der Online-Manuale
+
+SSYYNNTTAAXX
+ man [-acdhwutZV] [-m System[,...]] [-L locale] [-p Zeichenkette]
+ [-M Pfad] [-P Pager] [-r Prompt] [-T Format] [-S Liste] [-e
+ Erweiterung] [[Abschnitt] Seite ...] ...
+
+ man -l [-tZ] [-p Zeichenkette] [-P Pager] [-r Prompt] [-T Format]
+ Datei ...
+
+ man -k Schluesselwort ...
+
+ man -f Seite ...
+
+BBEESSCCHHRREEIIBBUUNNGG
+ man ist der Manualbrowser des Systems. Jedes Argument Seite ist
+ normalerweise der Name eines Programmes oder einer Funktion. Gefunden
+ und angezeigt wird die Manualseite, die auf alle Argumente passt. Wenn
+ ein Abschnitt angegeben wird, sucht man nur in diesem Abschnitt der
+ Manualseiten. Ohne Angabe eine explizite Angabe werden alle
+ verfuegbaren Abschnitte in einer vorher definierten Reihenfolge
+ durchsucht. Wenn die Seite in mehreren Abschnitten vorkommt, wird nur
+ die jeweils erste Seite angezeigt, die gefunden wird.
+
+ Die folgende Tabelle zeigt die Nummern der Abschnitte der Manualseiten
+ gefolgt vom Typ der dort zu findenden Seiten.
+
+ ┌──┬──────────────────────────────┐
+ │1 │ Ausfuehrbare Programme oder │
+ │ │ Shellbefehle │
+ ├──┼──────────────────────────────┤
+ │2 │ Systemaufrufe │
+ │ │ (Kernelfunktionen) │
+ ├──┼──────────────────────────────┤
+ │3 │ Bibliotheksaufrufe │
+ │ │ (Funktionen in │
+ │ │ System-Bibliotheken) │
+ ├──┼──────────────────────────────┤
+ │4 │ Spezielle Dateien │
+ │ │ (gewoehnlich in /dev) │
+ ├──┼──────────────────────────────┤
+ │5 │ Dateiformate und │
+ │ │ Konventionen, z. B. │
+ │ │ /etc/passwd │
+ ├──┼──────────────────────────────┤
+ │6 │ Spiele │
+ ├──┼──────────────────────────────┤
+ │7 │ Makropakete und │
+ │ │ Konventionen, z. B. man(7), │
+ │ │ groff(7) │
+ ├──┼──────────────────────────────┤
+ │8 │ Systemadministrationsbefehle │
+ │ │ (in der Regel nur fuer root) │
+ ├──┼──────────────────────────────┤
+ │9 │ Kernelroutinen [Nicht │
+ │ │ Standard] │
+ ├──┼──────────────────────────────┤
+ │n │ neu [veraltet] │
+ ├──┼──────────────────────────────┤
+ │l │ lokal [veraltet] │
+ ├──┼──────────────────────────────┤
+ │p │ oeffentlich [veraltet] │
+ ├──┼──────────────────────────────┤
+ │o │ alt [veraltet] │
+ └──┴──────────────────────────────┘
+
+ Eine Manualseite besteht aus mehreren Teilen. Die ueblichen
+ Bezeichnungen sind u. a. NAME, SYNTAX, BESCHREIBUNG, OPTIONEN,
+ DATEIEN, SIEHE AUCH, FEHLER, und AUTOR.
+
+ Die folgenden Konventionen gelten fuer den Abschnitt SYNTAX und koennen
+ fuer andere Abschnitte als Anleitung benutzt werden.
+
+ bboolldd tteexxtt
+ Literale Angaben wie in der Anzeige.
+
+ iittaalliicc tteexxtt
+ Ersetzen durch passendes Argument.
+
+ [[--aabbcc]] Ein oder mehrere Argumente innerhalb der [[ ]] sind optional.
+
+ --aa||--bb Optionen, die durch || abgegrenzt sind, koennen nicht zusammen
+ benutzt werden.
+
+ AArrgguummeenntt ......
+ Argument kann wiederholt werden.
+
+ [[AAuussddrruucckk]] ......
+ gesamter Ausdruck innerhalb [[ ]] kann wiederholt werden.
+
+ Die Befehls- oder Funktionsbeispiele sind Muster, die auf alle
+ moeglichen Aufrufe passen sollten. In manchen Faellen ist es ratsam,
+ die verschiedenen sich ausschliessenden Aufrufe zu illustrieren, wie es
+ im SYNTAX Abschnitt dieser Manualseite gezeigt ist.
+
+BBEEIISSPPIIEELLEE
+
+ mmaann llss zeigt die Manualseite fuer das Programm ls an.
+
+ mmaann --aa iinnttrroo
+ zeigt alle vorhandenen intro Manualseiten an. Mit (q)uit ist
+ es moeglich, das aufeinanderfolgendende Anzeigen der
+ Seiten abzubrechen oder mit (s)kip eine Seite zu ueberspringen.
+
+ mmaann --tt aalliiaass || llpprr --PPppss
+ Formatiert die Manualseite, die sich auf alias bezieht, in
+ das Default troff oder groff Format und schickt es an den
+ Drucker ps. Die Defaultausgabe fuer groff ist Postscript.
+ Das Default fuer troff - ditroff, benoetigt weitere
+ Bearbeitung durch grops, bevor es von einem Postscriptdrucker
+ gedruckt werden kann. man --help sollte zu bestimmen
+ helfen, welcher Prozessor an die -t Option gebunden ist.
+
+ mmaann --ll --TTddvvii ..//ffoooo..11xx..ggzz >> ..//ffoooo..11xx..ddvvii
+ Dieser Befehl formatiert die komprimierte
+ nroff-Manualseite ./foo.1x.gz in eine device independent
+ (dvi) Datei. Diese Datei wird zuerst dekomprimiert, bevor sie
+ durch passende Filter und Pro- gramme bearbeitet wird. Die
+ Umlenkung ist notwendig, da die -T Option die Ausgabe
+ unformatiert an die Standardausgabe schickt. Die Ausgabe kann
+ mit einem Programm wie xdvi betrachtet oder mit einem Programm
+ wie dvips in Postscript weiterverarbeitet werden.
+
+ mmaann --kk pprriinnttff
+ Sucht die Kurzbeschreibungen und die Namen der Manualseiten
+ zum Schluesselwort printf und gibt alle Treffer aus.
+
+ mmaann --ff ssmmaaiill
+ Sucht die Manualseiten, die sich auf smail beziehen und gibt
+ alle gefundenen Kurzbeschreibungen aus.
+
+UUEEBBEERRSSIICCHHTT
+ Um dem Benutzer eine groesstmoegliche Flexibilität zu bieten, sind in
+ man viele Optionen verfuegbar. Veraenderungen koennen am Suchpfad, in
+ der Reihenfolge der Abschnitte oder am Ausgabeprozessor vorgenommen
+ werden. Andere Verhaltensweisen und Operationen sind weiter unten
+ beschrieben.
+
+ Um die Arbeitsweise von man zu bestimmen, werden verschiedene
+ Umgebungsvariablen benutzt. Mit dieser Version ist es moeglich, die
+ Variable $$MMAANNOOPPTT auf einen Ausdruck im Kommandozeilenformat zu setzen.
+ Es gibt folgende Ausnahme: Da jede Option in $$MMAANNOOPPTT von
+ Leerzeichen eingeschlossen ist, muessen Leerzeichen, die Teil eines
+ Argumentes sind, gequotet werden. man bearbeitet diese Variable vor
+ der eigenen Kommandozeile. Die Optionen, die ein Argument benoetigen,
+ koennen durch die gleichen Optionen in der Kommandozeile
+ ueberschrieben werden. Um alle Optionen zurueckzusetzen, die in
+ $$MMAANNOOPPTT gesetzt werden, kann --DD als initiale Kommandozeilen-Option
+ angegeben werden. Dies erlaubt man alle Optionen zu _u_e_b_e_r_s_c_h_r_e_i_b_e_n,
+ die in $$MMAANNOOPPTT gesetzt werden, obwohl diese weiterhin gelten.
+ Damit wird die groesstmoegliche Flexibilität fuer einen Benutzer
+ erzeugt, der man auf seine eigenen Beduerfnisse anpassen will, ohne
+ zahllose Optionen bei der Suche einer Manualseite einzugeben.
+
+ Die Hilfsprogramme, die im man-db-Paket zusammengefasst sind, machen
+ umfassenden Gebrauch von Indexdatenbanken. Diese Zwischenspeicher
+ enthalten Informationen ueber den Ort und die zugehoerige whatis
+ Information (einzeilige Kurzbeschreibung der Manualseite), sowie
+ darüber, wo sich eine Manualseite im Dateisystem befindet. Eine Aufgabe
+ von man ist die Konsistenzsicherung der Datenbank. Die Datenbanken
+ verhindern die Notwendigkeit einer manuellen Bearbeitung zur
+ Aktualisierung der whatis-Textdatenbank und erlauben man schneller zu
+ arbeiten, als bei der Suche nach der passenden Manualseite im gesamten
+ Dateisystem.
+
+ Wenn man keine von mandb erstellte Indexdatenbank zu einer speziellen
+ Manualhierarchie finden kann, wird dennoch nach der gewuenschten
+ Manualseite gesucht. In diesem Fall ist es jedoch wieder noetig, nach
+ der alten Methode alle in Frage kommenden Verzeichnisse zu
+ durchsuchen (sog. globbing). Wenn whatis oder apropos keine
+ Indexdatenbank finden koennen, versucht es die Information aus
+ der whatis-Datenbank zu beziehen. Auch anwenderspezifische
+ Manualhierarchien werden waehrend der Benutzung in Indexdatenbanken
+ zusammengefasst.
+
+ Die Hilfsprogramme unterstuetzen komprimierte nroff-Quelldateien, die
+ normalerweise die Erweiterung .Z, .z oder .gz besitzen. Jede andere
+ Erweiterung kann unterstuetzt werden, wenn sie zur UEbersetzungszeit
+ bekannt ist. Als Default werden alle cat-Seiten mit gzip komprimiert.
+ Jede globale Manualhierarchie wie /usr/man oder /usr/X11R6/man kann
+ jedes Verzeichnis als cat-Seiten-Hierarchie besitzen. UEblicherweise
+ werden cat-Seiten unter der gleichen Hierarchie wie die Manualseiten
+ gespeichert. Allerdings kann es aus Gruenden, die im Linux File System
+ Standard (FSSTND) erlaeutert sind, besser sein, sie an anderer Stelle
+ zu speichern. Details, wann dies der Fall ist, beschreibt manpath(5).
+ Fuer Details, warum dies empfohlen wird, siehe den Linux File System
+ Standard (FSSTND).
+
+ Dieses Paket unterstuetzt internationale Anpassungen (sog. NLS-Support,
+ Native Language Support). Durch den Gebrauch von locale Funktionen ist
+ es moeglich, Manualseiten der Landessprache zu verwalten, wenn sie auf
+ dem System vorhanden sind. Um diese Unterstuetzung zu aktivieren, muss
+ man entweder in $LC_MESSAGES, $LANG oder anderen systemabhaengigen
+ Umgebungsvariablen die gewuenschte Sprache einstellen. Die Sprache wird
+ normalerweise in dem durch POSIX 1003.1 definierten Format angegeben:
+
+ <Sprache>[_<Region>[.<Zeichensatz>[,<Version>]]]
+
+ Wenn die angeforderte Seite in der locale vorhanden ist, wird sie
+ anstelle der Standardseite (normalerweise in amerikanischem Englisch)
+ angezeigt. Darueber hinaus werden auch Sammlungen von landessprach-
+ lichen Systemmeldungen unterstuetzt und auf dieselbe Weise aktiviert -
+ ebenfalls unter der Vorraussetzung, dass die uebersetzten Meldungen
+ vorliegen. Wer diese Manualseiten und die Ausgaben der Hilfsprogramme
+ gerne in seiner Landessprache haette, aber diese nicht vorfindet, ist
+ aufgefordert, eine UEbersetzung anzufertigen und sie dem Autor
+ zuzusenden, damit spaetere Versionen davon profitieren koennen.
+
+ Die anderen Eigenschaften und Erweiterungen von man sind in den
+ beiliegenden Dokumenten beschrieben. Einen umfassenden Einblick in die
+ mandb zugrundeliegenden Konzepte sind in der Dokumentation man-db-2.3 -
+ the database cached manual pager suite beschrieben. Die Dokumentation
+ sollte auf denselben Server wie das mandb- Paket selbst zu finden sein.
+
+NNOORRMMAALLEEIINNSSTTEELLLLUUNNGGEENN
+ man sucht nach der gewueschten Manualseite in der Indexdatenbank. Wenn
+ die Suche fehlschlaegt, wird ein Konsistenztest durchgefuehrt, um die
+ korrekte Wiedergabe des Dateisystems zu sichern. Nachdem die Daten-
+ banken erzeugt wurden, ist es i. A. nicht notwendig, mandb zu starten,
+ es sei denn, die Datenbank wurde verfaelscht.
+
+ Wenn eine Manualseite gefunden wurde, wird getestet, ob dazu bereits
+ eine vorformatierte cat-Seite existiert und diese neuer als die nroff-
+ Datei ist. In diesem Fall wird die vorformatierte Datei dekomprimiert
+ und mit einem Browser angezeigt. Die Auswahl des Browsers kann auf
+ unterschiedliche Weise erfolgen (fuer Details siehe -P Option). Wenn
+ keine cat-Seite gefunden wird oder wenn sie aelter als die nroff-Datei
+ ist, wird die nroff-Datei durch diverse Programme gefiltert und
+ entweder sofort angezeigt oder zuerst als komprimierte cat-Datei gespe-
+ ichert und dann angezeigt.
+
+ Eine cat-Datei wird erzeugt, wenn ein relatives cat-Verzeichnis
+ existiert und man dort das Schreibrecht hat.
+
+ Die Filter werden in mehreren Schritten zusammengestellt: Zuerst wird
+ die Kommandozeilen-Option -p oder die Umgebungsvariable $MANROFFSEQ
+ untersucht. Wenn -p nicht benutzt wird und die Umgebungsvariable nicht
+ gesetzt ist, wird die Anfangszeile der nroff-Datei nach einer Zeichen-
+ kette fuer den Praeprozessor untersucht. Eine solche Praeprozessor-
+ Zeichenkette muss folgendes Aussehen haben:
+
+ '\" <Zeichenkette>
+
+ wobei Zeichenkette jede Kombination von Buchstaben sein kann, die unter
+ Option -p weiter unten beschrieben sind.
+
+ Wenn keine der obigen Methoden eine Filter-Information enthaelt, wird
+ tbl als Default verwendet.
+
+ Als primaerer Formatierer wird entweder nroff, troff oder groff ges-
+ tartet.
+
+OOPPTTIIOONNEENN
+ Eine Argumentoption, die entweder in der Kommandozeile, in $$MMAANNOOPPTT oder
+ in beiden doppelt vorkommt , ist nicht schaedlich. Fuer Optionen, die
+ ein Argument benötigen, überschreibt jedes Duplikat den vorhergehenden
+ Wert.
+
+ --ll, ----llooccaall--ffiillee
+ Aktiviert den lokalen Modus. Formatiert und zeigt lokale
+ Manualdateien an, anstatt die System-Manualsammlung zu
+ durchsuchen. Jedes Manualseiten-Argument wird als nroff-Quelle
+ im richtigen Format interpretiert. Komprimierte
+ nroff-Quelldateien mit einer unterstuetzten
+ Kompressions-Erweiterung werden von man dekom- primiert,
+ bevor sie ueber den ueblichen Filter angezeigt werden. Es wird
+ keine cat-Datei erzeugt. Wenn eines der Argumente -- ist, wird
+ die Eingabe von der Standardeingabe uebernommen.
+
+ --LL_ _l_o_c_a_l_e,  ----llooccaallee==_l_o_c_a_l_e
+ Normalerweise bestimmt man die aktuelle locale durch einen
+ Aufruf der C Funktion setlocale (3), die diverse Umgebungsvari-
+ ablen, darunter u. U. $LC_MESSAGES und $LANG untersucht. Diese
+ Funktion kann dazu verwendet werden, kurzzeitig den so gefunde-
+ nen Wert zu ueberschreiben. Dazu kann diese Option mit einer
+ Zeichenkette, die die temporaere locale enthaelt, angegeben wer-
+ den. Man beachte, dass dieser Effekt erst beim konkreten Suchen
+ der Seite in Erscheinung tritt. Daher werden Ausgaben wie die
+ Hilfeseite immer in der urspruenglichen Sprache ausgegeben.
+
+ --DD, ----ddeeffaauulltt
+ Diese Option wird normalerweise nur als allererste angegeben und
+ setzt das Verhalten von man in allen Belangen wieder zum Nor-
+ malverhalten zurueck. Der Zweck dieser Option ist es, Optionen
+ wieder rueckgaengig zu machen, die bereits in der Umgebungsvari-
+ able $MANOPT gesetzt sind. Alle Optionen, die -D folgen, haben
+ wieder ihren gewohnten Effekt.
+
+ --MM_ _P_f_a_d,  ----mmaannppaatthh==_P_f_a_d
+ Ermoeglicht es, einen alternativen Manualpfad anzugeben.
+ Normalerweise verwendet man dieselben Methoden wie in manpath,
+ um den Suchpfad zu ermitteln. Diese Option ueberschreibt die
+ Umgebungsvariable $$MMAANNPPAATTHH.
+
+ --PP_ _P_a_g_e_r,  ----ppaaggeerr==_P_a_g_e_r
+ Gibt an, welcher Pager verwendet wird. Die Normaleinstellung ist
+ pager-s. Diese Option ueberschreibt die Umgebungsvariable
+ $$PPAAGGEERR und wird nicht in Zusammenhang mit -f oder -k verwendet.
+
+ --rr_ _P_r_o_m_p_t,  ----pprroommpptt==_P_r_o_m_p_t
+ Wenn eine hinreichend neue Version von less als Pager verwendet
+ wird, versucht man dort einige sinnvolle Optionen zu setzen. Die
+ Eingabeaufforderung in der letzten Zeile sieht in dem Fall so
+ aus:
+ Manual page name(sec) line x,
+
+ wobei name die Manualseite bezeichnet, die gerade angezeigt
+ wird, sec der Abschnitt ist, in dem sie gefunden wurde, und x
+ die aktuelle Zeilennummer ist. Diese Anzeige wird durch
+ Verwendung der Umgebungsvariable $$LLEESSSS erreicht. Man beachte,
+ dass einzelne Bezeichnungen sich bei der Verwendung von
+ landessprachlichen Meldungen ändern koennen. Die Option --rr
+ ermöglicht es, durch Angabe einer Formatierungszeichenkette,
+ das Ausgabeformat selbst zu bestimmen. Wenn diese Zeichenkette
+ $$MMAANN__PPNN enthält, wird dieser Text durch den Namen der
+ Manualseite gefolgt von der Abschnittsnummer in runden Klammern
+ ersetzt. Die Zeichenkette, die im Normalfall verwendet wird
+ ist:
+
+ \ Manual\ page\ \$MAN_PN\ ?ltline\ %lt?L/%L.:
+ byte\ %bB?s/%s..?\ (END):?pB %pB\\%..
+
+ Die zweizeilige Darstellung wurde nur der besseren Lesbarkeit
+ wegen gewählt. Nähere Informationen liefert less(1). Da die
+ Zeichenkette zuerst vom Kommandointerpreter ausgewertet wird,
+ muessen entsprechende Zeichen durch einen Backslash geschützt
+ werden. Weitere Optionen für less koennen nach einem
+ geschützten $$ am Ende der Zeichenkette hinzugefügt werden. Der
+ Default ist hier --iixx88.
+
+ --SS_ _L_i_s_t_e,  ----sseeccttiioonnss==_L_i_s_t_e
+ Eine durch Doppelpunkte getrennte Liste von Abschnitten
+ definiert bei Benutzung dieser Option die Reihenfolge, in der
+ die Abschnitte durchsucht werden. Diese Option ueberschreibt die
+ Umgebungsvariable $MANSECT.
+
+ --aa, ----aallll
+ Wird eine Manualseite in einem Abschnitt gefunden, so terminiert
+ man nach Anzeige dieser Seite. Wird jedoch diese Option
+ angegeben, so werden alle passenden Manualseiten nacheinander
+ angezeigt.
+
+ --cc, ----ccaattmmaann
+ Diese Option ueberprueft nur, ob die zur angegebenen Manualseite
+ passende cat-Seite aktuell ist und erzeugt ggf. eine neue. Es
+ wird dabei nichts angezeigt.
+
+ --dd, ----ddeebbuugg
+ Bei dieser Option werden keine Manualseiten angezeigt, sondern
+ nur eine Menge von Diagnoseinformation.
+
+ --ee_ _E_r_w_e_i_t_e_r_u_n_g,  ----eexxtteennssiioonn==_E_r_w_e_i_t_e_r_u_n_g
+ Einige Systeme enthalten grosse Pakete an Manualseiten, wie
+ z.B. in dem Tcl Paket, die in die normalen Manualabschnitte
+ integriert werden. Um beispielsweise das Problem zweier
+ unterschiedlicher Manualseiten mit gleichem Namen, wie exit(3),
+ zu lösen, wurden früher alle Tcl Seiten dem Abschnitt l
+ zugeordnet. Dieses erwies sich als keine gute Lösung. Bei
+ dieser Version von man ist es möglich, die Seiten in die
+ richtigen Abschnitte einzuordnen und ihrem Seitennamen eine
+ spezifische Erweiterung, hier z. B. exit(3tcl) anzuhängen.
+ Unter normalen Umständen zeigt man bevorzugt exit(3) gegenüber
+ exit(3tcl) an. Um dieses Verhalten umzukehren, ist man
+ die Zeichenkette Erweiterung zu übergeben, die angibt, in
+ welchem Paket die Manualseite zu finden ist. Im obigen Fall
+ beschränkt man seine Suche auf Seiten mit der Erweiterung
+ **ttccll, wenn es mit --ee ttccll aufgerufen wurde. Die Suche wird dabei
+ in allen Abschnitten durchgeführt.
+
+ --ff, ----wwhhaattiiss
+ Diese Option ist das AEquivalent zu whatis. Es wird eine
+ Kurzbeschreibung der gewuenschten Manualseite angezeigt, wenn
+ sie gefunden wurde. Zu Details siehe whatis(1). Mit dieser
+ Option ist nur eine Standardsuche moeglich. Verbesserte Such-
+ moeglichkeiten bieten die Optionen von whatis.
+
+ --kk, ----aapprrooppooss
+ Diese Option ist das AEquivalent zu apropos. Es werden die
+ Kurzbeschreibungen zu allen Manualseiten nach dem angegebenen
+ Stichwort durchsucht. Zu Details siehe apropos(1). Mit dieser
+ Option ist nur eine Standardsuche moeglich. Verbesserte Such-
+ moeglichkeiten bieten die Optionen von apropos.
+
+ --mm SSyysstteemm[[,,......]],, ----ssyysstteemmss==SSyysstteemm[[,,......]]
+ Wenn auch Manualseiten von einem anderen Betriebssystem instal-
+ liert sind, so kann auf sie mit dieser Option zugegriffen wer-
+ den. Um beispielsweise die Manualseiten von NewOS zu durch-
+ suchen, muss -m NewOS angegeben werden.
+
+ Das angegebene System kann eine durch Kommata abgetrennte Aufza-
+ ehlung von Betriebssystemnamen sein. Die normalen Seiten werden
+ durch den Betriebssystemnamen man angesprochen. Diese Option
+ ueberschreibt die Umgebungsvariable $SYSTEM.
+
+ --pp_ _Z_e_i_c_h_e_n_k_e_t_t_e,  ----pprreepprroocceessssoorr==_Z_e_i_c_h_e_n_k_e_t_t_e
+ Diese Option gibt die Reihenfolge an, in der die Praeprozessoren
+ vor nroff oder troff/groff abgearbeitet werden. Nicht alle
+ Installationen haben notwendigerweise alle Praeprozessoren.
+ Einige der Praeprozessoren und die Zeichen, um sie zu repraesen-
+ tieren, sind: eqn (e), grap (g), pic (p), tbl (t), vgrind (v),
+ refer (r). Diese Option ueberschreibt die Umgebungsvariable
+ $MANROFFSEQ. Der Praeprozessor zsoelim wird immer als erster
+ gestartet.
+
+ --uu, ----uuppddaattee
+ Die Indexdatenbanken werden immer waehrend des laufenden
+ Betriebes auf neuestem Stand gehalten, was insbesondere
+ bedeutet, dass mandb nicht benoetigt wird, um sie konsistent zu
+ halten. Wenn die ausgewaehlte Manualseite nicht im Index gefun-
+ den wurde oder die -a Option verwendet wurde, macht man einen
+ Konsistenztest auf Verzeichnisebene, um sicherzustellen, dass
+ der Index immer noch eine gueltige Repraesentation der Manual-
+ seiten im Dateisystem darstellt. Wenn dieser Test auf Inode-
+ Ebene durchgefuehrt werden soll, muss man die Option -u
+ benutzen.
+
+ --tt, ----ttrrooffff
+ Mit dieser Option wird groff -mandoc verwendet, um die Manual-
+ seite zu formatieren und an die Standardausgabe zu liefern. Im
+ Zusammenhang mit -T oder -Z ist diese Option nicht noetig.
+
+ --TT FFoorrmmaatt,, ----ttrrooffff--ddeevviiccee [[==FFoorrmmaatt]]
+ Diese Option wird dazu verwendet, um das Ausgabeformat von groff
+ (oder moeglicherweise troff) zu aendern. Diese Option impliziert
+ die Angabe von -t. Verfuegbare Ausgabeformate (von Groff-1.17)
+ beinhalten dvi, latin1, ps, utf8, X75 und X100.
+
+ --ZZ, ----ddiittrrooffff
+ Das traditionelle troff erzeugt ditroff. groff startet
+ zunaechst troff und leitet danach dessen Ausgabe an einen fuer
+ das gewaehlte Ausgabeformat geeigneten Postprozessor weiter.
+ Wenn groff -mandoc groff ist, zwingt diese Option groff dazu,
+ traditionelles troff zu emulieren und impliziert -t, andernfalls
+ wird es ignoriert.
+
+ --ww, ----wwhheerree, ----llooccaattiioonn
+ Zeigt nicht die Manualseiten, sondern die Position der Dateien
+ im Dateisystem an, die formatiert oder angezeigt wuerden. Wenn
+ die Datei eine cat-Seite ist, wird auch der Ort ihrer nroff-
+ Quelldatei angezeigt.
+
+ --hh, ----hheellpp
+ Zeigt einen Hilfstext an.
+
+ --VV, ----vveerrssiioonn
+ Zeigt Programmversion und Autor an.
+
+UUMMGGEEBBUUNNGG
+
+ MMAANNPPAATTHH
+ Wenn $MANPATH gesetzt ist, wird dessen Wert als Suchpfad fuer
+ die Manualseiten benutzt.
+
+ MMAANNRROOFFFFSSEEQQ
+ Wenn $MANROFFSEQ gesetzt ist, wird dessen Wert benutzt, um die
+ Abfolge der Praeprozessoren zu bestimmen, die jede Manualseite
+ vor nroff oder troff durchlaeuft. Als Default durchlaufen die
+ Seiten den tbl (t) Praeprozessor.
+
+ MMAANNSSEECCTT
+ Wenn der Wert von $MANSECT eine durch Doppelpunkte getrennte
+ Liste von Abschnitten ist, wird dieser Wert dazu benutzt, um die
+ zu durchsuchenden Abschnitte und deren Reihenfolge zu bestimmen.
+
+ PPAAGGEERR WWeennnn $$PPAAGGEERR ggeesseettzztt iisstt,, wwiirrdd ddiieesseess PPrrooggrraammmm zzuurr AAnnzzeeiiggee
+ benutzt. Default ist pager -s.
+
+ SSYYSSTTEEMM WWeennnn $$SSYYSSTTEEMM ggeesseettzztt iisstt,, hhaatt ddiieess ddeenn gglleeiicchheenn EEffffeekktt wwiiee ddiiee
+ Option -m System wobei System als Inhalt der Umgebungsvariable
+ $SYSTEM benutzt wird.
+
+ MMAANNOOPPTT WWeennnn $$MMAANNOOPPTT ggeesseettzztt iisstt,, wwiirrdd ddeerr WWeerrtt ddiieesseerr VVaarriiaabblleenn vvoorr ddeerr
+ man Kommandozeile durchsucht und abgearbeitet. Wie auch alle
+ anderen Umgebungsvariablen, die als Kommandozeilen-Optionen aus-
+ gedrueckt werden koennen, ist es moeglich, den Inhalt von
+ $MANOPT durch die Kommandozeile zu ueberschreiben. Alle Leerze-
+ ichen, die Teil eines Argumentes sind, muessen gequotet werden.
+
+ LLAANNGG,, LLCC__MMEESSSSAAGGEESS
+ Abhaengig von System und Implementation werden entweder $LANG
+ oder $LC_MESSAGES oder beide nach der gegenwaertigen locale
+ Information durchsucht. man wird (wenn moeglich) seine
+ Nachrichten in dieser locale anzeigen. Fuer Details siehe
+ setlocale(3).
+
+DDAATTEEIIEENN
+
+ //eettcc//mmaannppaatthh..ccoonnffiigg
+ Die Manualkonfigurationsdatei.
+
+ //uussrr//......//mmaann
+ Globale Manualhierarchien.
+
+ //vvaarr//ccaattmmaann//......//iinnddeexx..((bbtt||ddbb||ddiirr||ppaagg))
+ Die FSSTND complianten globalen Indexdatenbanken.
+
+SSIIEEHHEE AAUUCCHH
+ mandb(8), manpath(1), manpath(5), apropos(1), whatis(1), catman(8),
+ less(1), nroff(1), troff(1), groff(1), zsoelim(1), setlocale(3),
+ man(7), ascii(7), latin1(7).
+
+FFEEHHLLEERR
+ Die Option -t funktioniert nur, wenn ein troff-aehnliches Programm
+ installiert ist.
+
+ Die Option -e funktioniert momentan nur in Manualhierarchien, fuer die
+ mit mandb eine Indexdatenbank erzeugt wurde.
+
+ Manualseiten, die die erweiterte Darstellung im Zusammenhang mit der
+ Option -e unterstuetzen, duerfen keinen Punkt beinhalten, denn sonst
+ werden diese Seiten als fehlerhaft zurueckgewiesen.
+
+GGEESSCCHHIICCHHTTEE
+ 1990, 1991 - Originale geschrieben von John W. Eaton
+ (_j_w_e_@_c_h_e_._u_t_e_x_a_s_._e_d_u).
+
+ 23. Dez. 1992: Fehlerbereinigung durch Rik Faith (_f_a_i_t_h_@_c_s_._u_n_c_._e_d_u)
+ unterstützt durch Willem Kasdorp (_w_k_a_s_d_o_@_n_i_k_h_e_f_k_._n_i_k_e_f_._n_l).
+
+ Zwischen dem 30. April 1994 und dem 23. Februar 2000 hat Wilf
+ (_G_._W_i_l_f_o_r_d_@_e_e_._s_u_r_r_e_y_._a_c_._u_k) unter Mithilfe von einigen wenigen
+ engagierten Menschen dieses Paket entwickelt und weitergeführt.
+
+ Die deutsche Übersetzung wurde von Anke Steuernagel
+ (_a___s_t_e_u_e_r_@_i_n_f_o_r_m_a_t_i_k_._u_n_i_-_k_l_._d_e) und Nils Magnus
+ (_m_a_g_n_u_s_@_i_n_f_o_r_m_a_t_i_k_._u_n_i_-_k_l_._d_e) angefertigt.
+
+ Für persönliche Würdigungen und Zusätze siehe Quelltexte.
+
+2.5.1 2008-01-28 MAN(1)
diff --git a/sandbox/manpage-writer/expected-mandoc/optionslisttest.man b/sandbox/manpage-writer/expected-mandoc/optionslisttest.man
new file mode 100644
index 000000000..fb50c718d
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/optionslisttest.man
@@ -0,0 +1,196 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "OPTIONLISTTEST" 1 "2008-04-29" "" ""
+.SH NAME
+OptionlistTest \- Test for correct intention/detention of option lists
+.\" -*- mode: rst -*-
+.
+.SH DESCRIPTION
+.sp
+After an option list:
+.INDENT 0.0
+.IP \(bu 2
+a paragraph within the same section must be intented
+.IP \(bu 2
+a section header directly following the list must \fInot\fP be
+intentend.
+.UNINDENT
+.sp
+This file tests this.
+.SH OPTIONS
+.sp
+This line must be in indented.
+.INDENT 0.0
+.TP
+.BI \-o \ x
+an option
+.TP
+.B \-b
+another
+.sp
+This option does the following points:
+.INDENT 7.0
+.IP \(bu 2
+one point
+.IP \(bu 2
+second point
+.INDENT 2.0
+.INDENT 3.5
+.INDENT 0.0
+.TP
+.B \-\-ccc
+option lists may be nested, even if this is rarely
+used.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.TP
+.B \-k
+and even another
+.sp
+This option does the following points:
+.INDENT 7.0
+.IP \(bu 2
+one point
+.IP \(bu 2
+second point
+.UNINDENT
+.UNINDENT
+.sp
+For all other options see \fB\-\-help\fP\&. This line must be intented.
+.SH MORE OPTIONS
+.INDENT 0.0
+.TP
+.BI \-o \ x
+an option
+.TP
+.B \-b
+another
+.TP
+.BI \-m \ MESSAGE\fR,\fB \ \-\-message\fB= MESSAGE
+The message to display (beaware of \fB,\fP)
+.UNINDENT
+.SH EXAMPLES
+.sp
+The \(dqExamples\(dq section header must not be intented. But this paragraph
+is indented, as all text in man\-pages. This is level 0.
+.INDENT 0.0
+.IP \(bu 2
+Now let\(aqs test nested lists.
+.sp
+Line indented once. This is level 1.
+.INDENT 2.0
+.IP \(bu 2
+Nested item1.
+.IP \(bu 2
+Nested item2.
+.IP \(bu 2
+Nested item3.
+.sp
+Line for Nested item 3.
+.IP \(bu 2
+Nested item4.
+.UNINDENT
+.sp
+Paragraph at level 1. Same level as Line indented once.
+.UNINDENT
+.sp
+This paragraph should be at level 0.
+.SH EMPHASIZE
+.INDENT 0.0
+.TP
+.B plain text term
+definition paragraph 1
+.sp
+definition paragraph 2
+.TP
+.B term with \fIemphasis\fP in it
+paragraph 1 should not be preceeded by a blank line
+.sp
+definition paragraph 2
+.UNINDENT
+.SH DEFINITION LIST
+.INDENT 0.0
+.TP
+.B term1
+Description of Term 1 Description of Term 1 Description of Term 1
+Description of Term 1 Description of Term 1
+.sp
+Description of Term 1 Description of Term 1 Description of Term 1
+Description of Term 1 Description of Term 1
+.TP
+.B term1111111111
+Description of Term 1 Description of Term 1 Description of Term 1
+Description of Term 1 Description of Term 1
+.sp
+Description of Term 1 Description of Term 1 Description of Term 1
+Description of Term 1 Description of Term 1
+.TP
+.B term2
+Description of Term 2
+.INDENT 7.0
+.INDENT 3.5
+Description of Term 2 Description of Term 2 Description of Term 2
+Description of Term 2 Description of Term 2
+.sp
+Description of Term 2 Description of Term 2 Description of Term 2
+Description of Term 2 Description of Term 2
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.TP
+.B term22
+Defintions lists may be nested, thus this at level 1.
+.sp
+More Description of Term 22. More Description of Term 22.
+More Description of Term 22. More Description of Term 22.
+.TP
+.B term23
+Defintions lists may be nested, thus this at level 1.
+.UNINDENT
+.sp
+This para is indented to term2, thus should be at level 1.
+.sp
+This para is indented to term2, thus should be at level 1.
+.TP
+.B term3
+Defintions lists are not nested
+.sp
+More Description for term3.
+.UNINDENT
+.sp
+This paragraph should be at level 0 again.
+.SH AUTHOR
+h.goebel@goebel-consult.de
+.SH COPYRIGHT
+public domain
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/optionstoo.man b/sandbox/manpage-writer/expected-mandoc/optionstoo.man
new file mode 100644
index 000000000..fb8c08d0a
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/optionstoo.man
@@ -0,0 +1,73 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "REGRESSION-380" "" "" ""
+.SH NAME
+regression-380 \- regression test for BUG#380
+.sp
+#380 manpage writer does not add space after .B
+.sp
+\&... somewhere in the sphinx pipeline something is ... failing
+.sp
+Maybe the \fBinstall\fP subparser is a problem.
+.sp
+Input extracted with standard argparse \-\-\-
+.sp
+usage: tmpmain.py [\-h] [\-\-general GENERAL] foo bar {install} ...
+.INDENT 0.0
+.TP
+.B positional arguments:
+foo foo help
+bar
+{install}
+.IP "System Message: ERROR/3 (input/optionstoo.txt:, line 23)"
+Unexpected indentation.
+.INDENT 7.0
+.INDENT 3.5
+install install help
+.UNINDENT
+.UNINDENT
+.TP
+.B optional arguments:
+.INDENT 7.0
+.TP
+.B \-h\fP,\fB \-\-help
+show this help message and exit
+.TP
+.BI \-\-general \ GENERAL\fR,\fB \ \-G \ GENERAL
+General option
+.TP
+.BI \-o \ FILE\fR,\fB \ \-\-ouput \ FILE
+output file
+.UNINDENT
+.UNINDENT
+.sp
+NOTE \(dqshow\(dq \(dqGeneral\(dq and \(dqoutput\(dq on same column.
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/optionstoo.ps b/sandbox/manpage-writer/expected-mandoc/optionstoo.ps
new file mode 100644
index 000000000..c882b80f4
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/optionstoo.ps
@@ -0,0 +1,155 @@
+%!PS-Adobe-3.0
+%%DocumentData: Clean7Bit
+%%Orientation: Portrait
+%%Pages: (atend)
+%%PageOrder: Ascend
+%%DocumentMedia: man-Letter 612 790 0 () ()
+%%DocumentNeededResources: font Times-Roman Times-Bold Times-Italic Times-BoldItalic
+%%DocumentSuppliedResources: procset MandocProcs 1.0 0
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset MandocProcs 10170 10170
+/fs 11 def
+/f0 { /Times-Roman fs selectfont } def
+/f1 { /Times-Bold fs selectfont } def
+/f2 { /Times-Italic fs selectfont } def
+/f3 { /Times-BoldItalic fs selectfont } def
+/s { 3 1 roll moveto show } bind def
+/c { exch currentpoint exch pop moveto show } bind def
+%%EndResource
+%%EndProlog
+%%BeginSetup
+%%BeginFeature: *PageSize Letter
+<</PageSize [612 790]>>setpagedevice
+%%EndFeature
+%%EndSetup
+%%Page: 1 1
+f1
+68.024 702.988(NAME)s
+f0
+87.274 687.599(regression-380)s
+155.397(-)c
+161.810(regression)c
+209.770(test)c
+227.799(for)c
+243.375(BUG#380)c
+87.274 656.821(#380)s
+112.024(manpage)c
+154.484(writer)c
+183.502(does)c
+206.415(not)c
+223.223(add)c
+241.857(space)c
+269.038(after)c
+291.940(.B)c
+87.274 626.043(...)s
+98.274(somewhere)c
+151.118(in)c
+162.426(the)c
+178.618(sphinx)c
+210.705(pipeline)c
+248.897(something)c
+297.484(is)c
+307.571(...)c
+318.571(failing)c
+87.274 595.265(Maybe)s
+120.571(the)c
+f1
+136.763(install)c
+f0
+168.245(subparser)c
+213.147(is)c
+223.234(a)c
+230.868(problem.)c
+87.274 564.487(Input)s
+113.245(extracted)c
+156.310(with)c
+178.618(standard)c
+218.636(argparse)c
+258.643(---)c
+87.274 533.709(usage:)s
+118.129(tmpmain.py)c
+173.745([-h])c
+192.984([--general)c
+239.096(GENERAL])c
+296.835(foo)c
+314.248(bar)c
+331.045({install})c
+371.250(...)c
+f1
+87.274 502.931(positional)s
+135.872(arguments:)c
+f0
+106.524 487.542(foo)s
+173.437(foo)c
+190.850(help)c
+212.542(bar)c
+229.339({install})c
+87.274 456.764(System)s
+122.419(Message:)c
+166.716(ERROR/3)c
+214.698(\(input/optionstoo.txt:,)c
+313.412(line)c
+332.662(23\))c
+106.524 441.375(Unexpected)s
+161.810(indentation.)c
+145.024 425.986(install)s
+207.669(install)c
+237.314(help)c
+f1
+87.274 395.208(optional)s
+128.535(arguments:)c
+125.774 364.430(-h)s
+f0
+135.553(,)c
+f1
+141.053(--help)c
+f0
+145.024 349.041(show)s
+170.995(this)c
+189.640(help)c
+211.332(message)c
+251.350(and)c
+269.984(exit)c
+f1
+125.774 318.263(--general)s
+f2
+170.676(GENERAL)c
+f0
+218.955(,)c
+f1
+224.455(-G)c
+f2
+239.426(GENERAL)c
+f0
+145.024 302.874(General)s
+182.589(option)c
+f1
+125.774 272.096(-o)s
+f2
+137.687(FILE)c
+f0
+160.908(,)c
+f1
+166.408(--ouput)c
+f2
+203.995(FILE)c
+f0
+145.024 256.707(output)s
+175.890(file)c
+118.415 225.929(NOTE)s
+150.491("show")c
+185.438("General")c
+231.979(and)c
+250.613("output")c
+290.455(on)c
+304.205(same)c
+329.560(column.)c
+f0
+68.024 739.233(REGRESSION-380\(\))s
+448.932(REGRESSION-380\(\))c
+448.932 36.245(REGRESSION-380\(\))s
+showpage
+%%Trailer
+%%Pages: 1
+%%EOF
diff --git a/sandbox/manpage-writer/expected-mandoc/quotes.man b/sandbox/manpage-writer/expected-mandoc/quotes.man
new file mode 100644
index 000000000..24659e414
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/quotes.man
@@ -0,0 +1,44 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "" "" "" ""
+.SH NAME
+ \-
+a problem with double quotes not being rendered in the
+term of an rst definition list in the mpv documentation:
+.sp
+because the doublequotes make \fBFilename: ${filename}\fP one argument to
+the \fB\&.B\fP bold macro.
+.INDENT 0.0
+.TP
+.B i show\-text \(dqFilename: ${filename}\(dq
+shows the filename of the current file when pressing the \fBi\fP key
+.UNINDENT
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/quotes.ps b/sandbox/manpage-writer/expected-mandoc/quotes.ps
new file mode 100644
index 000000000..2c58878d1
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/quotes.ps
@@ -0,0 +1,95 @@
+%!PS-Adobe-3.0
+%%DocumentData: Clean7Bit
+%%Orientation: Portrait
+%%Pages: (atend)
+%%PageOrder: Ascend
+%%DocumentMedia: man-Letter 612 790 0 () ()
+%%DocumentNeededResources: font Times-Roman Times-Bold Times-Italic Times-BoldItalic
+%%DocumentSuppliedResources: procset MandocProcs 1.0 0
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset MandocProcs 10170 10170
+/fs 11 def
+/f0 { /Times-Roman fs selectfont } def
+/f1 { /Times-Bold fs selectfont } def
+/f2 { /Times-Italic fs selectfont } def
+/f3 { /Times-BoldItalic fs selectfont } def
+/s { 3 1 roll moveto show } bind def
+/c { exch currentpoint exch pop moveto show } bind def
+%%EndResource
+%%EndProlog
+%%BeginSetup
+%%BeginFeature: *PageSize Letter
+<</PageSize [612 790]>>setpagedevice
+%%EndFeature
+%%EndSetup
+%%Page: 1 1
+f1
+68.024 702.988(NAME)s
+f0
+90.024 687.599(-)s
+96.437(a)c
+104.071(problem)c
+143.484(with)c
+165.792(double)c
+198.484(quotes)c
+229.955(not)c
+246.763(being)c
+273.955(rendered)c
+315.183(in)c
+326.491(the)c
+342.683(term)c
+365.596(of)c
+377.509(an)c
+390.643(rst)c
+404.393(definition)c
+449.922(list)c
+466.125(in)c
+477.433(the)c
+493.625(mpv)c
+87.274 672.210(documentation:)s
+87.274 641.432(because)s
+124.839(the)c
+141.031(doublequotes)c
+202.444(make)c
+f1
+229.020(Filename:)c
+278.817(${filename})c
+f0
+336.061(one)c
+354.695(argument)c
+398.992(to)c
+410.300(the)c
+f1
+426.492(.B)c
+f0
+439.329(bold)c
+461.637(macro.)c
+f1
+87.274 610.654(i)s
+93.082(show-text)c
+141.042("Filename:)c
+196.944(${filename}")c
+f0
+106.524 595.265(shows)s
+136.774(the)c
+152.966(filename)c
+194.205(of)c
+206.118(the)c
+222.310(current)c
+256.212(file)c
+273.625(when)c
+300.201(pressing)c
+339.614(the)c
+f1
+355.806(i)c
+f0
+361.614(key)c
+f0
+68.024 739.233(\(\))s
+536.932(\(\))c
+536.932 36.245(\(\))s
+showpage
+%%Trailer
+%%Pages: 1
+%%EOF
diff --git a/sandbox/manpage-writer/expected-mandoc/quotes.utf8 b/sandbox/manpage-writer/expected-mandoc/quotes.utf8
new file mode 100644
index 000000000..d0f8da116
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/quotes.utf8
@@ -0,0 +1,13 @@
+() ()
+
+NNAAMMEE
+ - a problem with double quotes not being rendered in the term of an
+ rst definition list in the mpv documentation:
+
+ because the doublequotes make FFiilleennaammee:: $${{ffiilleennaammee}} one argument to the
+ ..BB bold macro.
+
+ ii sshhooww--tteexxtt ""FFiilleennaammee:: $${{ffiilleennaammee}}""
+ shows the filename of the current file when pressing the ii key
+
+ ()
diff --git a/sandbox/manpage-writer/expected-mandoc/references.man b/sandbox/manpage-writer/expected-mandoc/references.man
new file mode 100644
index 000000000..f1453231c
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/references.man
@@ -0,0 +1,39 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "REFERENCE TESTS" "" "" ""
+.SH NAME
+reference tests \- some tests for references in man pages
+.sp
+See \fI\%https://docutils.sourceforge.io/docs/user/rst/quickref.html#explicit\-markup\fP
+for more
+.sp
+External hyperlinks, like \fI\%Python\fP\&.
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/test.man b/sandbox/manpage-writer/expected-mandoc/test.man
new file mode 100644
index 000000000..8960bc975
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/test.man
@@ -0,0 +1,465 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "RST2MAN" 1 "2009-06-22" "0.0.1" "text processing"
+.SH NAME
+rst2man \- generate unix manpages from reStructured text
+.\" TODO: authors and author with name <email>
+.
+.SH SYNOPSIS
+.sp
+\fBrst2man\fP \fB\-\-help\fP
+.sp
+\fBrst2man\fP [ OPTIONS ] [ SOURCE [ \fIdestination\fP ] ]
+.SH DESCRIPTION
+.sp
+Run it and examine output.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.BI \-o \ x
+an option
+.TP
+.B \-b
+another
+.TP
+.B \-f\fP,\fB \-\-force
+really do it
+.UNINDENT
+.sp
+For all other options see \fB\-\-help\fP\&.
+.SH EXAMPLES
+.INDENT 0.0
+.TP
+.B rst2man.py xml\-schema\-catalog.rst xml\-schema\-catalog.man
+create a manpage from xml\-schema\-catalog.rst
+.UNINDENT
+.\" comments : lorem ipsum lorem ipsum
+.\" lorem ipsum lorem ipsum
+.
+.SS Character formatting
+.sp
+\fIBUG\fP The section title should be separated from the title above.
+.sp
+Test \fBbold\fP or \fBstrong\fP formatting.
+.sp
+Special characters:
+.INDENT 0.0
+.IP \(bu 2
+backslash: \e
+.IP \(bu 2
+hyphen: \-
+.IP \(bu 2
+accents: \' \(ga
+.IP \(bu 2
+quotes: \(aq \(dq
+.UNINDENT
+.sp
+\&.period ad line start.
+.SS Lists
+.INDENT 0.0
+.IP \(bu 2
+bullet list
+.IP \(bu 2
+and a longer entry, and a longer entry, and a longer entry, and a longer entry,
+and a longer entry, and a longer entry, and a longer entry, and a longer entry,
+.INDENT 2.0
+.IP 1. 4
+and a nested
+.IP 2. 4
+enumeration
+.INDENT 2.0
+.IP \(bu 2
+some line
+.IP \(bu 2
+bullets
+.UNINDENT
+.IP 3. 4
+a third
+.IP 4. 4
+a third
+.IP 5. 4
+a third
+.INDENT 2.0
+.IP a. 3
+alphabetically list
+.IP b. 3
+betacarotin
+.IP c. 3
+grammar
+.UNINDENT
+.IP 6. 4
+a third
+.INDENT 2.0
+.IP Y. 3
+the end
+.IP Z. 3
+yellow
+.UNINDENT
+.IP 7. 4
+a third
+.IP 8. 4
+a third
+.IP 9. 4
+a third
+.IP 10. 4
+bigger indentation if there are more than nine
+enumerated items (or there are larger numbers)
+.sp
+a second paragraph that should be separated from the previous
+one and not flowing into.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.IP 7. 3
+dont start with 1
+.UNINDENT
+.INDENT 0.0
+.IP 9. 3
+dont increment by 1
+.UNINDENT
+.INDENT 0.0
+.IP 13. 4
+Problematic: indentation does not match for nonconsecutive entries.
+.UNINDENT
+.sp
+This paragraph must not be indented with the text the last list\-item,
+but start at the left margin of the numbers.
+.sp
+a second paragraph that should be separated from the previous
+one and not flowing into.
+.SS Definition Lists
+.INDENT 0.0
+.TP
+.B Term
+Definition
+.TP
+.B Term
+classifier
+Definition paragraph 1.
+.sp
+Definition paragraph 2.
+.TP
+.B \&.ini\-files
+Term starting with period.
+.TP
+.B Term
+Definition
+.UNINDENT
+.SS Field lists
+.INDENT 0.0
+.TP
+.B first
+a short label and a short text
+.TP
+.B secondly a longer label
+and some more text and some more text
+and some more text and some more text
+.UNINDENT
+.INDENT 0.0
+.TP
+.B definition lists
+are also a valuable option and simple nonintrusive formatting
+.TP
+.B definition too :
+with the colon.
+.UNINDENT
+.SS Doctest Blocks
+.sp
+.nf
+.ft C
+>>> print \(aqPython\-specific usage examples; begun with \(dq>>>\(dq\(aq
+Python\-specific usage examples; begun with \(dq>>>\(dq
+>>> print \(aq(cut and pasted from interactive Python sessions)\(aq
+(cut and pasted from interactive Python sessions)
+.ft P
+.fi
+.SS Tables
+.TS
+center;
+|l|l|.
+_
+T{
+single
+T} T{
+frame
+T}
+_
+T{
+no table
+header
+T} T{
+T}
+_
+.TE
+.SS lineblock
+.nf
+paul
+tel. 12345
+LA
+.fi
+.sp
+.sp
+A paragraph following the line block.
+lorem ipsum lorem ipsum
+lorem ipsum lorem ipsum
+lorem ipsum lorem ipsum
+lorem ipsum lorem ipsum
+.SS Literal
+.sp
+some literal text
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+here now it starts
+and continues
+ indented
+and back
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and a paragraph after the literal.
+.sp
+some special characters and roff formatting in literal:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&.SS \(dq.\(dq at line start
+backslash \(dq\e\(dq
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Line blocks
+.nf
+This is a line block. It ends with a blank line.
+.in +2
+Each new line begins with a vertical bar (\(dq|\(dq).
+Line breaks and initial indents are preserved.
+.in -2
+Continuation lines are wrapped portions of long lines;
+they begin with a space in place of the vertical bar.
+.in +2
+The left edge of a continuation line need not be aligned with
+the left edge of the text above it.
+.in -2
+.fi
+.sp
+.nf
+This is a second line block.
+
+Blank lines are permitted internally, but they must begin with a \(dq|\(dq.
+.fi
+.sp
+.sp
+Take it away, Eric the Orchestra Leader!
+.INDENT 0.0
+.INDENT 3.5
+.nf
+A one, two, a one two three four
+
+Half a bee, philosophically,
+.in +2
+must, \fIipso facto\fP, half not be.
+.in -2
+But half the bee has got to be,
+.in +2
+\fIvis a vis\fP its entity. D\(aqyou see?
+
+.in -2
+But can a bee be said to be
+.in +2
+or not to be an entire bee,
+.in +2
+when half the bee is not a bee,
+.in +2
+due to some ancient injury?
+
+.in -2
+.in -2
+.in -2
+Singing...
+.fi
+.sp
+.UNINDENT
+.UNINDENT
+.SS raw
+raw input to man
+.SS Admonitions
+.sp
+\fBATTENTION!:\fP
+.INDENT 0.0
+.INDENT 3.5
+Directives at large.
+.UNINDENT
+.UNINDENT
+.sp
+\fBCAUTION!:\fP
+.INDENT 0.0
+.INDENT 3.5
+Don\(aqt take any wooden nickels.
+.UNINDENT
+.UNINDENT
+.sp
+\fB!DANGER!:\fP
+.INDENT 0.0
+.INDENT 3.5
+Mad scientist at work!
+.UNINDENT
+.UNINDENT
+.sp
+\fBERROR:\fP
+.INDENT 0.0
+.INDENT 3.5
+Does not compute.
+.UNINDENT
+.UNINDENT
+.sp
+\fBHINT:\fP
+.INDENT 0.0
+.INDENT 3.5
+It\(aqs bigger than a bread box.
+.UNINDENT
+.UNINDENT
+.sp
+\fBIMPORTANT:\fP
+.INDENT 0.0
+.INDENT 3.5
+.INDENT 0.0
+.IP \(bu 2
+Wash behind your ears.
+.IP \(bu 2
+Clean up your room.
+.IP \(bu 2
+Call your mother.
+.IP \(bu 2
+Back up your data.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This is a note.
+.UNINDENT
+.UNINDENT
+.sp
+\fBTIP:\fP
+.INDENT 0.0
+.INDENT 3.5
+15% if the service is good.
+.UNINDENT
+.UNINDENT
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+Strong prose may provoke extreme mental exertion.
+Reader discretion is strongly advised.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.IP "And, by the way..."
+.sp
+You can make up your own admonition too.
+.sp
+With more than one paragraph.
+.UNINDENT
+.UNINDENT
+.sp
+Text after the admonition.
+.SS other
+.sp
+inline references \fIref something\fP .
+Contained verbose. Nothing special.
+.SH TOP SECTION
+.sp
+With mixed case
+.SH TOP SECTION B C D E F G
+.sp
+with character formatting.
+.SH FILES
+.sp
+This is a file.
+.SH SEE ALSO
+.sp
+\fI\%docutils\fP
+.sp
+\fBrst2xml\fP(dummy)
+.sp
+More information can be found about
+.INDENT 0.0
+.IP \(bu 2
+xml\-schema\-catalog at
+\fI\%http://xml\-schema\-catalog.origo.ethz.ch/\fP
+.UNINDENT
+.sp
+And see the stars at the sky!
+.SH BUGS
+.sp
+Numerous mapping problems.
+.INDENT 0.0
+.IP 1. 3
+Where do we get the manual section number from ? Commandline ?
+.IP 2. 3
+docutils authors should be filled into section \(dqAUTHORS\(dq.
+.IP 3. 3
+be carefull with linebreaks in generated code.
+.IP 4. 3
+list items.
+bullets and enumerators.
+.UNINDENT
+.SH AUTHOR
+grubert@users.sourceforge.net
+
+Organization: humankind
+
+Address:
+.INDENT 0.0
+.INDENT 3.5
+.nf
+123 Example Street
+Example, EX Canada
+A1B 2C3
+.fi
+.UNINDENT
+.UNINDENT
+.SH COPYRIGHT
+public domain
+Behave responsible.
+.\" Generated by docutils manpage writer.
+.
diff --git a/sandbox/manpage-writer/expected-mandoc/test.ps b/sandbox/manpage-writer/expected-mandoc/test.ps
new file mode 100644
index 000000000..c2b05403c
--- /dev/null
+++ b/sandbox/manpage-writer/expected-mandoc/test.ps
@@ -0,0 +1,1024 @@
+%!PS-Adobe-3.0
+%%DocumentData: Clean7Bit
+%%Orientation: Portrait
+%%Pages: (atend)
+%%PageOrder: Ascend
+%%DocumentMedia: man-Letter 612 790 0 () ()
+%%DocumentNeededResources: font Times-Roman Times-Bold Times-Italic Times-BoldItalic
+%%DocumentSuppliedResources: procset MandocProcs 1.0 0
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset MandocProcs 10170 10170
+/fs 11 def
+/f0 { /Times-Roman fs selectfont } def
+/f1 { /Times-Bold fs selectfont } def
+/f2 { /Times-Italic fs selectfont } def
+/f3 { /Times-BoldItalic fs selectfont } def
+/s { 3 1 roll moveto show } bind def
+/c { exch currentpoint exch pop moveto show } bind def
+%%EndResource
+%%EndProlog
+%%BeginSetup
+%%BeginFeature: *PageSize Letter
+<</PageSize [612 790]>>setpagedevice
+%%EndFeature
+%%EndSetup
+%%Page: 1 1
+f1
+68.024 702.988(NAME)s
+f0
+87.274 687.599(rst2man)s
+125.466(-)c
+131.879(generate)c
+171.886(unix)c
+194.194(manpages)c
+240.933(from)c
+265.067(reStructured)c
+322.190(text)c
+f1
+68.024 656.821(SYNOPSIS)s
+87.274 641.432(rst2man)s
+129.129(--help)c
+87.274 610.654(rst2man)s
+f0
+129.129([)c
+135.542(OPTIONS)c
+184.734(])c
+191.147([)c
+197.560(SOURCE)c
+243.705([)c
+f2
+250.118(destination)c
+f0
+301.763(])c
+308.176(])c
+f1
+68.024 579.876(DESCRIPTION)s
+f0
+87.274 564.487(Run)s
+108.361(it)c
+117.227(and)c
+135.861(examine)c
+175.879(output.)c
+f1
+68.024 533.709(OPTIONS)s
+87.274 502.931(-o)s
+f2
+99.187(x)c
+f0
+106.524 487.542(an)s
+119.658(option)c
+f1
+87.274 456.764(-b)s
+f0
+107.140(another)c
+f1
+87.274 425.986(-f)s
+f0
+94.600(,)c
+f1
+100.100(--force)c
+f0
+106.524 410.597(really)s
+134.321(do)c
+148.071(it)c
+118.415 379.819(For)s
+136.444(all)c
+150.194(other)c
+175.549(options)c
+210.694(see)c
+f1
+227.491(--help)c
+f0
+254.991(.)c
+f1
+68.024 349.041(EXAMPLES)s
+87.274 318.263(rst2man.py)s
+143.495(xml-schema-catalog.rst)c
+255.299(xml-schema-catalog.man)c
+f0
+106.524 302.874(create)s
+135.531(a)c
+143.165(manpage)c
+185.625(from)c
+209.759(xml-schema-catalog.rst)c
+f1
+76.274 272.096(Character)s
+127.281(formatting)c
+f2
+87.274 256.707(BUG)s
+f0
+112.629(The)c
+132.484(section)c
+166.397(title)c
+186.263(should)c
+218.350(be)c
+231.484(separated)c
+275.770(from)c
+299.904(the)c
+316.096(title)c
+335.962(above.)c
+87.274 225.929(Test)s
+f1
+108.966(bold)c
+f0
+132.506(or)c
+f1
+144.419(strong)c
+f0
+177.111(formatting.)c
+87.274 195.151(Special)s
+122.408(characters:)c
+87.274 164.373(+)s
+87.626(o)c
+98.978(backslash:)c
+147.554(\\)c
+87.274 133.595(+)s
+87.626(o)c
+98.978(hyphen:)c
+137.170(-)c
+87.274 102.817(+)s
+87.626(o)c
+98.978(accents:)c
+137.159(')c
+143.572(`)c
+f0
+68.024 739.233(RST2MAN\(1\))s
+274.362(text)c
+293.612(processing)c
+480.095(RST2MAN\(1\))c
+68.024 36.245(0.0.1)s
+281.853(2009-06-22)c
+480.095(RST2MAN\(1\))c
+showpage
+%%Page: 2 2
+f0
+87.274 702.988(+)s
+87.626(o)c
+98.978(quotes:)c
+133.507(')c
+139.920(")c
+118.415 672.210(.period)s
+152.020(ad)c
+165.154(line)c
+184.404(start.)c
+f1
+76.274 641.432(Lists)s
+f0
+87.274 610.654(+)s
+87.626(o)c
+98.978(bullet)c
+126.786(list)c
+87.274 579.876(+)s
+87.626(o)c
+98.978(and)c
+117.612(a)c
+125.246(longer)c
+156.101(entry,)c
+184.206(and)c
+202.840(a)c
+210.474(longer)c
+241.329(entry,)c
+269.434(and)c
+288.068(a)c
+295.702(longer)c
+326.557(entry,)c
+354.662(and)c
+373.296(a)c
+380.930(longer)c
+411.785(entry,)c
+439.890(and)c
+458.524(a)c
+466.158(longer)c
+497.013(entry,)c
+525.118(and)c
+98.274 564.487(a)s
+105.908(longer)c
+136.763(entry,)c
+164.868(and)c
+183.502(a)c
+191.136(longer)c
+221.991(entry,)c
+250.096(and)c
+268.730(a)c
+276.364(longer)c
+307.219(entry,)c
+98.274 533.709(1.)s
+120.274(and)c
+138.908(a)c
+146.542(nested)c
+98.274 502.931(2.)s
+120.274(enumeration)c
+109.274 472.153(+)s
+109.626(o)c
+120.978(some)c
+146.949(line)c
+109.274 441.375(+)s
+109.626(o)c
+120.978(bullets)c
+98.274 410.597(3.)s
+120.274(a)c
+127.908(third)c
+98.274 379.819(4.)s
+120.274(a)c
+127.908(third)c
+98.274 349.041(5.)s
+120.274(a)c
+127.908(third)c
+109.274 318.263(a.)s
+125.774(alphabetically)c
+190.234(list)c
+109.274 287.485(b.)s
+125.774(betacarotin)c
+109.274 256.707(c.)s
+125.774(grammar)c
+98.274 225.929(6.)s
+120.274(a)c
+127.908(third)c
+109.274 195.151(Y.)s
+125.774(the)c
+141.966(end)c
+109.274 164.373(Z.)s
+125.774(yellow)c
+98.274 133.595(7.)s
+120.274(a)c
+127.908(third)c
+98.274 102.817(8.)s
+120.274(a)c
+127.908(third)c
+f0
+68.024 739.233(RST2MAN\(1\))s
+274.362(text)c
+293.612(processing)c
+480.095(RST2MAN\(1\))c
+68.024 36.245(0.0.1)s
+281.853(2009-06-22)c
+480.095(RST2MAN\(1\))c
+showpage
+%%Page: 3 3
+f0
+98.274 702.988(9.)s
+120.274(a)c
+127.908(third)c
+98.274 672.210(10.)s
+120.274(bigger)c
+151.129(indentation)c
+203.379(if)c
+212.850(there)c
+237.589(are)c
+253.770(more)c
+279.125(than)c
+300.817(nine)c
+322.509(enumerated)c
+376.574(items)c
+403.161(\(or)c
+418.737(there)c
+443.476(are)c
+459.657(larger)c
+488.059(numbers\))c
+120.274 641.432(a)s
+127.908(second)c
+161.205(paragraph)c
+207.933(that)c
+227.183(should)c
+259.270(be)c
+272.404(separated)c
+316.690(from)c
+340.824(the)c
+357.016(previous)c
+397.650(one)c
+416.284(and)c
+434.918(not)c
+451.726(flowing)c
+488.697(into.)c
+87.274 610.654(7.)s
+103.774(dont)c
+126.082(start)c
+147.774(with)c
+170.082(1)c
+87.274 579.876(9.)s
+103.774(dont)c
+126.082(increment)c
+172.821(by)c
+186.571(1)c
+87.274 549.098(13.)s
+109.274(Problematic:)c
+168.245(indentation)c
+220.495(does)c
+243.408(not)c
+260.216(match)c
+289.850(for)c
+305.426(nonconsecutive)c
+376.607(entries.)c
+118.415 518.320(This)s
+140.723(paragraph)c
+187.451(must)c
+211.596(not)c
+228.404(be)c
+241.538(indented)c
+282.172(with)c
+304.480(the)c
+320.672(text)c
+339.922(the)c
+356.114(last)c
+374.143(list-item,)c
+416.317(but)c
+433.125(start)c
+454.817(at)c
+465.509(the)c
+481.701(left)c
+499.114(margin)c
+533.027(of)c
+118.415 502.931(the)s
+134.607(numbers.)c
+118.415 472.153(a)s
+126.049(second)c
+159.346(paragraph)c
+206.074(that)c
+225.324(should)c
+257.411(be)c
+270.545(separated)c
+314.831(from)c
+338.965(the)c
+355.157(previous)c
+395.791(one)c
+414.425(and)c
+433.059(not)c
+449.867(flowing)c
+486.838(into.)c
+f1
+76.274 441.375(Definition)s
+126.082(Lists)c
+87.274 410.597(Term)s
+f0
+106.524 395.208(Definition)s
+f1
+87.274 364.430(Term)s
+f0
+106.524 349.041(classifier)s
+148.984(Definition)c
+196.955(paragraph)c
+243.683(1.)c
+106.524 318.263(Definition)s
+154.495(paragraph)c
+201.223(2.)c
+f1
+87.274 287.485(.ini-files)s
+f0
+106.524 272.096(Term)s
+133.100(starting)c
+168.850(with)c
+191.158(period.)c
+f1
+87.274 241.318(Term)s
+f0
+106.524 225.929(Definition)s
+f1
+76.274 195.151(Field)s
+102.861(lists)c
+87.274 164.373(first)s
+f0
+106.524 148.984(a)s
+114.158(short)c
+138.908(label)c
+163.042(and)c
+181.676(a)c
+189.310(short)c
+214.060(text)c
+f1
+87.274 118.206(secondly)s
+130.361(a)c
+138.611(longer)c
+171.303(label)c
+f0
+106.524 102.817(and)s
+125.158(some)c
+151.129(more)c
+176.484(text)c
+195.734(and)c
+214.368(some)c
+240.339(more)c
+265.694(text)c
+284.944(and)c
+303.578(some)c
+329.549(more)c
+354.904(text)c
+379.654(and)c
+398.288(some)c
+424.259(more)c
+449.614(text)c
+f0
+68.024 739.233(RST2MAN\(1\))s
+274.362(text)c
+293.612(processing)c
+480.095(RST2MAN\(1\))c
+68.024 36.245(0.0.1)s
+281.853(2009-06-22)c
+480.095(RST2MAN\(1\))c
+showpage
+%%Page: 4 4
+f1
+87.274 702.988(definition)s
+135.256(lists)c
+f0
+106.524 687.599(are)s
+122.705(also)c
+143.176(a)c
+150.810(valuable)c
+190.828(option)c
+221.694(and)c
+240.328(simple)c
+272.415(nonintrusive)c
+330.165(formatting)c
+f1
+87.274 656.821(definition)s
+135.256(too)c
+152.669(:)c
+f0
+106.524 641.432(with)s
+128.832(the)c
+145.024(colon.)c
+f1
+76.274 610.654(Doctest)s
+113.839(Blocks)c
+f0
+87.274 595.265(>>>)s
+108.636(print)c
+132.165('Python-specific)c
+207.625(usage)c
+235.422(examples;)c
+282.777(begun)c
+312.411(with)c
+334.719(">>>"')c
+87.274 579.876(Python-specific)s
+159.071(usage)c
+186.868(examples;)c
+234.223(begun)c
+263.857(with)c
+286.165(">>>")c
+87.274 564.487(>>>)s
+108.636(print)c
+132.165('\(cut)c
+155.683(and)c
+174.317(pasted)c
+205.172(from)c
+229.306(interactive)c
+278.487(Python)c
+312.411(sessions\)')c
+87.274 549.098(\(cut)s
+107.129(and)c
+125.763(pasted)c
+156.618(from)c
+180.752(interactive)c
+229.933(Python)c
+263.857(sessions\))c
+f1
+76.274 518.320(Tables)s
+f0
+272.052 487.542(+-----------------+---------+)s
+272.052 472.153(|single)s
+333.784( |frame |)c
+272.052 456.764(+-----------------+---------+)s
+272.052 441.375(|no)s
+288.002(table)c
+333.784( | |)c
+272.052 425.986(|header)s
+333.784( | |)c
+272.052 410.597(+-----------------+---------+)s
+f1
+76.274 379.819(lineblock)s
+f0
+87.274 364.430(paul)s
+87.274 349.041(tel.)s
+103.774(12345)c
+87.274 333.652(LA)s
+87.274 287.485(A)s
+97.966(paragraph)c
+144.694(following)c
+190.223(the)c
+206.415(line)c
+225.665(block.)c
+258.357(lorem)c
+286.770(ipsum)c
+316.415(lorem)c
+344.828(ipsum)c
+374.473(lorem)c
+402.886(ipsum)c
+432.531(lorem)c
+460.944(ipsum)c
+490.589(lorem)c
+87.274 272.096(ipsum)s
+116.919(lorem)c
+145.332(ipsum)c
+174.977(lorem)c
+203.390(ipsum)c
+233.035(lorem)c
+261.448(ipsum)c
+f1
+76.274 241.318(Literal)s
+f0
+87.274 225.929(some)s
+113.245(literal)c
+141.658(text)c
+106.524 195.151(here)s
+128.205(now)c
+149.897(it)c
+158.763(starts)c
+106.524 179.762(and)s
+125.158(continues)c
+112.024 164.373(indented)s
+106.524 148.984(and)s
+125.158(back)c
+118.415 118.206(and)s
+137.049(a)c
+144.683(paragraph)c
+191.411(after)c
+214.313(the)c
+230.505(literal.)c
+f0
+68.024 739.233(RST2MAN\(1\))s
+274.362(text)c
+293.612(processing)c
+480.095(RST2MAN\(1\))c
+68.024 36.245(0.0.1)s
+281.853(2009-06-22)c
+480.095(RST2MAN\(1\))c
+showpage
+%%Page: 5 5
+f0
+118.415 702.988(some)s
+144.386(special)c
+177.683(characters)c
+225.016(and)c
+243.650(roff)c
+262.889(formatting)c
+312.081(in)c
+323.389(literal:)c
+106.524 672.210(.SS)s
+124.256(".")c
+138.732(at)c
+149.424(line)c
+168.674(start)c
+106.524 656.821(backslash)s
+152.042("\\")c
+f1
+76.274 626.043(Line)s
+100.419(blocks)c
+f0
+87.274 610.654(This)s
+109.582(is)c
+119.669(a)c
+127.303(line)c
+146.553(block.)c
+179.245(It)c
+188.716(ends)c
+211.629(with)c
+233.937(a)c
+241.571(blank)c
+268.763(line.)c
+98.274 595.265(Each)s
+123.013(new)c
+144.089(line)c
+163.339(begins)c
+194.810(with)c
+217.118(a)c
+224.752(vertical)c
+260.491(bar)c
+277.288(\("|"\).)c
+98.274 579.876(Line)s
+121.187(breaks)c
+152.647(and)c
+171.281(initial)c
+199.705(indents)c
+234.234(are)c
+250.415(preserved.)c
+87.274 564.487(Continuation)s
+147.477(lines)c
+171.006(are)c
+187.187(wrapped)c
+227.810(portions)c
+266.618(of)c
+278.531(long)c
+300.839(lines;)c
+87.274 549.098(they)s
+108.966(begin)c
+136.158(with)c
+158.466(a)c
+166.100(space)c
+193.281(in)c
+204.589(place)c
+230.549(of)c
+242.462(the)c
+258.654(vertical)c
+294.393(bar.)c
+98.274 533.709(The)s
+118.129(left)c
+135.542(edge)c
+159.060(of)c
+170.973(a)c
+178.607(continuation)c
+236.357(line)c
+255.607(need)c
+279.125(not)c
+295.933(be)c
+309.067(aligned)c
+344.201(with)c
+98.274 518.320(the)s
+114.466(left)c
+131.879(edge)c
+155.397(of)c
+167.310(the)c
+183.502(text)c
+202.752(above)c
+231.770(it.)c
+87.274 487.542(This)s
+109.582(is)c
+119.669(a)c
+127.303(second)c
+160.600(line)c
+179.850(block.)c
+87.274 456.764(Blank)s
+116.303(lines)c
+139.832(are)c
+156.013(permitted)c
+200.926(internally,)c
+248.589(but)c
+265.397(they)c
+287.089(must)c
+311.234(begin)c
+338.426(with)c
+360.734(a)c
+368.368("|".)c
+87.274 410.597(Take)s
+112.013(it)c
+120.879(away,)c
+149.589(Eric)c
+170.665(the)c
+186.857(Orchestra)c
+232.364(Leader!)c
+106.524 395.208(A)s
+117.216(one,)c
+138.600(two,)c
+160.600(a)c
+168.234(one)c
+186.868(two)c
+206.118(three)c
+230.857(four)c
+106.524 364.430(Half)s
+128.821(a)c
+136.455(bee,)c
+157.223(philosophically,)c
+117.524 349.041(must,)s
+f2
+144.419(ipso)c
+165.506(facto)c
+f0
+187.506(,)c
+193.006(half)c
+212.861(not)c
+229.669(be.)c
+106.524 333.652(But)s
+125.169(half)c
+145.024(the)c
+161.216(bee)c
+179.234(has)c
+196.647(got)c
+213.455(to)c
+224.763(be,)c
+f2
+117.524 318.263(vis)s
+132.495(a)c
+140.745(vis)c
+f0
+155.716(its)c
+168.861(entity.)c
+202.169(D'you)c
+233.024(see?)c
+106.524 287.485(But)s
+125.169(can)c
+143.187(a)c
+150.821(bee)c
+168.839(be)c
+181.973(said)c
+202.444(to)c
+213.752(be)c
+117.524 272.096(or)s
+129.437(not)c
+146.245(to)c
+157.553(be)c
+170.687(an)c
+183.821(entire)c
+211.618(bee,)c
+128.524 256.707(when)s
+155.100(half)c
+174.955(the)c
+191.147(bee)c
+209.165(is)c
+219.252(not)c
+236.060(a)c
+243.694(bee,)c
+139.524 241.318(due)s
+158.158(to)c
+169.466(some)c
+195.437(ancient)c
+229.955(injury?)c
+106.524 210.540(Singing...)s
+f1
+76.274 164.373(raw)s
+f0
+87.274 148.984(raw)s
+106.513(input)c
+131.879(to)c
+143.187(man)c
+f1
+76.274 118.206(Admonitions)s
+87.274 102.817(ATTENTION!:)s
+f0
+68.024 739.233(RST2MAN\(1\))s
+274.362(text)c
+293.612(processing)c
+480.095(RST2MAN\(1\))c
+68.024 36.245(0.0.1)s
+281.853(2009-06-22)c
+480.095(RST2MAN\(1\))c
+showpage
+%%Page: 6 6
+f0
+106.524 702.988(Directives)s
+154.484(at)c
+165.176(large.)c
+f1
+118.415 672.210(CAUTION!:)s
+f0
+106.524 656.821(Don't)s
+134.937(take)c
+156.013(any)c
+174.647(wooden)c
+212.223(nickels.)c
+f1
+118.415 626.043(!DANGER!:)s
+f0
+106.524 610.654(Mad)s
+129.437(scientist)c
+168.245(at)c
+178.937(work!)c
+f1
+118.415 579.876(ERROR:)s
+f0
+106.524 564.487(Does)s
+131.879(not)c
+148.687(compute.)c
+f1
+118.415 533.709(HINT:)s
+f0
+106.524 518.320(It's)s
+123.937(bigger)c
+154.792(than)c
+176.484(a)c
+184.118(bread)c
+211.299(box.)c
+f1
+118.415 487.542(IMPORTANT:)s
+f0
+106.524 456.764(+)s
+106.876(o)c
+118.228(Wash)c
+146.025(behind)c
+178.717(your)c
+201.630(ears.)c
+106.524 425.986(+)s
+106.876(o)c
+118.228(Clean)c
+146.641(up)c
+160.391(your)c
+183.304(room.)c
+106.524 395.208(+)s
+106.876(o)c
+118.228(Call)c
+139.315(your)c
+162.228(mother.)c
+106.524 364.430(+)s
+106.876(o)c
+118.228(Back)c
+143.583(up)c
+157.333(your)c
+180.246(data.)c
+f1
+118.415 333.652(NOTE:)s
+f0
+106.524 318.263(This)s
+128.832(is)c
+138.919(a)c
+146.553(note.)c
+f1
+118.415 287.485(TIP:)s
+f0
+106.524 272.096(15%)s
+129.437(if)c
+138.908(the)c
+155.100(service)c
+189.002(is)c
+199.089(good.)c
+f1
+118.415 241.318(WARNING:)s
+f0
+106.524 225.929(Strong)s
+138.611(prose)c
+165.187(may)c
+186.879(provoke)c
+225.676(extreme)c
+263.857(mental)c
+296.549(exertion.)c
+340.846(Reader)c
+374.748(discretion)c
+420.882(is)c
+430.969(strongly)c
+469.777(advised.)c
+106.524 195.151(And,)s
+130.966(by)c
+144.716(the)c
+160.908(way...)c
+125.774 164.373(You)s
+147.466(can)c
+165.484(make)c
+192.060(up)c
+205.810(your)c
+228.723(own)c
+250.415(admonition)c
+303.281(too.)c
+125.774 133.595(With)s
+150.524(more)c
+175.879(than)c
+197.571(one)c
+216.205(paragraph.)c
+118.415 102.817(Text)s
+141.328(after)c
+164.230(the)c
+180.422(admonition.)c
+f0
+68.024 739.233(RST2MAN\(1\))s
+274.362(text)c
+293.612(processing)c
+480.095(RST2MAN\(1\))c
+68.024 36.245(0.0.1)s
+281.853(2009-06-22)c
+480.095(RST2MAN\(1\))c
+showpage
+%%Page: 7 7
+f1
+76.274 702.988(other)s
+f0
+87.274 687.599(inline)s
+115.082(references)c
+f2
+163.020(ref)c
+177.991(something)c
+f0
+225.962(.)c
+234.212(Contained)c
+282.183(verbose.)c
+321.893(Nothing)c
+360.701(special.)c
+f1
+68.024 656.821(TOP)s
+93.390(SECTION)c
+f0
+87.274 641.432(With)s
+112.024(mixed)c
+142.274(case)c
+f1
+68.024 610.654(TOP)s
+93.390(SECTION)c
+145.651(B)c
+155.738(C)c
+166.430(D)c
+177.122(E)c
+187.209(F)c
+196.680(G)c
+f0
+87.274 595.265(with)s
+109.582(character)c
+152.636(formatting.)c
+f1
+68.024 564.487(FILES)s
+f0
+87.274 549.098(This)s
+109.582(is)c
+119.669(a)c
+127.303(file.)c
+f1
+68.024 518.320(SEE)s
+91.564(ALSO)c
+f2
+87.274 502.931(docutils)s
+f1
+87.274 472.153(rst2xml)s
+f0
+123.321(\(dummy\))c
+87.274 441.375(More)s
+113.850(information)c
+168.542(can)c
+186.560(be)c
+199.694(found)c
+228.107(about)c
+87.274 410.597(+)s
+87.626(o)c
+98.978(xml-schema-catalog)c
+190.927(at)c
+f2
+201.619(http://xml-schema-catalog.origo.ethz.ch/)c
+f0
+118.415 379.819(And)s
+140.107(see)c
+156.904(the)c
+173.096(stars)c
+196.009(at)c
+206.701(the)c
+222.893(sky!)c
+f1
+68.024 349.041(BUGS)s
+f0
+87.274 333.652(Numerous)s
+135.850(mapping)c
+177.100(problems.)c
+87.274 302.874(1.)s
+103.774(Where)c
+135.839(do)c
+149.589(we)c
+165.165(get)c
+181.357(the)c
+197.549(manual)c
+232.683(section)c
+266.596(number)c
+302.951(from)c
+327.085(?)c
+334.719(Commandline)c
+399.806(?)c
+87.274 272.096(2.)s
+103.774(docutils)c
+141.361(authors)c
+176.495(should)c
+208.582(be)c
+221.716(filled)c
+247.687(into)c
+267.553(section)c
+301.466("AUTHORS".)c
+87.274 241.318(3.)s
+103.774(be)c
+116.908(carefull)c
+153.252(with)c
+175.560(linebreaks)c
+223.520(in)c
+234.828(generated)c
+280.335(code.)c
+87.274 210.540(4.)s
+103.774(list)c
+119.977(items.)c
+152.064(bullets)c
+184.151(and)c
+202.785(enumerators.)c
+f1
+68.024 179.762(AUTHOR)s
+f0
+87.274 164.373(grubert@users.sourceforge.net)s
+87.274 133.595(Organization:)s
+150.513(humankind)c
+87.274 102.817(Address:)s
+f0
+68.024 739.233(RST2MAN\(1\))s
+274.362(text)c
+293.612(processing)c
+480.095(RST2MAN\(1\))c
+68.024 36.245(0.0.1)s
+281.853(2009-06-22)c
+480.095(RST2MAN\(1\))c
+showpage
+%%Page: 8 8
+f0
+106.524 702.988(123)s
+125.774(Example)c
+167.629(Street)c
+106.524 687.599(Example,)s
+151.129(EX)c
+171.292(Canada)c
+106.524 672.210(A1B)s
+130.053(2C3)c
+f1
+68.024 641.432(COPYRIGHT)s
+f0
+87.274 626.043(public)s
+117.524(domain)c
+153.274(Behave)c
+189.013(responsible.)c
+f0
+68.024 739.233(RST2MAN\(1\))s
+274.362(text)c
+293.612(processing)c
+480.095(RST2MAN\(1\))c
+68.024 36.245(0.0.1)s
+281.853(2009-06-22)c
+480.095(RST2MAN\(1\))c
+showpage
+%%Trailer
+%%Pages: 8
+%%EOF
diff --git a/sandbox/manpage-writer/runtest-mandoc b/sandbox/manpage-writer/runtest-mandoc
new file mode 100755
index 000000000..2c70f45c8
--- /dev/null
+++ b/sandbox/manpage-writer/runtest-mandoc
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# manpage tests using mandoc
+#
+# Contact: grubert@users.sourceforge.net
+# Revision: $Revision: 8493 $
+# Date: $Date: 2020-02-17 12:30:46 +0100 (Mo, 17. Feb 2020) $
+# Copyright: This script has been placed in the public domain.
+
+# mandoc arguments
+#
+# -K encoding
+# Specify the input encoding.
+# supported arguments us-ascii, iso-8859-1, and utf-8.
+#
+# If the first or second line of the input file matches the emacs mode line format
+#
+# .\" -*- [...;] coding: encoding; -*-
+#
+# then input is interpreted according to encoding.
+#
+# -T output
+# Select the output format.
+# Supported values for the output argument are ascii, html, the default
+# of locale, man, markdown, pdf, ps, tree, and utf8.
+
+IN_DIR=input
+OUT_DIR=output-mandoc
+EXP_DIR=expected-mandoc
+
+#ENCS="latin1 utf8 ascii ps"
+ENCS="utf8 ascii ps"
+GROFF=""
+
+if [ -z "$1" ] ; then
+ FILES=*.txt
+else
+ FILES=$1
+fi
+
+ERROR_CNT=0
+
+inc_ERROR_CNT () {
+ ERROR_CNT=$(( ERROR_CNT + 1 ))
+}
+
+report_ERROR_CNT () {
+ echo "$ERROR_CNT errors"
+}
+
+CMD="python3 ../../docutils/tools/rst2man.py --traceback"
+
+for IN_F in $IN_DIR/$FILES ; do
+ BASE=`basename $IN_F`
+ F_BASE=${BASE%.txt}
+ if echo $F_BASE | grep -q -- '-de\.' ; then
+ OPT="-l de"
+ else
+ OPT=""
+ fi
+ $CMD $OPT $IN_F $OUT_DIR/$F_BASE.man
+ if [ $? -eq 0 ] ; then
+ diff -s -u $EXP_DIR/$F_BASE.man $OUT_DIR/$F_BASE.man
+ if [ $? -ne 0 ] ; then
+ inc_ERROR_CNT
+ fi
+ for ENC in $ENCS ; do
+ if [ -e $EXP_DIR/$F_BASE.$ENC ] ; then
+ mandoc -T$ENC $OUT_DIR/$F_BASE.man > $OUT_DIR/$F_BASE.$ENC
+ diff -s -u $EXP_DIR/$F_BASE.$ENC $OUT_DIR/$F_BASE.$ENC
+ if [ $? -ne 0 ] ; then
+ inc_ERROR_CNT
+ fi
+ fi
+read A
+ done
+ fi
+done
+
+if [ -n "$1" ] ; then
+ report_ERROR_CNT
+ exit
+fi
+
+# language test
+for L in "en" "de" ; do
+ for IN_F in $IN_DIR/docinfo-*.txt ; do
+ BASE=`basename $IN_F`
+ F_BASE=${BASE%.txt}
+ OPT="-l $L"
+ EXT="-l_$L"
+ $CMD $OPT $IN_F $OUT_DIR/$F_BASE$EXT.man
+ if [ $? -eq 0 ] ; then
+ diff -s -u $EXP_DIR/$F_BASE$EXT.man $OUT_DIR/$F_BASE$EXT.man
+ if [ $? -ne 0 ] ; then
+ inc_ERROR_CNT
+ fi
+ fi
+read A
+ done
+done
+
+report_ERROR_CNT
+