示例#1
0
文件: Bot.py 项目: Popaulol/LaTeX_Bot
    async def on_message(self, message):
        curr_time = time.perf_counter()
        global err
        if message.content.lower().startswith(Command.lower()):
            try:
                sympy.preview(message.content[len(Command) + 1:],
                              viewer="file",
                              filename=f"rendered-{curr_time}.png")
                await message.channel.send(
                    file=discord.File(f"rendered-{curr_time}.png"))
                time.sleep(2)
                os.remove(f"rendered-{curr_time}.png")
            except RuntimeError as e:
                print(e)
                err = e
                await message.channel.send(
                    "An Error during the LaTeX Rendering accoured" +
                    ", if you want to see the Error Type 'y' otherwise irgnore this message."
                )

        elif message.content.lower() == "y":
            char_count = 0
            curr_msg = ""
            for char in str(err):

                curr_msg = curr_msg + char
                char_count += 1
                if char_count >= 1999:
                    await message.channel.send(curr_msg)
                    char_count = 0
                    curr_msg = ""
            await message.channel.send(curr_msg)
示例#2
0
async def expr(client, message):
    args = message.command
    try:
        if "arg" not in args:
            return  # nothing to do!
        expr = args["arg"]
        logger.info(f"Mathifying \'{expr}\'")
        await client.send_chat_action(message.chat.id, "upload_document")
        if "-latex" in args["flags"]:
            preview(expr,
                    viewer='file',
                    filename='expr.png',
                    dvioptions=[
                        "-T", "bbox", "-D 300", "--truecolor", "-bg",
                        "Transparent"
                    ])
        else:
            res = parse_expr(expr)
            preview(res,
                    viewer='file',
                    filename='expr.png',
                    dvioptions=[
                        "-T", "bbox", "-D 300", "--truecolor", "-bg",
                        "Transparent"
                    ])
        await client.send_photo(message.chat.id,
                                "expr.png",
                                reply_to_message_id=message.message_id,
                                caption=f"` → {expr} `")
    except Exception as e:
        traceback.print_exc()
        await edit_or_reply(message, "`[!] → ` " + str(e))
    await client.send_chat_action(message.chat.id, "cancel")
    await client.set_offline()
示例#3
0
def render_latex(formula, display, *args, **kwargs):
    """Renders LaTeX expression to bitmap image data.
    """

    # Set a default math environment to have amsmath
    if 'preamble' not in kwargs:
        kwargs['preamble'] = r"""\documentclass[varwidth]{standalone}
        \usepackage{amsmath,amsfonts}
        \begin{document}"""

    if display:
        sympy.preview(r'\begin{align*}' + formula + r'\end{align*}',
                      viewer='file',
                      filename="out.png",
                      euler=False,
                      *args,
                      **kwargs)
    else:
        sympy.preview('$' + formula + '$',
                      viewer='file',
                      filename="out.png",
                      euler=False,
                      *args,
                      **kwargs)

    with open('out.png', 'rb') as f:
        data = f.read()

    im = Image.open(BytesIO(data))
    width, height = im.size
    del im
    return data, width, height
示例#4
0
文件: miscprog.py 项目: bthaute/OS_RT
def prev(expr, **kwargs):
    """
    sympy preview abbreviation
    """
    KWargs = {'output':'pdf'}
    KWargs.update(kwargs)
    sp.preview(expr, **KWargs)
示例#5
0
def expr_to_png(expr, basename, add_bg=True, pad=10, onlymath=True):
    """Adding the only math option so that I can also pass in
    sentences with math inline."""
    if onlymath:
        if expr[0] != '$':
            expr = '$' + expr
        if expr[-1] != '$':
            expr += '$'
    curdir = os.getcwd()
    os.chdir(folder)
    fno, ext = os.path.splitext(basename)
    pdf_name1 = fno + '.pdf'
    sympy.preview(expr,
                  viewer='file',
                  output='pdf',
                  filename=pdf_name1,
                  preamble=myheader)
    cmd1 = 'pdfcrop_rwk.py %s' % pdf_name1
    os.system(cmd1)
    cropped_pdf_name = fno + '_cropped.pdf'
    cmd2 = 'pdf_to_png_2016.py %s' % cropped_pdf_name
    os.system(cmd2)

    if add_bg:
        cropped_png_name = cropped_pdf_name.replace('.pdf', '.png')
        add_background(cropped_png_name, pad=pad)
        os.remove(cropped_png_name)

    os.chdir(curdir)
