Method and apparatus for formatting documents

Abstract: A method and an apparatus for formatting a document containing command codes indicating prescribed commands concerning structural function, which are simply manipulatable as well as consistently correct. The method includes the steps of: structurally analyzing the document and deriving structural information of the document; detecting the command codes and adjusting the analysis in accordance with the indications of the command codes; and formatting the document in accordance with the structural information. An apparatus for carrying out the method is also disclosed.

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to a method and an apparatus for formatting a document in accordance with structures of the document. Description of the Background Art Recently, there have been remarkable progresses in so-called desk-top publishing as well as in Japanese wordprocessors, in addition to the advances in the output devices such as displays and printers which made it possible to produce documents in much more diverse and effective manners. However, producing documents which are both neat-looking and easily-readable requires thorough understandings of operations, commands and formats of a document formatting apparatus to be used, which makes such a document formatting apparatus almost inaccessible to those without formal trainings. As a solution to this situation, progresses has been made in developing an automatic document formatting system which utilizes an automatically extracted logical structure of a document, along with a document formatting system capable of arranging figures and articles according to automatically derived referential relationships between figures and articles. Although such logical structures and referential relationships are generally sufficient to provide structural information on the document necessary for effective formatting, ambiguities involved in human languages may lead to misapprehension of the logical structures and referential relationships. Furthermore, apart from this problem, outputs of these automatic document formatting apparatus may not satisfy personal or temporal demands of a user. On the other hand, there are document formatting systems which utilizes command codes indicating manners of formatting to be embedded in the document, such as 'Roff'. More recently, there appeared document formatting systems such as 'Scribe' or 'T E X' (features of the T E X system can be found in D.E. Knuth : "The TeXbook", Addison-Wesley Publishing Company, October 1984, pages 7-11, 19-21, 37-41, 85-89, 101, 339-365) which has document data and format data independently so that change in command codes can be made at once on the format data, without looking for every embedded command codes as in 'Roff'. Moreover, 'Scribe' and 'T E X' are capable of performing more sophisticated formatting than others. But, in these document formatting systems, a thorough understanding of command codes is indispensable for skillful maneuvering. Furthermore, even in 'Scribe' and 'T E X', embedding of command codes is necessary which can easily be tedious. Though automatic document formatting apparatuses mentioned above are free of such problems concerning command codes, they are, as described above, prone to the misapprehension of the logical structures and referential relationships due to the ambiguities in the human languages, and the outputs of these automatic document formatting apparatus may not satisfy personal or temporal demands of a user. Thus, with conventional document formatting apparatuses, either a possibility of misapprehension resulting from automatic extraction of document structures or else difficulties in dealing with command codes which need to be embedded in the document and thoroughly mastered by the user, has to be tolerated. SUMMARY OF THE INVENTION The object of the invention is to provide an apparatus and a method for formatting a document including command codes indicating prescribed commands concerning at least logical structures in said document, that avoids a possibility of misapprehension of said at least logical structures due to ambiguities in the human language. This object is solved by an apparatus of claim 1 and a method of claim 4. Further advantageous embodiments and improvements of the invention are defined in the dependent claims. Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a document formatting apparatus according to one embodiment of the present invention. Fig. 2 is a tabulated illustration of examples of command codes to be utilized in the document formatting apparatus shown in Fig. 1. Fig. 3 is another tabulated illustration of logical structures to be utilized in the document formatting apparatus shown in Fig. 1. Fig. 4 is a flow chart for the operation of formatting by the document formatting apparatus shown in Fig. 1. Fig. 5 is an illustration of a document being formatted by the document formatting apparatus shown in Fig. 1, showing manners in which the command codes are used in this embodiment. Fig. 6(A) and (B) are tabulated illustrations of logical structures for the document shown in Fig 5, obtained without and with the command codes. Fig. 7 is another illustration of a document being formatted by the document formatting apparatus shown in Fig. 1, showing manners in which the command codes are used in this embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to Fig. 1, there is shown one embodiment of a document formatting apparatus according to the present invention. This document formatting apparatus comprises an input unit 10 from which a document to be formatted with command codes embedded is entered, an original document memory 20 for storing the document with the command codes entered at the input unit 10, a format memory 30 for storing a format into which the document is to be formatted, an analyzing unit 40 comprising a command code analyzing unit 50 for analyzing contents of the command codes, and a document structure analyzing unit 60 for analyzing logical and referential structures of the document in accordance with the analyzed contents of the command codes, a document structure memory 70 for storing the analyzed structures of the document, a formatting processing unit 80 for carrying out formatting in accordance with the structures of the document stored in the document structure memory 70 and the format stored in the format memory 30, an output unit 90 for presenting the document as formatted by the formatting processing unit 80, and an administration unit 100 for administerring the operations by all these parts of this document formatting apparatus mentioned above. The input unit 10 may take a form of a keyboard, a mouse, or a communication network. The output unit 90 may take a form of a CRT, a display, or a printer. In the analyzing unit 40, when the command codes are present in the document, the command code analyzing unit 50 adjusts operation of the document structure analyzing unit 60 such that the contents of the command codes are reflected in a manner of analyzing the logical and referential structures of the document. Thus, in this embodiment a user can deliberately control the analysis of the logical and referential structures. Moreover, the command code analyzing unit 50 also deciphers those command codes which are directly concerned with layout of the document, so that the user can also have a control over the layout of the document. An example of a set of command codes to be utilized in this embodiment are shown in Fig. 2. As given in the section (0) of Fig. 2, any command code begins with a symbol ← ○ in this embodiment, and what follows this symbol ← ○ designates a type of command code. Various different types of command codes and their corresponding logical attributes are summarized in the section (1) of Fig. 2. For example, a command code ← ○ DATE indicates that what follows is the date, a command code ← ○ NODC indicates what follows is the document number, and so on. In addition, there are analysis prohibition codes shown in the section (2) of Fig. 2 which indicate a portion of the document not to be structurally analyzed such as those containing mathematical formulae and those requiring special type of formatting. Furthermore, there are graphic reference codes as shown in the section (3) of Fig. 2 which indicate the presence of reference from the document to graphics, as well as the location of data on the graphics being referred and the layout of the graphics, i.e., how the graphics are to be incorporated into the final output of the document. There are also a compulsory return code shown in the section (4) of Fig. 2 which indicates forcible changing to the next line, regardless of the logical structure. An example of the logical structure in the document structure memory 70 is shown in Fig. 3. The logical structure in the document structure memory 70 comprises a sentence number labelling each sentences of the document, an attribute for each sentence, a level given to each attribute, and a header pattern for relevant sentences. For example, in Fig. 3 a sentence labelled by the sentence number 4 is given an attribute of Paragraph End in response to the command code ← ○ HEAD present in that sentence, whose level is given as 3 and which has no header pattern. Such a logical structure will be utilized along with the format data in the format memory 30 in carrying out formatting of the document. Referring now to Fig. 4, the operation of document formatting by this document formatting apparatus will be described. At the step 100, the document with the command codes is entered from the input unit 10 and stored in the original document memory 20. Then, one sentence of the document is read out from the original document memory 20 and given to the analyzing unit 40 at the step 101. Then at the step 102, whether there is any command code in this sentence is determined by the command code analyzing unit 50. When there is no command code in the sentence, an ordinary automatic extraction of logical and referential structures of the document is carried out by the document structure analyzing unit 60 at the step 103 and the process proceeds to the step 113 to be explained below. On the other hand, when there is a command code in the sentence, the step 104 will be taken in which whether the command code present in the sentence is one of the logical structure codes is determined by the command code analyzing unit 50. When the command code is one of the logical structure codes, the logical structure of the sentence is extracted by the document structure analyzing unit 60 at the step 105 in accordance with what the command code indicates and the process proceeds to the step 113. Otherwise, the step 106 will be taken in which whether the command code present in the sentence is one of the analysis prohibition codes is determined by the command code analyzing unit 50. When the command code is one of the analysis prohibition codes, the structural analysis by the document structure analyzing unit 60 is controlled at the step 107 in accordance with what the command code indicates and the process proceeds to the step 113. Otherwise, the step 108 will be taken in which whether the command code present in the sentence is one of the graphic reference codes is determined by the command code analyzing unit 50. When the command code is one of the graphic reference codes, the referential structure of the sentence is extracted by the document structure analyzing unit 60 at the step 109 in accordance with what the command code indicates and the process proceeds to the step 113. Otherwise, the step 110 will be taken in which whether the command code present in the sentence is the compulsory return code is determined by the command code analyzing unit 50. When the command code is the compulsory return code, the information of the compulsory return is deciphered and extracted by the command code analyzing unit 50 at the step 111 and the process proceeds to the step 113. Otherwise, the command code present in the sentence is in error since it is not any one of command codes given in Fig. 2, so at the step 112 the error in the command code is corrected, and the process proceeds to the step 113. At the step 113, the result of the logical and referential structures obtained up to this point is stored in the document structure memory 70. Then at the step 114, whether all the sentences in the document have been checked is determined. When all the sentences in the document have not been checked, the process returns to the step 101 and the steps following will be repeated. Otherwise the process proceeds to the step 115, at which the formatting of the document is carried out by the formatting processing unit 80 in accordance with the logical and referential structures stored in the document structure memory 70 as well as with the format stored in the format memory 30, and as the resulting formatted document is outputted by the output unit 90 the process terminates. One practical examples of the document and the use of the command codes is shown in Fig. 5. In this example of Fig. 5 which is a report entitled 'Intelligent document processing system', the first line "INTELLIGENT DOCUMENT PROCESSING SYSTEM" can be identified as a title by the ordinary automatic logical structure extraction so that no command code is necessary in this first line. On the other hand, the second line "RACHI YOZAN" will most likely not be identifiable as a name of the author, as Rachi Yozan is a very rare name so that this name cannot be found in a name data-base. Thus, that "RACHI YOZAN" is a name of the author is indicated by placing the command code ← ○ AUTH at the top of this second line. Accordingly, the document structure analyzing unit 60 can construe "RACHI YOZAN" as a name of the author correctly. Likewise, "NICHIBEI SOFTWARE" in the third line can be identified correctly as a name of the organization to which the author belongs by placing the command code ← ○ SECT at the top of this third line. As for the fourth line, there is a compulsory return code at the top of this fourth line, as this fourth line is to be left blank. The fifth line "1. INTRODUCTION" can be identified as a section header with 'introduction' as a reserved word, by the ordinary automatic logical structure extraction so that no command code is necessary in this fifth line. Also, the thirty-third line "← ○ S Fig. 10 ← ○ ZF bunsho-1 ← ○ ZP d ← ○ E ..." means that "Fig. 10 is in the file 'bunsho-1' and it is to be laid out in the lower part of the current page ...". How the logical structure obtained by the document structure analyzing unit 60 is affected by the presence of the command codes in the example of Fig. 5 is shown in Fig. 6(A) and (B), where Fig. 6(A) shows the logical structure obtained from the document without the command codes and Fig. 6(B) shows the logical structure obtained from the document with the command codes. As can be seen from Fig. 6, without the command codes, i.e., by a completely automatic logical structure extraction, the second and the third lines are construed incorrectly as sub-titles in Fig. 6(A), whereas with the use of the command codes this misapprehension can be avoided in Fig. 6(B). Another practical example of the document and the use of the command codes, in particular the use of the analysis prohibition codes, is shown in Fig. 1. In this example of Fig. 7 which is a portion of an article containing mathematical formulae, the analysis prohibition start line code ← ○ X and the analysis prohibition end line code ← ○ Y are placed at a top and a bottom , respectively, of the mathematical formulae so that this portion will not be structurally analyzed, as the meaning of the mathematical formulae is not analyzable by the document structure analyzing unit 60. Apart from the mathematical formulae, the analysis prohibition codes can similarly be used for those portions which are written in special or personal manners. In addition, the compulsory return code ← ○ C can be placed in a middle of a line as shown in Fig. 7. As described according to this embodiment it is possible to have a document formatting apparatus which is both simply manipulatable and consistently correct. It can be seen from the above description that this is due to the particular use of both the automatic logical and referential structures, and the command codes. Consequently, according to this embodiment the misapprehension inevitably accompanying the completely automatic structural analysis can be rectified by the use of the command codes. At the same time, as this embodiment requires the use of the command code in only those places which may causes misapprehension, and not elsewhere, the encumbrances associated with the conventional usage of the command codes can be lessened enormously. It is to be noted that although in the above embodiment, the command codes are placed at the top of lines, this can easily be modified to allow placement of the command code anywhere in the lines. Also, although in the above embodiment the only command codes which are directly concerned with layout of the document are the compulsory return codes, it is possible to incorporate more complicated command codes such as font command codes and style command codes used in 'Scribe', and thereby enhancing the scope of possible formatting. Also, although in the above embodiment the structural analysis is performed line by line, this can be performed in so-called Top-Down fashion, i.e., the entire document all at once. Moreover, the analysis prohibition codes ← ○ X and ← ○ Y can be modified such that within a portion indicated by them the analysis is to be performed by a particular processing system such as T E X which is known to be highly effective in dealing with mathematical formulae. Furthermore, this embodiment can be effectively employed not only for the document containing references to the graphics as in the examples in the foregoing description, but also for the document having references to a list of references or bibliography, and for relational data-bases.

