Rat2tex.java
/*
* $Id: Rat2tex.java,v 1.4 2008/02/25 08:35:52 koga Exp $
*
* Copyright (C) 2004 Koga Laboratory. All rights reserved.
*/
package org.mklab.tool.matrix;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import org.mklab.nfc.scalar.DoubleRationalPolynomial;
/**
* 有理多項式をTeX形式でファイルに保存するクラスです。
*
* <p> Save a rational polynomial to a file
*
* @author koga
* @version $Revision: 1.4 $
* @see org.mklab.tool.matrix.Poly2tex
* @see org.mklab.tool.matrix.Mat2tex
*/
public class Rat2tex {
/**
* @param r 有理多項式
* @param file ファイル名
* @throws IOException 出力できない場合
*/
public static void rat2tex(DoubleRationalPolynomial r, String file) throws IOException {
try (PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)))) {
pw.print(rat2texf(r));
}
}
/**
* @param r 有理多項式
* @param file ファイル名
* @param var_name 変数名
* @throws IOException 出力できない場合
*/
public static void rat2tex(DoubleRationalPolynomial r, String file, String var_name) throws IOException {
try (PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)))) {
pw.print(rat2texf(r, var_name));
}
}
/**
* @param r 有理多項式
* @return TeX形式の文字列
*/
@SuppressWarnings("nls")
public static String rat2texf(DoubleRationalPolynomial r) {
String num = Poly2tex.poly2texf(r.getNumerator());
String den = Poly2tex.poly2texf(r.getDenominator());
String tex = "\\frac{" + num + "}{" + den + "}";
return tex;
}
/**
* @param r 有理多項式
* @param var_name 変数名
* @return TeX形式の文字列
*/
@SuppressWarnings("nls")
public static String rat2texf(DoubleRationalPolynomial r, String var_name) {
String num = Poly2tex.poly2texf(r.getNumerator(), var_name);
String den = Poly2tex.poly2texf(r.getDenominator(), var_name);
String tex = "\\frac{" + num + "}{" + den + "}";
return tex;
}
}