示例#6
0
async def expr_cmd(client, message):
    """convert to LaTeX formula

	This command accepts sympy syntax and will generate a LaTeX formula as image.
	Add flag `-latex` to directly pass LaTeX.
	"""
    if len(message.command) < 1:
        return await edit_or_reply(message, "`[!] → ` No input")
    expr = message.command.text
    prog = ProgressChatAction(client,
                              message.chat.id,
                              action="upload_document")
    if message.command["-latex"]:
        preview(expr,
                viewer='file',
                filename='expr.png',
                dvioptions=[
                    "-T", "bbox", "-D 300", "--truecolor", "-bg", "Transparent"
                ])
    else:
        res = parse_expr(expr)
        preview(res,
                viewer='file',
                filename='expr.png',
                dvioptions=[
                    "-T", "bbox", "-D 300", "--truecolor", "-bg", "Transparent"
                ])
    await client.send_photo(message.chat.id,
                            "expr.png",
                            reply_to_message_id=message.message_id,
                            caption=f"` → {expr} `",
                            progress=prog.tick)
def on_latex(event):
    cs = listbox.curselection()
    latex_string = listbox.get(cs)
    print(latex_string)
    expr = "$\displaystyle " + latex_string + "$"

    #This creates a ByteIO stream and saves there the output of sympy.preview
    f = BytesIO()
    the_color = "{" + top.cget('bg')[1:].upper() + "}"
    sp.preview(expr,
               euler=False,
               preamble=r"\documentclass{standalone}"
               r"\begin{document}",
               viewer="BytesIO",
               output="ps",
               outputbuffer=f)
    f.seek(0)
    #Open the image as if it were a file. This works only for .ps!
    img = Image.open(f)
    #See note at the bottom
    img.load(scale=10)
    img = img.resize((int(img.size[0] / 4), int(img.size[1] / 4)),
                     Image.BILINEAR)
    photo = ImageTk.PhotoImage(img)
    label.config(image=photo)
    label.image = photo
    f.close()
示例#8
0
    def render(self, formula):
        """
        Synchronous method. Returns rendered image and text of the formula,
        corresponding to the rendered image when rendering is done.
        """
        if self.cur_formula is None:
            self.cur_formula = formula
        elif self.cur_formula == formula:
            return self.res_img, self.cur_formula
        self.cur_formula = formula
        self.res_img = None

        with tempfile.NamedTemporaryFile(suffix='.png',
                                         delete=False) as output_file:
            output_file_name = output_file.name

        try:
            sympy.preview('$${}$$'.format(formula),
                          viewer='file',
                          filename=output_file_name,
                          euler=False,
                          dvioptions=['-D', '{}'.format(DENSITY)])
            self.res_img = cv.imread(output_file_name)
        finally:
            os.unlink(output_file_name)

        return self.res_img, self.cur_formula
示例#9
0
 async def integrate(self, ctx, *, eq: parse_eq, value=None):
     """Integrates single variable equations"""
     sympy.preview(sympy.integrate(eq),
                   viewer='file',
                   filename=self.file_location,
                   dvioptions=['-D', '200'])
     await ctx.send(file=discord.File(self.file_location))
示例#10
0
 async def triple_integral(self, ctx, eq: parse_eq, order: parse_var):
     """Computes triple integrals"""
     sympy.preview(sympy.integrate(eq, order[0], order[1], order[2]),
                   viewer='file',
                   filename=self.file_location,
                   dvioptions=['-D', '200'])
     await ctx.send(file=discord.File(self.file_location))
示例#11
0
def image_generation(formula: str) -> Image:
    """Returns a PIL Image of the LaTeX input

    :param formula: The LaTeX input
    :type formula: str
    :return: An image of the LaTeX input
    :rtype: Image
    """

    expr = "$\displaystyle " + formula + "$"

    # This creates a ByteIO stream and saves there the output of sympy.preview
    f = BytesIO()
    sympy.preview(expr,
                  euler=False,
                  preamble=r"\documentclass[varwidth,convert]{standalone}"
                  r"\usepackage{amsmath,amssymb,amsthm,mathtools}"
                  r"\begin{document}",
                  viewer="BytesIO",
                  output="ps",
                  outputbuffer=f)
    f.seek(0)

    # Open the image as if it were a file.
    img = Image.open(f)

    # Resize the image to look sharper
    img.load(scale=50)

    return img
