22. A method for analyzing a document comprising a plurality of primitive elements, the method comprising: identifying different sets of lists for different columns of the document, each column ordered within the document based on a reading order; identifying a first list in a first column of the document that has an open end state; identifying a second list, in a second column of the document subsequent to the first column in the reading order, that has an open start state; determining that the first list in the first column continues as the second list in the second column of the document; and storing the first list and the second list as a single list structure associated with the document.
24. The method of claim 22 , wherein determining that the first list in the first column continues with the second list in the second column comprises: generating, using a label generation function, a next list item label for the first list; and determining that the next list item label matches a label of a first list item of the second list in the second column.