я бы хотел право выровнять текст в столбцах в 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
Это простой стол в pandoc , Я попробовал alignment
а также AlignTab
пакеты, но они, кажется, специализируются на выравнивании некоторых разделителей, а не на выравнивании столбцов, как мне нужно.
Есть ли какая-нибудь хитрость, чтобы сделать это? Я также открыт для решения, которое требует vi или Excel.
sublime-text-3
pandoc
Richard Herron
источник
источник
Ответы:
Хорошо, вот решение, которое включает Excel или любую другую программу для работы с электронными таблицами, которая может экспортировать CVS.
Вы должны установить недавно выпущенный сторонний фильтр с именем "csv2table" (& lt; - GitHub репозиторий) для Pandoc.
Это также доступно как автономный фильтр ,
Установите автономный фильтр следующим образом:
Мой предпочтительный метод установки, однако, с помощью
cabal
:Прочитайте документация csv2table ,
Что вы можете сделать с этим фильтром?
Вы можете включить внешний файл CSV в ваш Markdown ...
... либо злоупотребляя изображение, включая синтаксис как это:
![](/path/to/file.csv)
... или злоупотребляя огороженный кодовый блок синтаксис такой:
... или напрямую вставляя строки CSV в «секцию огражденной таблицы» следующим образом:
Вызывая фильтр в командной строке 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
чтобы снова упорядочить выравнивание столбцов (слева направо) как Left, Right, Center, Default и Right.пример
Учти это
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)
(Как вы можете видеть, я даже использую разметку Markdown для некоторых полей данных линий CSV!)
Рассмотрим эту уценку,
my.md
:Запустите эту команду, чтобы сгенерировать вывод многострочной таблицы Markdown из вашего CSV-входа:
Смотрите этот вывод:
Запустите эту команду, чтобы сгенерировать вывод PDF с многострочной таблицей из вашего CSV-ввода:
Смотрите этот вывод (скриншот):
Если вы хотите создать "трубные столы" с помощью синтаксиса двоеточия, указывающего на выравнивание, вы должны немного изменить Markdown, а также командную строку:
Изменить уценку включать
type="pipe"
в таблице параметров форматирования:Изменить командную строку просить
markdown_phpextra+table_captions
выход:Смотрите вывод сейчас:
Конечно, это работает и со всеми другими форматами вывода!
источник
У меня есть другое решение. Pandoc
pipe_tables
требуется следующий формат и может обрабатывать выравнивания по левому, центральному и правому краям.Если я разделяю колонны с трубами
|
тогда, когда я закончу, я могуalignment
пакет в возвышенном тексте 3:
чтобы получить желаемое выравнивание.Это не так просто, как фильтр @ Kurt (и далеко не такой надежный :)), но это довольно просто.
источник
man pandoc_markdown
,pipe_table
с выравниванием колонов.-o markdown
, :) Спасибо за урок!-o markdown
, но-o somename.pdf
:)