manual/text/column_box.rb
# frozen_string_literal: true
require 'prawn/manual_builder'
Prawn::ManualBuilder::Chapter.new do
title 'Column Box'
text do
prose <<~TEXT
The <code>column_box</code> method allows you to define columns that flow
their contents from one section to the next. You can have a number of
columns on the page, and only when the last column overflows will a new
page be created.
TEXT
end
example new_page: true do
move_down 30
text 'The Prince', align: :center, size: 18
text 'Niccolò Machiavelli', align: :center, size: 14
move_down 30
column_box([0, cursor], columns: 2, width: bounds.width) do
text("#{<<~TEXT.gsub(/\s+/, ' ')}\n\n" * 5)
All the States and Governments by which men are or ever have been ruled,
have been and are either Republics or Princedoms. Princedoms are either
hereditary, in which the sovereignty is derived through an ancient line
of ancestors, or they are new. New Princedoms are either wholly new, as
that of Milan to Francesco Sforza; or they are like limbs joined on to
the hereditary possessions of the Prince who acquires them, as the
Kingdom of Naples to the dominions of the King of Spain. The States thus
acquired have either been used to live under a Prince or have been free;
and he who acquires them does so either by his own arms or by the arms of
others, and either by good fortune or by merit.
TEXT
end
end
end