Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| http://www.jpicedt.org
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jpicedt.format.output.latex
Class LatexFormatter

    java.lang.Object
      jpicedt.format.output.latex.LatexFormatter

All Implemented Interfaces:
  FormatterFactory, LatexConstants, PicObjectConstants

Direct Known Subclasses:
  EepicFormatter

public class LatexFormatter
extends Object
implements FormatterFactory, PicObjectConstants, LatexConstants

LaTeX formater

Since:
  jpicedt 1.0 (code refactoring 1.3.2)

Nested Class Summary
`class` | `LatexFormatter.DrawingFormatter`

Field Summary
`protected static String` | `fileWrapperEpilog`
`protected static String` | `fileWrapperProlog`

Fields inherited from interface jpicedt.graphic.io.formatter.FormatterFactory
`MAKE_STANDALONE_FILE`

Fields inherited from interface jpicedt.graphic.model.PicObjectConstants
`ARROW_GLOBAL_SCALE_LENGTH, ARROW_GLOBAL_SCALE_WIDTH, ARROW_INSET_SCALE, ARROW_LENGTH_SCALE, ARROW_WIDTH_LINEWIDTH_SCALE, ARROW_WIDTH_MINIMUM_MM, BRACKET_LENGTH_SCALE, CROSSHATCH, CROSSHATCH_FILLED, DASH_OPAQUE, DASH_TRANSPARENT, DASH1, DASH2, DASH3, DASHED, DIMEN, DOT_SEP, DOT_SEP1, DOT_SEP2, DOT_SEP3, DOTTED, DOUBLE_COLOR, DOUBLE_LINE, DOUBLE_SEP, FILL_COLOR, FILL_STYLE, HATCH_ANGLE, HATCH_COLOR, HATCH_SEP, HATCH_WIDTH, HLINES, HLINES_FILLED, INNER, LEFT_ARROW, LINE_COLOR, LINE_STYLE, LINE_WIDTH, MIDDLE, NONE, OUTER, OVER_STRIKE, OVER_STRIKE_COLOR, OVER_STRIKE_WIDTH, POLYDOTS_ANGLE, POLYDOTS_CIRCLE, POLYDOTS_DISK, POLYDOTS_PENTAGON, POLYDOTS_PENTAGON_FILLED, POLYDOTS_PLUS, POLYDOTS_SCALE_H, POLYDOTS_SCALE_V, POLYDOTS_SIZE_LINEWIDTH_SCALE, POLYDOTS_SIZE_MINIMUM_MM, POLYDOTS_SQUARE, POLYDOTS_SQUARE_FILLED, POLYDOTS_STYLE, POLYDOTS_SUPERIMPOSE, POLYDOTS_TRIANGLE, POLYDOTS_TRIANGLE_FILLED, PS_POINT, PST_CUSTOM, RBRACKET_LENGTH_SCALE, RIGHT_ARROW, SHADOW, SHADOW_ANGLE, SHADOW_COLOR, SHADOW_SIZE, SOLID, TBAR_WIDTH_LINEWIDTH_SCALE, TBAR_WIDTH_MINIMUM_MM, TEXT_BOX_CIRCLE, TEXT_BOX_NO_FRAME, TEXT_BOX_OVAL, TEXT_BOX_RECTANGLE, TEXT_FRAME, TEXT_HALIGN_CENTER, TEXT_HALIGN_LEFT, TEXT_HALIGN_RIGHT, TEXT_HOR_ALIGN, TEXT_ROTATION, TEXT_VALIGN_BASELINE, TEXT_VALIGN_BOTTOM, TEXT_VALIGN_CENTER, TEXT_VALIGN_TOP, TEXT_VERT_ALIGN, VLINES, VLINES_FILLED`

Fields inherited from interface jpicedt.format.output.latex.LatexConstants
`CR_LF, DEFAULT_EM_LINE_LENGTH, DEFAULT_FILE_WRAPPER_EPILOG, DEFAULT_FILE_WRAPPER_PROLOG, DEFAULT_MAX_CIRCLE_DIAMETER, DEFAULT_MAX_DISK_DIAMETER, DEFAULT_MAX_EM_CIRCLE_SEGMENT_LENGTH, DEFAULT_MAX_EM_LINE_SLOPE, KEY_EM_LINE_LENGTH, KEY_FILE_WRAPPER_EPILOG, KEY_FILE_WRAPPER_PROLOG, KEY_MAX_CIRCLE_DIAMETER, KEY_MAX_DISK_DIAMETER, KEY_MAX_EM_CIRCLE_SEGMENT_LENGTH, KEY_MAX_EM_LINE_SLOPE, RESCALING_TEX_FUNCTION`

Constructor Summary
`LatexFormatter()` Constructor using default properties values

