12. A method for analyzing a document comprising a plurality of primitive elements, the method comprising: identifying aligned gaps in a plurality of text lines in a column of the document; determining which of the aligned gaps are indicative of spacing between a list item label and a list item in order to identify text lines that linclude the aligned gaps as list items; identifying hierarchical levels for the list items based on alignment, spacing, and content of the list items; and defining a hierarchically-organized set of lists for the column in which list items with the same hierarchical level are in the same list.
12. A method for analyzing a document comprising a plurality of primitive elements, the method comprising: identifying aligned gaps in a plurality of text lines in a column of the document; determining which of the aligned gaps are indicative of spacing between a list item label and a list item in order to identify text lines that linclude the aligned gaps as list items; identifying hierarchical levels for the list items based on alignment, spacing, and content of the list items; and defining a hierarchically-organized set of lists for the column in which list items with the same hierarchical level are in the same list. 13. The method of claim 12 , wherein the primitive elements comprise a plurality of glyphs, wherein identifying aligned gaps comprises: identifying gaps between successive glyphs in a text line that are larger than gaps between glyphs in a word and gaps between words; and identifying sets of gaps that are aligned in successive text lines in the column.