示例#12
0
def _convert_math(expr: str, packages: List[str] = []) -> str:
    """Convert mathematics symbols to a base64 encoded GIF file."""
    from base64 import b64encode
    from io import BytesIO

    from PIL import Image
    from sympy import preview

    # see issue #1096
    expr = expr.replace("\\Z", "\\mathbb{Z}")
    expr = expr.replace("\\N", "\\mathbb{N}")
    expr = expr.replace("\\R", "\\mathbb{R}")
    expr = expr.replace("\\isin", "\\in")
    expr = expr.replace("\\and", "\\land")
    expr = expr.replace("\\Tau", "\\mathrm{T}")
    expr = expr.replace("\\infin", "\\infty")
    expr = expr.replace("\\rarr", "\\rightarrow")

    dvioptions = ["-T", "tight", "-z", "0", "-D 150", "-bg", "Transparent"]
    with BytesIO() as buf, BytesIO() as im:
        preview(
            f"${expr}$",
            output="png",
            viewer="BytesIO",
            outputbuffer=buf,
            dvioptions=dvioptions,
            packages=tuple(packages),
        )
        Image.open(buf).convert("L").save(im, format="gif", optimize=True)

        im.seek(0)
        raw = im.read()

    return f'<img style="{IMG_CSS}" src="data:image/gif;base64,{b64encode(raw).decode()}"/>'
示例#13
0
文件: bot.py 项目: ErikBoesen/texbot
def ingest(message):
    response = None
    text = message["text"].strip()
    if message["sender_type"] == "user" and text.startswith(PREFIX):
        if message["text"].endswith(SUFFIX):
            img = BytesIO()
            imagesize = "bbox"
            offset = "0.3cm,0.3cm"
            resolution = 400
            backcolor = "White"
            forecolor = "Black"
            dvi = r"-T %s -D %d -bg %s -fg %s -O %s" % (imagesize,
                                                        resolution,
                                                        backcolor,
                                                        forecolor,
                                                        offset)
            dvioptions = dvi.split()
            try:
                sympy.preview(text, output="png", viewer="BytesIO",
                              outputbuffer=img, euler=False, dvioptions=dvioptions)
                url = upload_image(img.getvalue())
                response = ("", url)
            except Exception as e:
                print(e)
                response = ("There was an error typsesetting the equation you specified. Please check your syntax, or report a bug at https://github.com/ErikBoesen/texbot/issues/new!", "")
        else:
            command = text.lower().lstrip(PREFIX).split()[0]
            if command == "info":
                return ("I'm TeXbot, a helpful tool that you can use to typeset (La)TeX math in GroupMe! I was made by Erik Boesen (erikboesen.com). You can see more information and add me to your own chat at https://mebots.co/bot/texbot. My source code is at https://github.com/ErikBoesen/texbot.", "")
    return response
示例#14
0
def saveToDVI(name, expr):
    f = open(name, "wb")
    sympy.preview(expr,
                  viewer="BytesIO",
                  outputbuffer=f,
                  euler=False,
                  output="dvi")
    f.close()
示例#15
0
def saveToPS(name, expr):
    f = open(name, "wb")
    sympy.preview(expr,
                  viewer="BytesIO",
                  outputbuffer=f,
                  euler=False,
                  output="postscript")
    f.close()
