groff "me" macro, но использую sans serif font для заголовков и т.д.

Здесь есть очень приятная sed магия. И несколько хороших замечаний о переполнении пространства шаблонов. Я люблю использовать sed , даже когда это не самый простой способ, потому что он такой компактный и мощный. Однако у него есть свои ограничения, и для больших объемов данных пространство шаблонов должно быть большим.

GNU говорит следующее:

Тем, кто хочет писать переносимые сценарии sed, следует знать, что некоторые реализации, как известно, ограничивают длину строк (для шаблонов и удерживающих пространств) не более 4000 байтов. Стандарт posix указывает, что соответствующие реализации sed должны поддерживать длину строки не менее 8192 байта. GNU sed не имеет встроенного ограничения на длину строки; пока он может использовать malloc () больше (виртуальной) памяти, вы можете вводить или строить строки столько, сколько захотите.
Однако рекурсия используется для обработки подшаблонов и неопределенного повторения . Это означает, что доступное пространство стека может ограничивать размер буфера, который может обрабатываться определенными шаблонами.

Мне нечего добавить, но я хотел бы указать вам на свое руководство по sed . Отлично. http://www.grymoire.com/Unix/Sed.html

и вот мое решение:

for i in $(cat test.txt); do echo -n $i','; done; echo '' >> somewhere

хорошо, оно работает

2
06.03.2019, 13:36
1 ответ

Макросы meв groffиспользуют следующие положения шрифта для различных типов текста:

  1. Обычный текстовый шрифт
  2. (не используется?)
  3. Шрифт заголовка и шрифт раздела

Макросы будут переключаться на использование шрифтов, загруженных в эти позиции, при установке текста, например, для. заголовок раздела, поэтому макрос .ftбудет неэффективным. Вы все равно сможете использовать, например.

.sh 1 "\f(HBSection title"

, чтобы переключиться на полужирный шрифт без засечек -для заголовка раздела, но нумерация разделов по-прежнему будет использоваться с засечками.

Файл макроса meустанавливает ряд параметров, которые они используют для таких вещей, как шрифты, размер точек и т. д., поэтому многие интересные вещи довольно легко изменить, просто изменив несколько числовых регистров и тому подобное., но это, к сожалению, не описано в руководстве groff_me(7). Он также хорошо спрятан в файле макроса e.tmac(из-за того, что из файла удалены комментарии ). Мне пришлось прочитать исходный (необработанный -файл)e.tmac-uв исходном дистрибутиве groff, чтобы понять это :

.
.\"             *** PARAMETRIC INITIALIZATIONS ***
.
.
.rr x
.nr $v \n(.v00+\n(.sp-1/\n(.sp  \" vs as % of ps for.sz request
.nr $V \n($v                    \" same for displays & footnotes
.nr hm 4v                       \" header margin
.nr tm 7v                       \" top margin
.nr bm 6v                       \" bottom margin
.nr fm 3v                       \" footer margin
.nr tf 3                        \" title font: (real) Times Bold
.nr tp 10                       \" title point size
.hy 6
.nr bi 4m                       \" indent for blocks
.nr pi 5n                       \" indent for paragraphs
.nr pf 1                        \" normal text font
.nr pp 10                       \" normal text point size
.nr qi 4n                       \" indent for quotes
.nr qp -1                       \" down one point
.nr ii 5n                       \" indent for.ip's and.np's
.nr $m 1                        \" max number of columns
.nr $s 4n                       \" column separation
.nr sf 3                        \" section font -- Times Bold
.nr sp 10                       \" section title pointsize
.nr ss 12p                      \" section prespacing
.nr si 0                        \" section indent

Чтобы изменить шрифт раздела и заголовка на полужирный шрифт без засечек -, используйте

.fp 3 HB

, чтобы загрузить шрифт HBв позицию 3. Затем он будет подхвачен макросом .shи другими.

Пример:

.fp 3 HB
.bp
.sh 1 "Heading 1"
.lp
Text text.
.sh 2 "Heading 2"
.lp
Text text.

Это приведет к

Rendered PDF output from groff

2
27.01.2020, 22:17

Теги

Похожие вопросы