In 2012 a relaunch of the Web pages for CTAN has been
prepared. It should replace the pages of the former years.
Thus for continuity several features had to be preserved and
supported. Those are mainly encapsulated behind fixed URLs.
The web pages can be rendered is various ways. Several skins
are provided to accommodate different tastes of the users.
The selection of the skin are persisted even when the user
does not use a personalized login.
Typography on the Web: Responsive Web Design
The web pages can be rendered on various output devises with
different screen sizes. The portal pages adapt to the space
available as good as possible.
Typography on the Web: Logos from the TeX World
The TeX world knows several characteristic word types for
programs or macro packages. Those logos are shown whenever
Since some users prefer to see the pure ASCII representation
of the logos it is possible to select a respective setting.
Typography on the Web: Hyphenation
The typography on the web is restricted by the possibilities
of the various browsers. In the area of line breaking things
are evolving slowly. Thus we have to help the browsers by
inserting optional break points – soft hyphens –
to help the browsers to produce properly filled lines.
The portal uses TeX's hyphenation algorithm (Liang) to
insert soft hyphens. The hyphenation uses the base hyphenation
patterns and exceptions for american English.
Search: Static Content
This portal has a few static pages. The search finds contents
on these static pages.
The authors of packages as contained in the Catalogue is
searchable by name.
The topics for packages as contained in the
Catalogue is searchable.
The packages as contained in the Catalogue is searchable. At
least the name and description are considered.
A upload form is provided which allows a user to submit a
Upload: Initializing Fields
The fields in the upload form are initialized whenever
possible. The name of the submitter can be filled with the
information of the logged in user. The package can be filled
if the upload in started from a package page or a page
associated to a package in the TeX archive.
A page containing a list of all CTAN mirrors is provided.
Visualization of CTAN Mirrors on a Map
It would be nice to have a world map with the CTAN mirrors marked.
Maybe Google Maps might be helpful. [Mojca Miklavec]
A form to submit a registration of a new mirror site is provided.
The TeX archive can be browsed. The files and directories
Downloading of a whole directory is enabled if
a zip file with the contents exists. This zip file is
suppressed in the listing.
A file named README is displayed if present in a directory.
A file named .zipped is suppressed in the listing.
Browser in texarchive explains file types
An explanation about file types is provided by the browser. This is
shown as tool tip.
The single files presented are linked
to http://mirros.ctan.org to distribute the load to
The descriptions of the packages from the Catalogue are
accessible via the URL /pkg/<package
The descriptions of the package authors from the Catalogue are
accessible via the URL /author/<author
Community Features: User Registration
A user can join the community and register an account. The initial
password is sent by email to the user to check that the email address
Community Features: User Settings
The user can change his settings – except account name.
This works only if the user is logged in.
Community Features: User Login
The user can login and logout.
For this purpose a login page is provided. This page has additional
functionality for requesting forgotten account name and password
as well as registration.
For a fast access a drop-down login panel is provided on each page.
Community Features: User Password
If the user has forgot his password he can request a new
password by entering his account and email. The new password
can be entered on a page for which the URL is sent by email.
Community Features: User Account
If the user has forgot his account he can request the account.
The account name is sent by email.
Community Features: Guest Book
A guest book can be used to leave some comments on the CTAN portal.
Packages can be rated with 1 to 5 stars. The average is shown.
Only a logged in user can rate. If a user rates several times
then only the last rating is taken into account. Thus a single
user can not raise a rating to the sky. The rating can be changed
In addition to the rating the user can leave a comment which is
visible for all users.
The portal provides access to several sources of information.
Some of them are uniquely presented on these pages.
The TeX Catalogue
The TeX Catalogue is a collection of package descriptions. The
TeX Catalogue is maintained by the CTAN team.
The TeX Archive
The TeX archive is a directory structure hosted by the CTAN sites. The CTAN
portal directly accesses one of the major CTAN
sites for the browsing pages.
The Mirrors Database
The CTAN team maintains a database containing the CTAN
The Mirror Monitor
The monitor for the status of the CTAN mirrors is provided on
ctan.dante.org. This page is rendered with the layout of the
The portal is based on a bunch of well-established frameworks
and libraries. All of them are rooted in
the Open Source
world. Only with the help of those software components this
portal could come to live.
The Web application is based on
Grails. Grails utilizes a
lot of well-known frameworks and libraries like
The search functionality has been implemented with the
The indexing of the search
utilizes Apache PDFBox to
access the contents of PDF files.
The dynamic effects of the Web interface makes use of
jQuery UI, and
The underlying Grails project has been augmented with a
Maven POM. Thus it is
possible to build the system with the Maven commands.
Nevertheless the file organization follows the Grails
conventions. (After all I am not convinced by this solution. I
prefer the Grails commands)
The front-end dispatching is performed by an
Apache HTTPD Web Server.
The back-end is a web application running in a
The data is mainly stored in a
Regular jobs are performed by
running in the web application.
Many thanks go to all people who helped
developing these useful software packages.