Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thomaspark/pubcss

Format academic publications in HTML & CSS
https://github.com/thomaspark/pubcss

Last synced: about 2 months ago
JSON representation

Format academic publications in HTML & CSS

Awesome Lists containing this project

README

        

# PubCSS

PubCSS is a library of CSS stylesheets and HTML templates for formatting academic publications for print and the web.

Currently, the following formats are supported:

* [ACM SIG Proceedings](http://www.acm.org/sigs/publications/proceedings-templates)
* [ACM SIGCHI Conference Papers](http://www.sigchi.org/publications/chipubform)
* [ACM SIGCHI Extended Abstracts](http://www.sigchi.org/publications/chipubform)
* [IEEE Conference Proceedings](http://www.ieee.org/conferences_events/conferences/publishing/templates.html)

Check out sample output [here](http://thomaspark.me/2015/01/pubcss-formatting-academic-publications-in-html-css/).

## Quick Start

1. Create an HTML file, or modify the relevant template, to add your content
2. Link your HTML to the relevant `pub.css` stylesheet
3. Build to PDF using Prince with the command `prince input.html output.pdf`

The only dependency is [Prince](http://www.princexml.com/), which is free for non-commercial use.

## Reference

### Sections

Sections and subsections are automatically numbered by following this pattern.

```html

Section Header

Subsection Header


Lorem ipsum

```

### Tables and Figures

Figures and tables are also numbered if you include a caption.

```html

12
Example Table


Example Figure

```

### References and Citations

References are also numbered. Be sure to assign them unique IDs.

```html
Nicole. 2015. Title of paper. Journal, 4(3), 1-10.
```

Citations to the references make use of these IDs.

```html

```

Multiple citations can be made in one set of brackets.

```html

```

Sections, tables, and figures can also be referenced by adding a class.

```html



```

### Equations

Equations are also numbered. MathML is well-supported by Prince. For the web, you’ll need [MathJax](http://www.mathjax.org/) to render MathML properly in Chrome and Internet Explorer.

```html



E
=
m

c
2



```

### Footnotes

Footnotes are made within the body text, and are automatically moved to the bottom of the current page.

```html

This is text.And this is a footnote.


```

### Smart Quotes

Smart quotes can be used in lieu of straight quotes by enclosing the text like so. You can nest quotes within quotes.

```html
To be or not be.
```

### Utility Classes

Utility classes are also available to modify layout and counter behavior.

* `col-2`: divide the element into 2 columns
* `col-3`: divide the element into 3 columns
* `col-4`: divide the element into 4 columns
* `col-span`: span all of the columns of parent
* `col-break-before`: force column break before element
* `col-break-after`: force column break after element
* `page-break-before`: force page break before element
* `page-break-after`: force page break after element
* `counter-skip`: do not count this header
* `counter-reset`: reset counter to 0

## Customization

One of the major advantages of PubCSS is that you can use CSS to customize the style. All of the usual rules apply.

To create a new theme, you’ll want to dig into the LESS source. The most common changes can be made through `variables.less`, such as toggling page numbers and setting counter styles. The rest can be included in `custom.less`.