ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Graphviz
    TeX과 친구들 2020. 10. 5. 16:43

    aymptote로 순서도를 시도했는데 기대만큼 쉽지 않았다. aymptote를 metapost나 tikz에 견줄 수 있겠으나 graphviz는 그것들의 총체적 대안이 될 수 없다. graphviz는 소프트웨어 엔지니어를 위해 구조적 정보를 표현하기 위해 고안된 것이고, 수식 그래프를 위한 장치들은 제공하지 않는다. 하지만 내가 수식 그래프를 그려야 할 일은 없을 테니, graphviz가 내게 최선의 선택이 될 수 있을 듯하다. tikz 문법은 너무 난해하고, 지나치게 많은 잔손을 요구한다. 게다가 레이텍 컴파일을 통해 그림을 만드는 것이, 장점도 있지만, 합리적이라고 생각되지 않는다.

    서너 시간 매뉴얼을 뒤적거려 이렇게 만들어봤다.

    C:\>dot -T pdf -o foo.pdf foo.gv

    digraph G {
         margin=0;
        rankdir=TB;
        node [fontname=D2Coding, fontsize=10, penwidth=0.25];
        edge [arrowhead=vee, arrowsize=0.5, fontname=Arial, fontsize=9];
        node [shape=ellipse, style=filled, fillcolor=lightgrey];
            { rank=same;
                tex[label="foo.tex", fillcolor=lightsalmon];
                pdf[label="foo.pdf", fillcolor=navy, fontcolor=white]; }
            latex [shape=box, style=filled, fillcolor=lightblue];
            { rank=same;
                aux[label="foo.aux"];
                toc[label="foo.toc"];
                idx[label="foo.idx"];
                log[label="foo.log"]; }
            { rank=same;
                makeindex[shape=box, style=filled, fillcolor=lightblue];
                bib[label="ref.bib", fillcolor=lightsalmon];
                bibtex[shape=box, style=filled, fillcolor=lightblue]; }
            { rank=same;
                ist[label="goo.ist", fillcolor=khaki3];
                ind [label="foo.ind"];
                bst[label="hoo.bst", fillcolor=khaki3];
                bbl[label="foo.bbl"];  }
        tex -> latex -> {pdf; log}
        latex -> {aux; toc} [dir=both, arrowtail=vee];
        latex -> idx -> makeindex -> ind -> latex;
        ist -> makeindex;
        aux -> bibtex -> bbl -> latex;
        { bst; bib } -> bibtex;
    }

    댓글

Designed by Tistory.