This class implements a pretty printing algorithm.
Alternatives To Prettyprint
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Algorithms Sedgewick Wayne1,967
2 months ago3mitJava
Solutions to all the exercises of the Algorithms book by Robert Sedgewick and Kevin Wayne
Mir Algorithm16810299 days ago610February 07, 202327otherD
Dlang Core Library
5 months agoapache-2.0C++
Floating point printing and parsing library based on Grisu2 and Krosh algorithms
Strip Packing14
4 years ago1mitPython
Algorithm for the strip packing problem with guillotine cuts constraint
2 months ago2bsd-2-clauseRuby
This class implements a pretty printing algorithm.
5 years agomitGo
Implementation of Kiselyov et al's pretty printing algorithm in Go.
a year ago3mitC++
A collection of templates/algorithms for competitive coding.
7 years agoJavaScript
Binary tree bin packing algorithm for packing pictures to sheet for printing
Diff Java2
7 years agogpl-3.0Java
Clone and improvements
Soren Cslab Scripts2
7 years agomitShell
Scripts for fixing firefox locks, printing, timing algorithms, and checking your quota.
Alternatives To Prettyprint
Select To Compare

Alternative Project Comparisons


This class implements a pretty printing algorithm. It finds line breaks and nice indentations for grouped structure.

By default, the class assumes that primitive elements are strings and each byte in the strings have single column in width. But it can be used for other situations by giving suitable arguments for some methods:

  • newline object and space generation block for
  • optional width argument for PrettyPrint#text
  • PrettyPrint#breakable

There are several candidate uses:

  • text formatting using proportional fonts
  • multibyte characters which has columns different to number of bytes


Add this line to your application's Gemfile:

gem 'prettyprint'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install prettyprint


After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to


Bug reports and pull requests are welcome on GitHub at ruby/prettyprint.

Popular Algorithms Projects
Popular Printing Projects
Popular Computer Science Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.