public GUIPrint(){
		//formatting text pane
		addStylesToDocument(doc);
		output.setPreferredSize(new Dimension(706,450));
		
		//Scroller
		scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		String writeBuffer = "";
		
		

		//FORMULA HEADER
		//		writeBuffer ="[FORMULAS] \n";
		//		try{
		//			doc.insertString(doc.getLength(),writeBuffer,doc.getStyle("bold"));
		//			}catch(BadLocationException ble){
		//				System.err.println("Couldn't insert text into text pane.");
		//			}
		output.insertIcon(new ImageIcon("img/formulaheader.png"));
		//This is retarded.
		//There has to be a better way to force newlines in a TextPane.
		//I loving hate TextPanes.
		try{
			doc.insertString(doc.getLength(),"\n",doc.getStyle("regular"));
		}catch(BadLocationException ble){
			System.err.println("Couldn't insert text into text pane.");
		}

		for(int i=0; i<GUIMain.FORMULAS.size();i++) {
			infoLabel formulaLabel = new infoLabel(GUIMain.FORMULAS.get(i).toLaTeXIcon(),i);
			output.insertComponent(formulaLabel);
			formulaLabel.addMouseListener(formulaLabel);
			writeBuffer = "\n" + GUIMain.FORMULAS.get(i).getName() + "\n \n";
			try{
				doc.insertString(doc.getLength(),writeBuffer,doc.getStyle("regular"));
			}catch(BadLocationException ble){
				System.err.println("Couldn't insert text into text pane.");
			}
		}


		//VARIABLE HEADER
		output.insertIcon(new ImageIcon("img/varheader.png"));
		//This is retarded.
		//There has to be a better way to force newlines in a TextPane.
		//I loving hate TextPanes.
		try{
			doc.insertString(doc.getLength(),"\n",doc.getStyle("regular"));
		}catch(BadLocationException ble){
			System.err.println("Couldn't insert text into text pane.");
		}


		for(int i=0; i<GUIMain.VARIABLES.size();i++) {
			writeBuffer =
					GUIMain.VARIABLES.get(i).getVar() + "   Units: " +
							GUIMain.VARIABLES.get(i).getUnit() + "\n" + "Info: " +
							GUIMain.VARIABLES.get(i).getInfo() + "\n" + "Tags: " +
							GUIMain.VARIABLES.get(i).getTags() + "\n";
			
			try{
				doc.insertString(doc.getLength(),writeBuffer,doc.getStyle("regular"));
				genericDeleteButton del = new genericDeleteButton(i,(byte) 1);
				output.insertComponent(del);
				doc.insertString(doc.getLength(),"\n\n",doc.getStyle("regular"));
			}catch(BadLocationException ble){
				System.err.println("Couldn't insert text into text pane.");
			}
			
		}


		//UNIT HEADER
		output.insertIcon(new ImageIcon("img/unitheader.png"));
		//This is retarded.
		//There has to be a better way to force newlines in a TextPane.
		//I loving hate TextPanes.
		try{
			doc.insertString(doc.getLength(),"\n",doc.getStyle("regular"));
		}catch(BadLocationException ble){
			System.err.println("Couldn't insert text into text pane.");
		}


		for(int i=0; i<GUIMain.UNITS.size();i++) {
			writeBuffer =
					GUIMain.UNITS.get(i).getName() + "\n" + "Info: " +
							GUIMain.UNITS.get(i).getInfo() + "\n" + "Tags: " +
							GUIMain.UNITS.get(i).getAllTags() + "\n";
			try{
				doc.insertString(doc.getLength(),writeBuffer,doc.getStyle("regular"));
				genericDeleteButton del = new genericDeleteButton(i,(byte) 0);
				output.insertComponent(del);
				doc.insertString(doc.getLength(),"\n\n",doc.getStyle("regular"));
			}catch(BadLocationException ble){
				System.err.println("Couldn't insert text into text pane.");
			}
			
		}

		contentPanel.setOpaque(false);
		contentPanel.add(scroller);
		add(contentPanel);
	}