1 29 30 package com.caucho.xtpdoc; 31 32 import javax.xml.stream.XMLStreamException; 33 import javax.xml.stream.XMLStreamWriter; 34 import java.io.IOException ; 35 import java.io.PrintWriter ; 36 37 public class Example extends VerboseFormattedTextWithAnchors { 38 private String _title; 39 private String _file; 40 private String _language; 41 42 public Example(Document document) 43 { 44 super(document); 45 } 46 47 public void setTitle(String title) 48 { 49 _title = title; 50 } 51 52 public void setLanguage(String language) 53 { 54 _language = language; 55 } 56 57 public void setFile(String file) 58 { 59 _file = file; 60 } 61 62 public void writeHtml(XMLStreamWriter out) 63 throws XMLStreamException 64 { 65 if (_title != null) { 66 out.writeStartElement("center"); 67 out.writeStartElement("b"); 68 out.writeCharacters(_title); 69 out.writeEndElement(); 70 out.writeEndElement(); 71 } 72 73 if (_file != null) { 74 out.writeEmptyElement("br"); 75 out.writeCharacters("See it in: "); 76 out.writeStartElement("a"); 77 out.writeAttribute("href", _file); 78 out.writeCharacters(_file); 79 out.writeEndElement(); 80 } 81 82 out.writeStartElement("div"); 83 out.writeAttribute("class", "example"); 84 out.writeStartElement("pre"); 85 86 super.writeHtml(out); 87 88 out.writeEndElement(); 89 out.writeEndElement(); 90 } 91 92 public void writeLaTeX(PrintWriter out) 93 throws IOException 94 { 95 if (_language != null) { 96 out.println("\\lstset{fancyvrb,language=" + _language + ","); 97 out.println(" showstringspaces=false,basicstyle=\\small,"); 98 out.println(" stringstyle=\\color[gray]{0.6}}"); 99 } 100 101 out.println("\\begin{center}"); 102 out.println("\\begin{Verbatim}[frame=single,fontfamily=courier,"); 103 out.println(" framerule=1pt,"); 104 out.println(" fontsize=\\footnotesize,"); 105 106 if (_title != null) { 107 out.print(" labelposition=bottomline,label=\\fbox{"); 108 out.println(LaTeXUtil.escapeForLaTeX(_title) + "},"); 109 } 110 111 out.println(" samepage=true]"); 112 113 super.writeLaTeX(out); 114 115 if (_title != null) 117 out.println(); 118 119 out.println(); 120 out.println("\\end{Verbatim}"); 121 122 out.println("\\end{center}"); 123 124 if (_language != null) 125 out.println("\\lstset{fancyvrb=false}"); 126 } 127 } 128 | Popular Tags |