편집 - 1

편집 - 1

나는 마크다운 파일을 맨페이지로 변환하기 위해 pandoc(누군가 더 나은 변환 프로그램을 가지고 있다면 나는 귀를 기울일 것입니다. 루비에 의존하지 마십시오)를 사용하려고 합니다. 테이블을 사용하여 문서를 작성하기 전까지는 잘 작동합니다. 내 테스트 문서는 다음과 같습니다.

% 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 -

그리고 재미있는 부분은...

내 debian 8.3 상자의 Pandoc은 동일한 출력을 생성했지만 맨페이지는 debian/linux에서 그 내용을 잘 표시합니다.

비교를 위해

창문들

  • pandoc.exe 1.17.0.2
  • 남자 2.7.4
  • GNU tbl(groff) 버전 1.22.3

리눅스

  • 판독 1.12.4.2 [리눅스]
  • 남자 2.7.0.2

나는 지금 몇 시간 동안 등을 읽어 왔지만 man man man groff_man man tbl이 문제를 해결하는 데 더 가까워지지 않았습니다. 여기에 어떤 아이디어라도 대단히 감사하겠습니다!!

고마워요 -에릭

편집 - 1

문제는 의심할 여지 없이 Windows/msys의 man관련 시스템입니다. groffpandoc 출력은 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()

관련 정보