Макросы me
в groff
используют следующие положения шрифта для различных типов текста:
Макросы будут переключаться на использование шрифтов, загруженных в эти позиции, при установке текста, например, для. заголовок раздела, поэтому макрос .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.
Это приведет к
Если я включу \w
в подсказку и cd $'/tmp/new\nline'
, Bash покажет в подсказке только /tmp/newline
. Кажется, что он не печатает буквальную новую строку, но это также не однозначный формат вывода.
${var@P}
предназначен для расширения escape-символов стиля подсказки -, например \u
для имени пользователя, \h
для имени хоста и \w
для рабочего каталога, я сомневаюсь, что вы хотите их здесь. Вместо ${var@Q}
, какие кавычки могут быть более полезными?
Установка PS1='${PWD@Q}\$ '
, я получаю подсказку:$'/tmp/new\nline'$
или '/tmp'$
, если путь лучше. Альтернативой может быть PS1='$(printf "%q" "$PWD")\$ '
, который в некоторых случаях дает другое цитирование, и, например,. оставляет кавычки в случае «хорошего» пути, поэтому /tmp$
.
Чтобы отобразить домашний каталог в виде тильды, один из вариантов — выполнить эту замену вручную:
set_ppath() {
printf -v ppath "%q" "$PWD"
ppath="${ppath/$HOME/"~"}";
}
PROMPT_COMMAND=set_ppath
PS1='$ppath\$ '
Он по-прежнему заключает в кавычки весь путь, если его часть необходимо заключить в кавычки. Чтобы обойти это, я полагаю, вам придется пройти путь по частям.
Я понятия не имею, почему ${var@P}
сворачивает обратную косую черту вот так.