Claims: An apparatus for formatting a document which contains command codes indicating prescribed commands concerning structural functions, comprising: a) entering means (10) for entering said document into said apparatus; b) analysing means (60) for analysing a document structure for each portion of said document with and without command codes, said document structure including at least a logical structure which indicates a logical attribute for each determined portion of said document, and deriving structural information that defines the document structure from said document by automatically carrying out prescribed routine analysis of said document; c) detecting means (50) for detecting said command codes and adjusting an operation of said analysing means (60) for those portions of the document with command codes to derive said structural information according to indications of said command codes; and d) formatting means (80) for carrying out formatting of said document by using said structural information derived by said analysing means (60). The apparatus of claim 1, wherein the structurally analysing means (60) analyses a referential structure of the document. The apparatus of claim 1, wherein the command codes also indicates prescribed command concerning format, and wherein said formatting means (80) carries out said formatting in accordance also with the commands concerning the format indicated by the command codes. A method for formatting a document which contains command codes indicating prescribed commands concerning structural functions, comprising the following step: a) entering said document into said apparatus; wherein said method further comprises the following steps, which are carried out automatically: b) analysing (103) a document structure for each portion of said document with and without command codes, said document structure including at least a logical structure which indicates a logical attribute for each determined portion of said document, and deriving structural information that defines the document structure from said document by carrying out prescribed routine analysis of said document; c) detecting (102) said command codes and adjusting (105, 107, 109, 111) said analysing operation for those portions of the document with command codes to derive said structural information according to indications of said command codes; and d) formatting (115) said document by using said structural information derived at said detecting and adjusting step (102, 105, 107, 109, 111). The method of claim 4, wherein at the structurally analysing step (103) a referential structure of the document is analysed. The method of claim 4, wherein the command codes also indicates prescribed command concerning format, and wherein at said formatting step (115) said formatting is carried out in accordance also with the commands concerning format indicated by the command codes. An apparatus according to claim 1, characterized in that said command codes comprise modified analysis prohibition command codes (X, Y), such that within a portion in said document indicated by them the analysis is to be carried out by a particular processing system, such as a T E X (trademark) system. An apparatus according to claim 1, characterized by an original document memory (20) for storing the document with the command codes entered by said entering means (10). An apparatus according to claim 1, characterized by a format memory (30) for storing the format, into which said entered document is to be formatted. An apparatus according to claim 1, characterized by said detection means (50) analysing the contents of said command codes. An apparatus according to claims 10 and 2, characterized by said analysing means (60) analysing logical and referential structures of said document in accordance with said analysed contents of said command codes. An apparatus according to claim 1, characterized by a document structure memory (70) for storing the analysed structures of said document. An apparatus according to claims 12 and 9, characterized by said formatting means (80) carrying out said formatting of said document in accordance with said structures of the document stored in the document structure memory (70) and the format stored in the format memory (30). An apparatus according to claim 1, characterized by an output unit (90) for presenting the document as formatted by the formatting means (80). An apparatus according to claim 10, characterized by said detection means (50) deciphering those command codes, which are directly concerned with the layout of said document. An apparatus according to claim 1, characterized by said command codes comprising logical structure codes, analysis prohibition codes, graphic reference codes and compulsory return codes. An apparatus according to claims 12 and 1, characterized in that a logical structure stored in said document structure memory (70) comprises a sentence number labelling each sentence of the document, an attribute for each sentence, a level given to each attribute and a header pattern for said sentences. An apparatus according to claims 17 and 13, characterized by said formatting means (80) utilising said logical structure with said format data in said format memory (30) for carrying out said formatting of said document. A method according to claim 4, characterized in that said analysing step (103) and said detecting and adjusting step (102; 105, 107, 109, 111) is repeated for each sentence of said document. A method according to claim 4, characterized in that in · detecting step c) also those command codes are deciphered, which are directly concerned with the layout of the document.

Inventors: DOI MIWAKO, FUKUI MIKA, IWAI ISAMU, TAKEBAYASHI YOICHI, YAMAGUCHI KOJI, DOI, MIWAKO, FUKUI, MIKA, IWAI, ISAMU, TAKEBAYASHI, YOICHI, YAMAGUCHI, KOJI
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1989
Main classification: G06F17
IPC codes: G06F17