def on_latex(master, latex_str):
    preview_window = Toplevel(master)
    label = Label(preview_window)

    expr = latex_str + "\\end{document}"

    styles_location = os.path.dirname(
        os.path.realpath(__file__)) + "/src_styles"

    the_color = "{" + master.cget('bg')[1:].upper() + "}"
    preamble = r"\newcommand{\pathSrcStyleFiles}{" + styles_location + "}"
    preamble += r"\documentclass{article}"
    preamble += r"\usepackage{pagecolor}"
    preamble += r"\usepackage[utf8x]{inputenc}"
    preamble += r"\usepackage[T1]{fontenc}"
    preamble += r"\usepackage{automultiplechoice}"
    preamble += r"\usepackage{amssymb}"
    preamble += r"\usepackage{amsmath}"
    # r"\definecolor{graybg}{HTML}" + the_color +
    # r"\pagecolor{graybg}"
    preamble += r"\input{\pathSrcStyleFiles/defGras.tex}"
    preamble += r"\input{\pathSrcStyleFiles/defCdes.tex}"
    preamble += r"\begin{document}"
    # This creates a ByteIO stream and saves there the output of sympy.preview
    f = BytesIO()

    sp.preview(expr,
               euler=False,
               preamble=preamble,
               viewer="BytesIO",
               output="ps",
               outputbuffer=f)
    f.seek(0)
    # Open the image as if it were a file. This works only for .ps!
    img = PILImage.open(f)
    # See note at the bottom
    img.load(scale=5)
    img = img.resize((int(img.size[0] / 3), int(img.size[1] / 3)),
                     PILImage.BILINEAR)

    width, height = img.size
    left = width / 8
    top = height / 9
    right = width
    bottom = height / 3.5
    img = img.crop((left, top, right, bottom))

    photo = ImageTk.PhotoImage(img)
    label.config(image=photo)
    label.image = photo
    f.close()

    label.pack()
    preview_window_width = str(int(right - left))
    preview_window_height = str(int(bottom - top))
    preview_window.geometry(preview_window_width + "x" + preview_window_height)
    preview_window.resizable(False, False)
    preview_window.mainloop()
示例#17
0
 def _preview_wrapper(o):
     exprbuffer = StringIO()
     preview(o,
             output='png',
             viewer='StringIO',
             outputbuffer=exprbuffer,
             preamble=preamble,
             dvioptions=dvioptions)
     return exprbuffer.getvalue()
示例#18
0
def solve_integral(event, session):
	print(event.text)
	integral = event.text.replace(re.search(commands["неопределённый интеграл"]["regex"], event.text, re.IGNORECASE).group(0), '').strip()
	preview(integrate(parse_expr(integral)), viewer="file", filename="answer.png")
	upload = VkUpload(session)
	photo = upload.photo_messages(
		"answer.png"
		)
	print(photo)
	return f'photo{str(photo[0]["owner_id"])}_{str(photo[0]["id"])}'
示例#19
0
def latex2png(string, name, dvi_options=dviOptions, outTex=False):
    """
    Given a LaTeX formatted string, outputs a PNG image (<name>.png) of the string
    processed with LaTeX.  <name> is also added to mkdwns for printing a markdown file
    reference to the image.  A TEX file (<name>.tex) containing the string will also be
    output if ouTex is set to True.
    """
    outTexFile = name+'.tex' if outTex else None
    preview(string, outputTexFile=outTexFile, filename=name+'.png',
            viewer='file', dvioptions=dvi_options)
    mkdwns.append( mkdwn % ((name,)*2) )
示例#20
0
 def _preview_wrapper(o):
     exprbuffer = BytesIO()
     try:
         preview(
             o, output="png", viewer="BytesIO", outputbuffer=exprbuffer, preamble=preamble, dvioptions=dvioptions
         )
     except Exception as e:
         # IPython swallows exceptions
         debug("png printing:", "_preview_wrapper exception raised:", repr(e))
         raise
     return exprbuffer.getvalue()
示例#21
0
    def _get_latex_bytes(_latex: str):
        buff = io.BytesIO()

        preview(
            _latex,
            viewer="BytesIO",
            outputbuffer=buff,
            euler=False,
            dvioptions=["-D", "1200"],
        )

        return buff.getvalue()
示例#22
0
def create_list_of_hashes(math):
    """Dla zadanej listy wzorów zwraca listę hashy wygenerowanych na podstwie graficznej reprezentacji wzoru"""

    math_hash = []
    for i in math:
        print("Przetwarzanie wzory:"+i)
        byteImgIO = BytesIO()
        preview(r'$$' + i + '$$', output='png', viewer='BytesIO', outputbuffer=byteImgIO, packages=("polski", "inputenc"), euler=False)
        img = Image.open(byteImgIO)
        hash = imagehash.average_hash(img)
        math_hash.append(hash)
    return math_hash
示例#23
0
    def setLabel(self, label=""):
        self.label = label
        self.manualysized = False
        if (self.preview_flag and len(self.label) > 0):
            preview('$' + self.label + '$',
                    viewer='file',
                    filename=".tmp/.otmt/" + str(os.getpid()) + "/s" +
                    str(self.id) + '.png')
            self.prev_image = QImage(".tmp/.otmt/" + str(os.getpid()) + "/s" +
                                     str(self.id) + '.png')

        self.update()
