나는하고 싶다오른쪽Sublime Text 3(Win 8.1, FWIW)의 열에 있는 텍스트를 정렬합니다.
즉, 이것을 변환하고 싶습니다.
Time Cash Flow
0 -500
1 100
2 200
3 300
이것에
Time Cash Flow
0 -500
1 100
2 200
3 300
이것의 궁극적인 목적으로
Time Cash Flow
----- ----------
0 -500
1 100
2 200
3 300
이간단한 테이블~에판독. alignment
및 패키지를 사용해 보았지만 AlignTab
이는 필요한 대로 열을 정렬하는 대신 일부 구분 기호를 정렬하는 데 특화된 것 같습니다.
이를 수행하는 데 어떤 트릭이 있습니까? vi나 Excel이 필요한 솔루션도 열려 있습니다.
답변1
좋습니다. 여기에 CVS를 내보낼 수 있는 Excel이나 기타 스프레드시트 프로그램과 관련된 솔루션이 있습니다.
당신은새로 출시된 타사 필터 "csv2table"(<- GitHub 저장소) Pandoc용.
다음과 같이도 사용 가능합니다.독립형 필터.
다음과 같이 독립형 필터를 설치하십시오.
mkdir ${HOME}/bin wget https://gist.githubusercontent.com/baig/b69e3146251bd90d12e7/raw/d8c8171fbe0ad5543f8aaf0a134250b29c689e57/csv2table.hs \ -O ${HOME}/bin/pandoc-csv2table.hs chmod a+x ${HOME}/bin/pandoc-csv2table.hs export PATH=${HOME}/bin:${PATH}
그러나 내가 선호하는 설치 방법은 다음을 통한 것입니다.
cabal
:cabal update export PATH=${HOME}/.cabal/bin:${PATH} cabal install cabal-install cabal install pandoc-csv2table
읽기csv2table 문서.
이 필터로 무엇을 할 수 있나요?
마크다운에 외부 CSV 파일을 포함할 수 있는 방법은 다음과 같습니다.
...악용하거나구문이 포함된 이미지이와 같이:
![](/path/to/file.csv)
...또는 이를 악용하여울타리 코드 블록다음과 같은 구문:
```` {.table source="/path/to/file.csv" <list-of-attributes>} ````
...또는 다음과 같이 "분리된 테이블 섹션"에 CSV 행을 직접 삽입합니다.
```` {.table <list-of-attributes>} one,two,three 1,2,3 100,2000,55555 ````
Pandoc 명령줄 내에서 필터를 호출하면
--filter=pandoc-csv2table
CSV가 모든 출력 형식의 테이블로 변환됩니다.또한 Pandoc에서 지원하는 테이블에 거의 모든 서식을 적용할 수 있습니다.
- 속성을 사용
type="multiline"
하여multiline_table
. type="pipe"
를 생성하는 데 사용합니다pipe_table
.type="simple"
를 생성하는 데 사용합니다simple_table
.caption="My ***important*** caption for this table"
테이블 캡션을 추가하는 데 사용합니다 . (여기에는 마크다운 형식이 포함될 수 있습니다.)- 열 헤더가 없는 테이블을 원할 경우 사용합니다
header="no"
(제공되지 않은 경우 사용되는 기본값은 입니다header="yes"
). - 이제 원하는 기능은 다음과 같습니다.
aligns=LRCDR
열 정렬(왼쪽에서 오른쪽)을 다시 왼쪽, 오른쪽, 가운데, 기본값 및 오른쪽으로 정렬하는 데 사용합니다 .
- 속성을 사용
예
다음
my.csv
파일을 고려해보세요:Time,"*Cash* Flow","Third column" 0,-500,loooooooooooong data field with many words 1,*100*, ***2***,`2000`,shorte **3**,30000,(second line is empty)
(보시다시피 저는 CSV 라인의 일부 데이터 필드에 마크다운 마크업을 사용하기도 합니다!)
다음 Markdown을 고려해보세요
my.md
.# 표제 ```` {.table source="./my.csv" aligns="LRCR" type="multiline" caption="일부 ***caption***"} ````
CSV 입력에서 Markdown 여러 줄 테이블 출력을 생성하려면 다음 명령을 실행하십시오.
pandoc my.md --filter=pandoc-csv2table -t markdown
다음 출력을 참조하세요.
CSV 입력에서 여러 줄로 구성된 테이블이 포함된 PDF 출력을 생성하려면 다음 명령을 실행하세요.
pandoc my.md --filter=pandoc-csv2table -o my.pdf
이 출력(스크린샷)을 참조하세요.
생성하고 싶다면"파이프 테이블"정렬을 나타내는 콜론 구문을 사용하면 Markdown과 명령줄을 약간 수정해야 합니다.
마크다운 수정
type="pipe"
테이블 서식 옵션에 포함하려면 다음을 수행합니다 .# 표제 ```` {.table source="./my.csv" aligns="LRCR" type="pipe" caption="일부 ***caption***"} ````
명령줄 수정출력을 요청하려면 다음 을 수행하십시오
markdown_phpextra+table_captions
.pandoc my.md --filter=pandoc-csv2table -t markdown_phpextra+table_captions
지금 출력을 확인하세요.
물론 이것은 다른 모든 출력 형식에서도 작동합니다!
답변2
다른 해결책이 있습니다. Pandoc은 pipe_tables
다음 형식이 필요하며 왼쪽, 가운데 및 오른쪽 정렬을 처리할 수 있습니다.
| Right | Left | Default | Center |
|------:|:-----|---------|:------:|
| 12 | 12 | 12 | 12 |
| 123 | 123 | 123 | 123 |
| 1 | 1 | 1 | 1 |
: Demonstration of pipe table syntax.
파이프로 열을 분리하면 |
작업이 끝나면 다음을 수행할 수 있습니다.
alignment
먼저 Sublime Text 3의 패키지 에 파이프를 정렬합니다 .- 그런 다음 콜론을 수동으로 다시 추가하여
:
원하는 정렬을 얻으세요.
이것은 @Kurt의 필터만큼 쉽지는 않지만 (강력한 곳은 아닙니다 :)) 상당히 간단합니다.