anchor.diff:  * replace explicit char ranges with classes in regexp (e.g., [[:word:]] or \w)
   * test Rouge upgrade (should address workaround we have in encoder)
   * devise a way to specify a value as a string literal (variable replacement only) in theme
  -* prawn-gmagick (fixes PNG transparency issue); don't fail-fast on gif if gem is detected
   * document pdfwidth in themeing guide (currently no mention of it)
   * convert "-" in variable name in theme to underscore (e.g., $base-font-size)
   * apply calculated theme values after loading?
  
positive.code: 
  == TODO
  
  * recto/verso margins
    - account differences in top/bottom margins on recto/verso pages in running header/footer
    - dry runs need to reflect current recto/verso margins; situation can get complex if they differ
    - get import_page to stop adding an extra page
    - blank page after title page if media=print
  
  * REGRESSION: we're getting a lot of extra space between a nested list item and the next item in the parent list
  * introduce object to store/organize running content data and specs
  * QUESTION: should theme font handle hierarchical keys (either explicitly or implicitly) 
  * QUESTION: should we set pdf-anchor attribute on every node that has an id?
  * need to support .canvas role on image so it isn't shrunk to fit inside top/bottom margins
    - perhaps .canvas, .canvas-x, .canvas-y
  * FILE ISSUE: when split source listing, add top padding to bounding box (or is it the line metrics top?)
  * stroke and fill multi-page sidebar block (#259) and example block (#362)
  * document vw measurement unit in theming guide (make it clear it only applies in certain cases)
  * might be better to organize fragments of source chunks by lines (and pass that around) to simplify post-processing
  * when using single_line: true on formatted_text, it's necessary to reapply our padding top/bottom from line metrics
  * support negative start value for list (#498)
    - need to count negative numbers in correct direction
  * submit pastie theme for Rouge upstream
  * wrapped lines in source listing should be indented to account for line number gutter
  * add sample SVG to chronicles-example.adoc
  * log warning with reason when remote image can't be read
  * inline images: allow built-in font family names for SVG to be remapped
  * inline images: should we be passing absolute image path in tag or something relative (or even a lookup id?)?
  * document missing keys in theming guide for 1.5.0.beta.1
    - missing text_transform in some places
  * support zero-leading integers (use dedicated type like w/ roman numerals) in reversed order lists
  * large image runs into running footer (doesn't bottom margin need to be aligned with running footer height?)
  * should str_to_pt helper handle % and vw units?
  * enable/implement key table_font_style
  * allow style of visible link to be controlled by theme (similar to what we do in the manpage converter)
  * check that color of table edges set to table_grid_color??
  * shouldn't the default align for headings be $base_align??
  * should not wrap at formatting mark unless it is at a break opportunity
  * create value type for font style and font alignment for theming guide
  * force encoding of theme to UTF-8 (particularly for keys related to content)
  * be more consistent with how examples are shown in theming-guide.adoc (do we show last segment only?)
  * document theme-related AsciiDoc attributes in theming-guide (#428)
  * allow top as alternative to margin_top for all elements on title page (#431)
  * add feature to number bullets according to section number (needed for OpenDevise agreement)
  * swallowing exceptions! (any use of e.message in a string is dangerous)
  * allow ordered list marker to be prefixed by section number (a global setting?)
  * conum not aligned vertically with callout text (perhaps too small?)
  
negative.code: * be mindful that layout_prose adds margin to bottom of content by default (important when working in a bounding box)
  * ttfunk does not support ligatures (e.g., fi -> ﬁ); we could do this manually in post_replacements
  
  == Notes
  
  * we always leave cursor on start of page we're about to write on; certain checks rely on this fact
  * "section title" is the semantic element; "heading" is the structural element
  * /PageLabels/Nums must have entry for every page in front matter, even if a blank page
    - in fact, must account for every page or else numbering lags behind when scrolling document
  * if we set the vposition on image to a numeric value, it skips the overrun check that happens internally
  
  == Potential Optimizations
  
  