示例#24
0
 def _preview_wrapper(o):
     exprbuffer = BytesIO()
     try:
         preview(o, output='png', viewer='BytesIO',
                 outputbuffer=exprbuffer, preamble=preamble,
                 dvioptions=dvioptions)
     except Exception as e:
         # IPython swallows exceptions
         debug("png printing:", "_preview_wrapper exception raised:",
               repr(e))
         raise
     return exprbuffer.getvalue()
示例#25
0
 async def latex(self, ctx: aoi.AoiContext, *, formula: str):
     await ctx.trigger_typing()
     buffer = BytesIO()
     try:
         sympy.preview(f"\\[{formula.strip('`')}\\]", viewer="BytesIO", outputbuffer=buffer)
     except RuntimeError:
         return await ctx.send_error("An error occurred while rendering.")
     result = BytesIO()
     buffer.seek(0)
     old = Image.open(buffer)
     ImageOps.expand(old, border=20, fill=(0xff, 0xff, 0xff)).save(result, format="png")
     await ctx.embed(image=result)
示例#26
0
 def block_math(self, text):
     import sympy
     if not os.path.exists('tmp'):
         os.makedirs('tmp')
     filename = 'tmp/tmp%d.png' % self.img_counter
     self.img_counter = self.img_counter + 1
     sympy.preview(r'$$%s$$' % text,
                   output='png',
                   viewer='file',
                   filename=filename,
                   euler=False)
     return self.image(filename, None,
                       "Equation " + str(self.img_counter - 1))
示例#27
0
def convert(left, expr, right, args, i):
    """Render all images and save on local disk or upload."""
    global count

    filename = '{}.png'.format(i)
    filepath = os.path.join(args.image_assets, filename)
    markdown = '![{}]({})'.format(
        i, os.path.join(args.image_url_prefix, filepath))

    expr = '{}{}{}'.format(left, expr, right)
    if not os.path.exists(args.image_assets):
        os.makedirs(args.image_assets, exist_ok=True)
    preview(expr, viewer='file', filename=filepath, euler=False)
    return markdown
示例#28
0
def convert_latex_to_image(latex_string):
    """
        This function takes in a LaTex string and saves it as an image in [output_path]
    """
    output_filename = str(time.time()) + ".png"
    try:
        preview(latex_string, viewer="file", filename=output_filename, euler=False)
        f = open(output_filename, "rb")
        image_base64_string = base64.b64encode(f.read())
        f.close()
        os.remove(output_filename)
        return image_base64_string
    except Exception as e:
        return None
def render_latex(mlist, tup):
    global args
    i, formula, font = tup
    formula = formula.strip('\n')
    if font:
        lat = '$$' + font + '{' + formula + '} $$'
    else:
        lat = '$$' + formula + '$$'
    try:
        preview(lat, viewer='file', filename='{}/{}.png'.format(args.output_dir, i),
                dvioptions=options)
        mlist.append((i, formula))
    except Exception:
        pass
示例#30
0
    async def tex(self, ctx, *, query: str):
        """Parses and prints LaTeX equations."""
        await ctx.trigger_typing()

        tex = ""
        sp = ""
        if "$$" in ctx.message.content:
            sp = ctx.message.content.split("$$")
        elif "$" in ctx.message.content:
            sp = ctx.message.content.split("$")

        if len(sp) < 3:
            await ctx.send("PLEASE USE '$' AROUND YOUR LATEX EQUATIONS. CHEEP."
                           )
            return

        up = int(len(sp) / 2)
        for i in range(up):
            tex += "\\[" + sp[2 * i + 1] + "\\]"

        buf = BytesIO()
        LATEX_PREAMBLE = ("\\documentclass[varwidth,12pt]{standalone}"
                          "\\usepackage{alphabeta}"
                          "\\usepackage[utf8]{inputenc}"
                          "\\usepackage[LGR,T1]{fontenc}"
                          "\\usepackage{amsmath,amsfonts,lmodern}"
                          "\\begin{document}")
        preview(
            tex,
            preamble=LATEX_PREAMBLE,
            viewer="BytesIO",
            outputbuffer=buf,
            euler=False,
            dvioptions=["-T", "tight", "-z", "9", "--truecolor", "-D", "600"])
        buf.seek(0)
        img_bytes = np.asarray(bytearray(buf.read()), dtype=np.uint8)
        img = cv2.imdecode(img_bytes, cv2.IMREAD_UNCHANGED)
        img2 = cv2.copyMakeBorder(img,
                                  115,
                                  115,
                                  115,
                                  115,
                                  cv2.BORDER_CONSTANT,
                                  value=(255, 255, 255))
        fn = "latexed.png"
        retval, buf = cv2.imencode(".png", img2)
        img_bytes = BytesIO(buf)

        await ctx.send(file=discord.File(fp=img_bytes, filename=fn))