Method Summary
`void` | `appendThicknessString(StringBuffer buf, Element obj)` Create a string representation of the thickness command for the given PicObjet in the LaTeX format, and append it to the given StringBuffer.
`StringBuffer` | `arrowToLatexString(PicPoint loc, PicPoint dir)` Create a string representation of an arrow in the LaTeX format using \\vector's.
`static void` | `configure(Properties preferences)` Configure static fields using the given Properties object
`Formatter` | `createFormatter(Drawing d, Object outputConstraint)`
`Formatter` | `createFormatter(Element e)`
`Point` | `getXYNearestSlope(double slope, boolean isVector)`
`String` | `lineToLatexString(double x0, double y0, double x1, double y1, Arrow leftArrow, Arrow rightArrow, double dash)` Computes a LaTeX string for a line segment, given its two end-points and decoration parameters.
`String` | `lineToLatexString(PicPoint pt0, PicPoint pt1, Arrow leftArrow, Arrow rightArrow, double dash)` Computes a LaTeX string for a line segment, given its two end-points and decoration parameters.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### fileWrapperProlog

    protected static String fileWrapperProlog

### fileWrapperEpilog

    protected static String fileWrapperEpilog

Constructor Detail

### LatexFormatter

    public LatexFormatter()

  Constructor using default properties values

Method Detail

### configure

    public static void configure(Properties preferences)

  Configure static fields using the given Properties object

### createFormatter

    public Formatter createFormatter(Element e)

  Specified by:
    `createFormatter` in interface `FormatterFactory`
  Returns:
    a Formatter able to format the given Element in the LaTeX picture env. format

### createFormatter

    public Formatter createFormatter(Drawing d,
                                     Object outputConstraint)

  Specified by:
    `createFormatter` in interface `FormatterFactory`
  Parameters:
    `outputConstraint` - constraint used by the factory to create a specific Formatter on-the-fly
  Returns:
    a Formatter able to format the given Drawing in the LaTeX picture environment format ; this may reliy on calls to `createFormatter(Element e)` on the elements of the drawing, plus creating auxiliary

### appendThicknessString

    public void appendThicknessString(StringBuffer buf,
                                      Element obj)

  Create a string representation of the thickness command for the given PicObjet in the LaTeX format, and append it to the given StringBuffer.

  Such a command should preceed every object command. This string is CR-terminated.

  Since:
    jpicedt 1.3.2

### lineToLatexString

    public String lineToLatexString(PicPoint pt0,
                                    PicPoint pt1,
                                    Arrow leftArrow,
                                    Arrow rightArrow,
                                    double dash)

  Computes a LaTeX string for a line segment, given its two end-points and decoration parameters.

  Parameters:
    `pt0` - the start point of the line segment
    `pt1` - the end point of the line segment
    `leftArrow` - first arrow (we make no distinction b/w Arrow types, that is, we simply draw an arrow by using \\vector)
    `rightArrow` - second arrow
    `dash` - The dash step in mm ; must be .le. 0 if there's no dash
  Returns:
    a LaTeX string (that is, not a "eepic" string !)
  Since:
    picedt 1.0

### lineToLatexString

    public String lineToLatexString(double x0,
                                    double y0,
                                    double x1,
                                    double y1,
                                    Arrow leftArrow,
                                    Arrow rightArrow,
                                    double dash)

  Computes a LaTeX string for a line segment, given its two end-points and decoration parameters.

  Parameters:
    `x0` - The X coordinate (in mm) of the start point of the line segment
    `y0` - The Y coordinate (in mm) of the start point of the line segment
    `x1` - The X coordinate (in mm) of the end point of the line segment
    `y1` - The Y coordinate (in mm) of the end point of the line segment
    `leftArrow` - first arrow (we make no distinction b/w Arrow types, that is, we simply draw an arrow by using \\vector)
    `rightArrow` - second arrow
    `dash` - The dash step in mm ; must be .le. 0 if there's no dash
  Returns:
    a LaTeX string (that is, not a "eepic" string !)
  Since:
    picedt 1.0

### arrowToLatexString

    public StringBuffer arrowToLatexString(PicPoint loc,
                                           PicPoint dir)

  Create a string representation of an arrow in the LaTeX format using \\vector's. The slope of the vector is as near as possible of the given slope.

  Parameters:
    `loc` - the location of the arrow, in mm (i.e. in the LaTeX coordinate system)
    `dir` - a vector that indicates the direction of the slope

### getXYNearestSlope

    public Point getXYNearestSlope(double slope,
                                   boolean isVector)

  Parameters:
    `slope` - the slope to be matched by y/x (can be either positive or negative, or Double.POSITIVE_INFINITY)
    `isVector` - if true, x and y range from 1 to 4 ; from 1 to 6 otherwise
  Returns:
    a pair (x,y) of positive integers ranging from 1 to 4 (for vectors) or 6 (for lines), so that y/x gives the better possible approximation of the given slope.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| http://www.jpicedt.org
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug : syd@jpicedt.org