pandoc - уценка к таблицам man-страниц не отформатирована (на msys2)
Я пытаюсь использовать pandoc (если у кого-то есть лучшая программа для конвертации, я полностью уверен, пожалуйста, не зависит от ruby), чтобы конвертировать файлы уценки в man-страницы. Он отлично работает, пока я не пойду делать документ со столом. Вот мой тестовый документ:
% Author Man
% TEST(1) This is a test | Version .01
% 18-April-2016
# Header1
# Format
foo
+-----------+-----------+-----------+
| linenum-1 | two | three |
|===========+===========+===========+
| three | four | fove |
| 6 | 7 | 8 |
+-----------+-----------+-----------+
| linenum-1 | two | three |
|-----------|-----------|-----------|
| three | four | fove |
| 6 | 7 | 8 |
| linenum-1 | two | three
|-----------|-----------|--------:
| three | four | fove
| 6 | 7 | 8
I WAS HERE
| linenum-1 | two | three
|--- |--- |---
| three | four | fove
| 6 | 7 | 8
here is some text
_italics_
**bold**
Я использовал
pandoc.exe -s -f markdown -t man ~/test.md | man -p t -l -
(Я пробовал с и без -p t
заставить tbl
препроцессор) с тем же результатом:
Author Man() Author Man()
Header1
Format
foo
tab(@); lw(11.7n) lw(11.7n) lw(11.7n). T{
linenum-1 ===========+ three 6 T}@T{
two ===========+ four 7 T}@T{
three ===========+ fove 8 T}
tab(@); l l l. T{ linenum-1 T}@T{ two T}@T{ three T} _ T{ three T}@T{ four T}@T{ fove T}
T{ 6 T}@T{ 7 T}@T{ 8 T}
tab(@); l l r. T{ linenum-1 T}@T{ two T}@T{ three T} _ T{ three T}@T{ four T}@T{ fove T}
T{ 6 T}@T{ 7 T}@T{ 8 T}
I WAS HERE
tab(@); l l l. T{ linenum-1 T}@T{ two T}@T{ three T} _ T{ three T}@T{ four T}@T{ fove T}
T{ 6 T}@T{ 7 T}@T{ 8 T}
here is some text
italics
bold
AUTHORS
TEST(1) This is a test | Version .01.
18-April-2016 Author Man()
Необработанный вывод без передачи его в man
является:
.\"t
.\" Automatically generated by Pandoc 1.17.0.2
.\"
.TH "Author Man" "" "18\-April\-2016" "" ""
.hy
.SH Header1
.SH Format
.PP
foo
.PP
.TS
tab(@);
lw(11.7n) lw(11.7n) lw(11.7n).
T{
.PP
linenum\-1 ===========+ three 6
T}@T{
.PP
two ===========+ four 7
T}@T{
.PP
three ===========+ fove 8
T}
.TE
.PP
.TS
tab(@);
l l l.
T{
linenum\-1
T}@T{
two
T}@T{
three
T}
_
T{
three
T}@T{
four
T}@T{
fove
T}
T{
6
T}@T{
7
T}@T{
8
T}
.TE
.PP
.TS
tab(@);
l l r.
T{
linenum\-1
T}@T{
two
T}@T{
three
T}
_
T{
three
T}@T{
four
T}@T{
fove
T}
T{
6
T}@T{
7
T}@T{
8
T}
.TE
.PP
I WAS HERE
.PP
.TS
tab(@);
l l l.
T{
linenum\-1
T}@T{
two
T}@T{
three
T}
_
T{
three
T}@T{
four
T}@T{
fove
T}
T{
6
T}@T{
7
T}@T{
8
T}
.TE
.PP
here is some text
.PP
\f[I]italics\f[]
.PP
\f[B]bold\f[]
.SH AUTHORS
TEST(1) This is a test | Version .01.
С -d
флаг я получаю много, но только последний бит кажется применимым:
final search path = /mingw64/share/man:/usr/share/man
restore_cwd: 3 (null)
pre-processors `t' from command line
page_encoding = UTF-8
source_encoding = ISO-8859-1
roff_encoding = ISO-8859-1
Terminal width 102
Terminal width 102 not within cat page range [80, 80]
formatted_encoding = UTF-8
opening -
opened -
И самое интересное...
Pandoc на моем компьютере с Debian 8.3 генерировал тот же вывод, но manpages прекрасно отображает на Debian/ Linux.
Для сравнения
окна
- pandoc.exe 1.17.0.2
- человек 2.7.4
- GNU tbl (groff) версия 1.22.3
линукс
- pandoc 1.12.4.2 [linux]
- мужчина 2.7.0.2
Я читаю man man
man groff_man
man tbl
и т.д. в течение нескольких часов, и я не ближе к решению этого. Любые идеи здесь будут с благодарностью!
Спасибо -Эрик
Редактировать - 1
Вопрос без сомнения man
и связанные groff
система на windows/msys. Вывод pandoc отлично работает на Linux.
Я нашел и попробовал альтернативную программу рендеринга:
http://embedeo.org/ws/doc/man_windows/
У которого нет проблем отображать вывод из pandoc в формате
mandoc.exe foo.man.1 | less
Попытка снова более прямой
cat foo.man.1 | nroff -mandoc -Tlatin1 | less
Имеет тот же эффект, что и вызов man -l -
Затем я попытался загрузить бинарные файлы gnuwin32 напрямую и снова получил тот же результат
cat foo.man.1 | Downloads/groff-1.20.1-bin/bin/nroff -mandoc -Tlatin1 | less
1 ответ
Ну, по-видимому, я немного медленный на этой неделе...
Самое простое исправление, которое только можно себе представить, а я потратил всего 3 дня
pandoc.exe -s -f markdown -t man ~/test.md | dos2unix.exe | man -l -
(ключом является введение dos2unix.exe
в микс)
Выходит красивый:
Author Man() Author Man()
Header1
Format
foo
linenum-1 two three
===========+ ===========+ ===========+
three four fove
6 7 8
linenum-1 two three
─────────────────────────
three four fove
6 7 8
linenum-1 two three
─────────────────────────
three four fove
6 7 8
I WAS HERE
linenum-1 two three
─────────────────────────
three four fove
6 7 8
here is some text
italics
bold
AUTHORS
TEST(1) This is a test | Version .01.
18-April-2016 Author Man()