示例#31
0
def render_latex(text, euler=False, dpi=200, border=3):
    if not isinstance(text, str):
        text = sympy.latex(text)
    text = f"$${text}$$"
    obj = BytesIO()
    sympy.preview(
        text,
        output='png',
        viewer='BytesIO',
        outputbuffer=obj,
        euler=euler,
        dvioptions=["-T", "tight", "-z", "0", "--truecolor", f"-D {dpi}"])
    img = ImageOps.expand(Image.open(obj), border=border, fill=(255, 255, 255))
    obj.close()

    return img
示例#32
0
文件: printing.py 项目: msgoff/sympy
 def _svg_wrapper(o):
     exprbuffer = BytesIO()
     try:
         preview(
             o,
             output="svg",
             viewer="BytesIO",
             outputbuffer=exprbuffer,
             preamble=preamble,
             dvioptions=dvioptions_svg,
         )
     except Exception as e:
         # IPython swallows exceptions
         debug("svg printing:", "_preview_wrapper exception raised:", repr(e))
         raise
     return exprbuffer.getvalue().decode("utf-8")
示例#33
0
def expr_to_png(expr, basename, add_bg=True, pad=10):
    if expr[0] != '$':
        expr = '$' + expr
    if expr[-1] != '$':
        expr += '$'
    curdir = os.getcwd()
    os.chdir(folder)
    fno, ext = os.path.splitext(basename)
    pdf_name1 = fno + '.pdf'
    sympy.preview(expr, viewer='file', output='pdf',filename=pdf_name1,                  preamble=myheader)
    cmd1 = 'pdfcrop_rwk.py %s' % pdf_name1
    os.system(cmd1)
    cropped_pdf_name = fno + '_cropped.pdf'
    cmd2 = 'pdf_to_png_2016.py %s' % cropped_pdf_name
    os.system(cmd2)
    
    if add_bg:
        cropped_png_name = cropped_pdf_name.replace('.pdf','.png')
        add_background(cropped_png_name, pad=pad)
        os.remove(cropped_png_name)
        
    os.chdir(curdir)
示例#34
0
def expr_to_latex_png(expr, output_file):
    """Saves a png of a latex representation of a symbolic expression."""
    sympy.preview(expr, viewer='file', filename=output_file)
示例#35
0
文件: scip1.py 项目: albert4git/aTest
#--------------------------------------"

# from sympy import *
# x = Symbol('x')
# y = Symbol('y')
# print f(x).diff(x, x) + f(x)
# print dsolve(f(x).diff(x, x) + f(x), f(x))

from sympy import *
x = Symbol('x')
print (1/cos(x)).series(x, 0, 10)
print f(x).diff(x, x) + f(x)

from sympy import Integral, preview
from sympy.abc import x
preview(Integral(x**2, x))

from sympy.printing.python import python
from sympy import Integral
from sympy.abc import x
print python(x**2)
print python(1/x)
print python(Integral(x**2, x))
#----------------------------------------------
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while b < n:
    print b; a, b = b, a+b;

# Now call the function we just defined:
fib(200)
示例#36
0
文件: printing.py 项目: eriknw/sympy
 def _preview_wrapper(o):
     exprbuffer = StringIO()
     preview(o, output="png", viewer="StringIO", outputbuffer=exprbuffer, preamble=preamble, dvioptions=dvioptions)
     return exprbuffer.getvalue()
示例#37
0
 def previewEquation(self):
     sympy.preview(self.equation())
示例#38
0
文件: printing.py 项目: QuaBoo/sympy
 def _preview_wrapper(o):
     exprbuffer = cStringIO()
     preview(o, output='png', viewer='StringIO', outputbuffer=exprbuffer,
             preamble=preamble, dvioptions=dvioptions)
     return exprbuffer.getvalue()