ЩЕГОЛЬ: атрибут ширины fo:block проигнорирован?

$ v=1.2.13
$ echo "${v%.*}.$((${v##*.}+1))"
1.2.14

$ v=11.1.2.3.0
$ echo "${v%.*}.$((${v##*.}+1))"
11.1.2.3.1

Вот как это работает:

Строка разбита на две части.

  • первый содержит все, кроме последней точки и следующих символов: ${v%.*}
  • второй содержит все, кроме всех символов до последней точки: ${v##*.}

Первая часть печатается как есть, за ней следует простая точка, а последняя часть увеличивается с использованием арифметического расширения оболочки: $((x+1))

7
задан JMax 20 December 2011 в 12:54
поделиться

2 ответа

Наконец, я не смог этого сделать, потому что [fo: inline] пытается собрать все доступное пространство.

Один из приемов - установить поля (левое или правое) для 90% или более, чтобы заполнить этот пробел, но тогда я не знаю, что предыдущий [fo: inline] текст был отображен в одной, двух или более строках.

Единственный способ, который я нашел для создания файла в заголовках столбцов используется [fo: table] плюс добавление полей (слева и справа) к каждой ячейке.

PS: Я использую FOP-0.95

1
ответ дан 7 December 2019 в 10:07
поделиться

Свойство "width" не применяется к fo: block (см. http://www.w3.org/TR/xsl11/#fo_block ). Если вы хотите переопределить ширину, вам нужно использовать fo: block-container ( http://www.w3.org/TR/xsl11/#fo_block-container ) или другой элемент, который генерирует так называемая эталонная область. Немного сложно понять, каков именно ваш ожидаемый макет. Возможно, вы также можете поэкспериментировать с использованием свойств "start-indent" и "end-indent", чтобы косвенно повлиять на фактическую ширину блока fo: block. HTH

15
ответ дан 7 December 2019 в 10:07
поделиться
Другие вопросы по тегам:

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