.article { width: 100%; max-width: 50em; margin: 0 auto; font-family: Arial; padding: 1em; counter-reset: figures; } .figure { padding: 0.9em; margin: 0 auto 1em; } .figure figcaption { text-align:center; counter-increment: figures; } .figure figcaption:before { font-weight: bold; content: 'Figure ' counter(figures) ' . '; } .body { margin: 0 auto; font-family: Arial; counter-reset: section; } .h3 { counter-reset: subsection; } .h3:before { counter-increment: section; content: "Section " counter(section) ". "; } .h3:before { counter-increment: subsection; content: counter(section) "." counter(subsection) " "; }