빈 페이지 스타일로 TeX 파일 만들기

빈 페이지 스타일로 TeX 파일 만들기

LaTeX 파일에서 SVG 이미지, 더 정확하게는 tikz 다이어그램을 생성하려면 어떻게 해야 합니까? 저는 Windows에서 일하고 있습니다.

답변1

가장 간단한 방법은 먼저PDF또는DVI ~와 함께단지상기 다이어그램/방정식 및그런 다음 변환벡터 형식으로 변환합니다.

작은 페이지 크기의 PDF가 제대로 작동한다면 다음을 사용할 수 있습니다. * 사용대본:

    gswin32c.exe -sDEVICE=pdfwrite -dMaxSubsetPct=100 -dPDFSETTINGS=/ebook -sOutputFile="outfile.pdf" -dNOPAUSE -dBATCH "infile.pdf"
where -dPDFSETTINGS is used to define how images are resampled. Using -dPDFSETTINGS=/screen will yield dpi=72. I just tried this with a sample pdf and it seems to work fine.

그렇지 않으면 다음에 설명된 방법 중 하나를 사용하십시오. https://stackoverflow.com/questions/10288065/convert-pdf-to-clean-svg

또한 여러 페이지에 대한 답변은 다음과 같습니다. https://stackoverflow.com/a/4502030

이 리소스도 유용합니다: svgkit.sourceforge.net/SVGLaTeX.html

물론,일부언급된 명령 중 MinGW 구현을 사용하면 제대로 작동하거나 다운로드해야 하는 기본 Windows 구현이 있습니다. 그리고 물론 실행 파일의 디렉터리를 PATH 변수 환경에 추가합니다(컴퓨터 속성의 고급 설정에서 사용 가능). 잉크스케이프의 경우, 다음 링크를 참조하세요.http://kaioa.com/node/42#inkcl_bat_usage 여기에서는 inkscape 디렉터리에 배치 파일(InkCL.bat)을 배치하기만 하면 됩니다. 명령줄에 inkscape를 입력하는 대신 이를 사용하세요. 잉크클

그것을 요 ​​약하기, 그것은 일반적으로단 3개의 명령만 필요

  1. 빈 페이지 스타일로 TeX 파일 만들기

    말하다,input.tex:

    \documentclass{article}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{amsfonts}
    
    \thispagestyle{empty}
    \begin{document}
    \[
    2 \pi f t
    \]
    \end{document}
    
  2. 이제 다음 방법 중 하나를 사용하십시오.

    • PDF를 만든 후:

       pdflatex input.tex
      

      그러면 input.pdf 파일이 생성됩니다. 이제 다음을 사용하세요.어느다음 방법 중:

      • 잉크스케이프에서:

         inkscape -l output.svg input.pdf
        
      • (같은 상기와):

        inkscape \
          --without-gui \
          --file=input.pdf \
          --export-plain-svg=output.svg
        
      • 여러 페이지의 경우(그리고 싱글도 마찬가지), 사용pdf2svg[cityinthesky.co.uk/opensource/pdf2svg/]. poppler와 Cairo를 사용하여 PDF를 SVG로 변환합니다. 이는 대량 변환에 특히 유용합니다.

        pdf2svg <input.pdf> <output.svg> [<pdf page no. or "all" >]
        

        참고: 모든 페이지를 지정하는 경우 %d가 포함된 파일 이름을 지정해야 합니다(해당 페이지 번호로 자동 대체됩니다). 예:

        pdf2svg input.pdf output_page%d.svg all
        
    • DVI 형식,

      latex input.tex
      

      그러면 output.dvi 파일이 생성됩니다.

      • 그 다음에,

        dvisvgm --no-fonts input.dvi output.svg
        

        이것LaTeX 수식을 사용하는 인스턴스에서 완벽하게 작동합니다.(--no-fonts 옵션 사용)

      • 또한 soandos의 답변(포괄성 포함):

        dvips -q -f -e 0 -E -D 10000 -x 10000 -o eqn.ps eqn.dvi
        

        dvips 매뉴얼 페이지(ma.utexas.edu/cgi-bin/man-cgi?dvips%201)에서:

        • [-q] 자동 모드로 실행됩니다.
        • [-f] (필터) 표준 입력에서 .dvi 파일을 읽고 PostScript를 표준 출력에 씁니다.
        • [-D] 해상도를 10에서 10000 사이로 설정합니다(문자 위치에도 영향을 미침).
        • [-E]는 dvips가 경계 상자가 좁은 EPSF 파일을 생성하도록 시도합니다.
        • [-e num] 각 문자는 '실제' 해상도와 무관한 위치에서 최대 이 픽셀만큼 배치됩니다.
        • [-R] 보안 모드에서 실행됩니다.
        • [-x] num dvi 파일에 명시된 내용에 상관없이 확대 비율을 num/1000으로 설정합니다(10에서 100000 사이).
        • [-y] num 배율을 .dvi 파일에 지정된 배율의 num/1000배로 설정합니다(10에서 100000 사이).
        • [-o]는 출력 파일을 eqn.ps로 지정합니다.

        그 다음에,

        pstoedit -f plot-svg -dt -ssp eqn.ps eqn.svg
        

        그러면 eqn.svg 파일이 생성됩니다.

        • [-f]는 형식을 플롯-svg로 지정합니다(직접 svg는 작동하지 않음).
        • [-dt] 텍스트 그리기 - 텍스트가 다각형으로 그려집니다.
        • [-adt] 자동 텍스트 그리기 - 이 옵션은 일반 텍스트 글꼴이 아닌 것처럼 보이는 글꼴(예: 기호)에 대해 -dt 옵션을 선택적으로 켭니다.
        • [-ssp] 백엔드에 대한 하위 경로 시뮬레이션은 하위 경로가 포함된 PostScript 경로, 즉 중간 moveto가 있는 경로를 지원하지 않습니다.
        • [-usebbfrominput] 지정된 경우 pstoedit는 자체적으로 계산된 BoundingBox 대신 입력 파일에 있는 대로 BoundingBox를 사용합니다. (plot-svg에는 차이가 없는 것 같습니다)
        • [ -noclip ] 클리핑을 사용하지 않습니다(백엔드가 클리핑을 전혀 지원하는 경우에만 관련됨)

        좋은 품질의 텍스트를 다각형으로 변환하려면 높은 배율로 dvips를 실행해야 하므로 결과 SVG를 축소해야 합니다.

