A method for generating, maintaining, updating, and augmenting a working database containing documents used as references for other documents in said working database, said method executed as a supplemental program operable within a word processor, said method comprising the steps of:
- searching a new document for symbols, retrieving said symbols and replacing said retrieved symbols with text representing said retrieved symbols;
- searching said new document for images, retrieving said images and replacing said retrieved images with text representing said retrieved images;
- parsing all text within said new document, including general text, said text representing retrieved symbols, and said text representing retrieved images into one or more discrete clusters, said one or more of said discrete clusters separated with markers, said markers positioned by a marker positioning algorithm;
- manually moving said markers within said new document, said movement of said markers accomplished by a user manually adjusting said markers to user specified positions within said new document;
- deleting said markers within said new document by said user manually deleting said markers;
- adding additional markers within said new document by said user manually inserting said additional markers to user specified positions within said new document;
- highlighting marked discrete clusters within said new document for verification by said user;
- assigning one or more identification codes corresponding one or more said marked discrete clusters within said new document;
- uploading said new document into said working database;
- verifying the upload of said new document into a file system of said working database by providing a file name and location of said new document within said file system;
- searching said working database for text, including general text, said text representing retrieved symbols, and said text representing retrieved images by querying said working database using a search string, said document file name, said document location, and or said identification code representing a discrete cluster;
- retrieving one or more relevant parent documents from said working database, said parent documents containing said text relevant to said search;
- generating a child document by said user selecting text from one or more discrete clusters within one or more of said relevant parent documents;
- inserting said selected text into said child document, said insertion allowing elective retention of parent document identification codes within said inserted text in said child document;
- searching said child document for symbols and images, replacing said symbols and said images with text representing said retrieved symbols and images;
- manually augmenting said inserted text and within said child document, said augmentation allowing addition to, removal, and/or alteration of said inserted text within said child document, said manual augmentation allowing paraphrasing of said inserted text,
- parsing all text within said child document, including general text, said text representing retrieved symbols, and said text representing retrieved images into one or more discrete clusters, said one or more of said discrete clusters separated with markers, said markers positioned by a marker positioning algorithm;
- manually adjusting said markers around said paraphrasing in said child document, while maintaining matches between the said discrete clusters in said parent documents and said discrete clusters in said child documents;
- assigning identification codes to said inserted text within said discrete clusters within said child document;
- automatically generating links between said inserted text within said child document to said selected text within one or more of said parent documents corresponding to said inserted text, said links containing said parent document identification codes retained within said inserted text and said child document identification codes;
- automatically generating links between said inserted text within said child document and said selected text within one or more of said parent documents corresponding to said inserted text by searching said working database for parent documents containing matches to said inserted text within said discrete clusters of said child documents, said links containing said parent document identification codes and said child document identification codes;
- manually generating links between said inserted text within said child document and said selected text within one or more said discrete clusters with said parent documents, said links containing said parent document identification codes and said child document identification codes;
- maintaining a registry of said links in said working database, said registry prompting child document authors when one or more of said parent documents are augmented, said prompting giving notice of said augmentation of said parent document;
- automatically generating citations for said inserted text within said child document using said links, said automatically generated citations referencing corresponding discrete clusters within said parent documents, said citations generated in a pre-set format, customizable by said user;
- inserting said citations into said child document, said citations being movable or augmentable by said user;
- uploading said child document into said working database while allowing said user to electively remove said parent document identification codes within said child document prior to uploading;
- verifying said upload of said child document into said file system of said working database by providing a file name and file location for said child document in said file system of said working database;
- searching said working database for exact matches between the text of said child document and text of all documents stored within said working database and searching said working database for exact matches to said parent document identification codes retained within said child document, if said exact matches are retrieved, said method includes updating positioning of said markers within said child document corresponding to said discrete clusters within said exact matches;
- prompting said user when said exact matches are not retrieved and providing a list of best matches between said text of said child document and said discrete clusters of documents stored within said working database, said user selecting a best match which reposition said markers in said child document corresponding to the text of said best match;
- uploading said child document containing said new markers;
- verifying said upload of said child document containing said new markers into said file system of said working database by providing a file name and file location for said child document in said file system of said working database;
- tracking modifications to text, symbols, format, and/or images of said documents within said working database;
- alerting said user when said modifications occur;
- comparing said documents within said working database by aligning one or more referenced documents with one or more referencing documents and tagging the differences between said documents.