답변2

내가 방금 작성한 도구를 확인하고 싶을 수도 있습니다.tikz2svg.

주어진 in.tikz(또는 stdin):

> cat in.tikz
\begin{tikzpicture}
  \fill[red!90!black]   ( 90:.6) circle (1);
  \fill[green!80!black] (210:.6) circle (1);
  \fill[blue!90!black] (330:.6) circle (1);
\end{tikzpicture}

다음과 같이 출력됩니다.

> cat tikz2svg < in.tikz
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="93.472pt" height="86.205pt" viewBox="0 0 93.472 86.205" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(89.99939%,0%,0%);fill-opacity:1;" d="M 76.742188 30.347656 C 76.742188 14.691406 64.050781 2 48.394531 2 C 32.742188 2 20.050781 14.691406 20.050781 30.347656 C 20.050781 46.003906 32.742188 58.695312 48.394531 58.695312 C 64.050781 58.695312 76.742188 46.003906 76.742188 30.347656 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,79.998779%,0%);fill-opacity:1;" d="M 62.011719 55.859375 C 62.011719 40.203125 49.324219 27.511719 33.667969 27.511719 C 18.011719 27.511719 5.320312 40.203125 5.320312 55.859375 C 5.320312 71.515625 18.011719 84.207031 33.667969 84.207031 C 49.324219 84.207031 62.011719 71.515625 62.011719 55.859375 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,89.99939%);fill-opacity:1;" d="M 91.472656 55.859375 C 91.472656 40.203125 78.78125 27.511719 63.125 27.511719 C 47.46875 27.511719 34.777344 40.203125 34.777344 55.859375 C 34.777344 71.515625 47.46875 84.207031 63.125 84.207031 C 78.78125 84.207031 91.472656 71.515625 91.472656 55.859375 Z "/>
</g>
</svg>

보다http://juan.benet.ai/note/2014-03-09/tikz2svg/

답변3

노력하다이것파이썬 CGI 스크립트.

답변4

@Rohan이 언급한 프로세스를 추천합니다. 먼저 dosbatchfile인 "miktex_path.bat"를 다음과 같이 만듭니다.

@echo off
path=C:\Program Files\MiKTeX 2.9\miktex\bin\x64;%path%;
cmd
@echo on

그런 다음 Texmaker 또는 Notepad2와 같은 즐겨 사용하는 편집기를 사용하여 일부 방정식이 포함된 .tex 파일을 편집하세요. Sample.tex와 같이 저장합니다. 배치를 두 번 클릭하고 콘솔에서

다음과 같이 하십시오:

latex Sample.tex
dvisvgm --no-fonts Sample.dvi Sample.svg

작업이 완료되었습니다.

다음은 한 페이지에 포함된 일부 방정식의 모음입니다.

\documentclass[16pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\usepackage[spanish]{babel}

\usepackage{color}
\usepackage[T1]{fontenc}

\begin{document}

\[\psi (t)=\hat{\psi}e^{i(\omega t\, \pm\, \theta)}\sum_i \hat{\psi_i} cos(\alpha_i \pm             \omega t)\]

\[\sum_i \hat{\psi_i} cos(\alpha_i \pm \omega t)\]
\[\sqrt[{\Delta+n}] {\hat {\mu}}\]
\[\Omega t\]
\[\omega Q_{1}\]
\[\frac{\delta (x^2)}{\delta x}\]
\[\frac{\delta}{\delta x} (x^2)\]
\[\int \hat{i}(x^2+3xi)dx\]

\begin{huge}
\[\psi (t)=\hat{\psi}e^{i(\omega t\, \pm\, \theta)}\sum_i \hat{\psi_i} cos(\alpha_i \pm     \omega t)\]

\[\sum_i \hat{\psi_i} cos(\alpha_i \pm \omega t)\]
\[\sqrt[{\Delta+n}] {\hat {\mu}}\]
\[\Omega t\]
\[\omega Q_{1}\]
\[\frac{\delta (x^2)}{\delta x}\]
\[\frac{\delta}{\delta x} (x^2)\]
\[\int \hat{i}(x^2+3xi)dx\]
\end{huge}

\end{document}

관련 정보