Lay-tech라고 하는 Latex는 고품질 문서화를 위한 문서화 시스템입니다. 주로 기술 또는 과학 논문의 준비에 사용되지만 거의 모든 형태의 출판에 사용할 수 있습니다. Latex는 MS Word나 LibreOffice Writer와 같은 워드 프로세서가 아닙니다. 대신, Latex는 작성자가 문서의 모양에 대해 걱정하지 말고 올바른 콘텐츠를 얻는 데 집중하도록 권장합니다. 예를 들어, 다음 문서를 고려하십시오.
이 문서에서는 pylatex 모듈 Python.Engineering October 2018의 사용에 대해 설명합니다.
대부분의 워드 프로세서에서 이를 생성하려면 작성자가 어떤 워드 프로세서를 사용할 레이아웃이므로 제목으로 18pt Helvetica
를 선택하고 이름으로 12pt Times Roman
등을 선택합니다. 결과적으로 작성자는 문서를 개발하는 데 시간을 보냅니다. Latex는 작성자가 문서 작성을 시작하고 문서 디자이너에게 문서 개발을 맡길 수 있다는 아이디어에 기반합니다. 따라서 Latex에서는 위의 문서를 다음과 같이 입력할 수 있습니다.
documentclass {article} it {이 문서는 pylatex 모듈 사용에 대해 설명합니다. 작성자 {GeeksforGeeks} 날짜 {2018년 10월} egin {document} maketitle 계속 읽기 끝 { document}
라텍스 문서 레이아웃:
라텍스 문서에는 두 가지 주요 부분이 있습니다.
서문:
- 서문 — 이것은 라텍스 파일의 첫 번째 부분입니다.
- 문서 클래스, 작성자 이름, 제목 등과 같은 문서에 대한 자세한 정보를 포함합니다.
본문:
- 섹션, 표, 수학 방정식, 그래프 등이 라텍스 문서의 본문에 포함될 수 있습니다.
- 모든 문서 내용은 ' / 시작 {문서} ' 그리고 ' / 끝 {문서} '
라텍스의 일부 기능:
- 저널 기사, 기술 보고서, 기술 또는 비기술 서적 및 슬라이드의 준비 프레젠테이션.
- 섹션, 링크, 표 및 그림이 포함된 큰 문서를 더 잘 제어할 수 있습니다.
- 복잡한 수학 공식을 포함하는 문서를 준비할 때도 유용할 수 있습니다.
- 참고 문헌 및 색인 생성은 LaTeX에서 자동입니다.
- 다국어 입력도 지원합니다.
- 라텍스 문서에 그래픽, 일러스트레이션, 프로세스 또는 별색을 추가할 수도 있습니다.
- LaTeX에서는 PostScript 또는 metaphone 글꼴도 사용할 수 있습니다.
샘플 LaTeX 문서:
예 1: 이 예에서 우리는 라텍스에서 사용하도록 일반 라텍스를 형성하고 있습니다. 라텍스에서 사용한 간단한 입력 형식입니다.
documentclass
{article }
<코드 클래스 = "주석">%
<코드 클래스 = "키워드"> 사용 패키지 <코드 클래스 = "일반"> [T1] { fontenc} <코드 클래스 = "주석">%
<코드 클래스 = "키워드"> 사용 패키지 <코드 클래스 = "일반"> [utf8] {inputen} %
usepackage
{lmodern }
%
usepackage
{textcomp}
%
usepackage
{lastpage}
<코드 클래스 = "주석">%
[tmargin = 1cm, lmargin = 10cm] {geometry}
%
usepackage
{amsm ath}
%
usepackage
{tikz}
%
usepackage
{pgfplots}
%
<코드 클래스 = "키워드"> pgfplotsset <코드 클래스 = "일반"> {compat = 최신} <코드 클래스 = "설명">%
<코드 클래스 = "키워드"> 사용 패키지 <코드 클래스 = "일반"> {그래픽x} <코드 클래스 = "주석">%
< 코드 클래스 = "코멘트">%
<코드 클래스 = "코멘트">%
<코드 클래스 = "코멘트">%
<코드 클래스 = "키워드"> 예 <코드 클래스 = "일반"> {문서} <코드 CL 엉덩이 = "설명">%
<코드 클래스 = "키워드"> ormalsize <코드 클래스 = "설명">%
섹션
{일반 항목}
%
레이블
{sec: 일반 항목}
%
일부 텍스트 및 일부
%
종료
{기울임꼴 텍스트. }
%
새 줄
%
또한 일부 미친 기호:
$
< 코드 클래스 = "키워드"> <코드 클래스 = "일반"> & amp; <코드 클래스 = "키워드"> <코드 클래스 = "일반"> # <코드 클래스 = "키워드"> <코드 클래스 = "일반"> { <코드 클래스 = "키워드"> <코드 클래스 = "일반">} <코드 클래스 = "설명">%
< 코드 클래스 = "keyword"> 하위 섹션 {잘못된 수학}
%
레이블
{subsec: 잘못된 수학}
%
< 코드 클래스 = "키워드"> <코드 클래스 = "일반"> [ <코드 클래스 = "주석">%
<코드 클래스 = "일반 "> 2 * 3 = 22 <코드 클래스 = "주석">%
<코드 클래스 = "키워드"> <코드 클래스 = "일반" >]
%
end
{document}
출력 :
예 2: 이 예에서는 하위 섹션 레이블을 사용하여 라텍스를 형성했습니다.
<코드 클래스 = "키워드"> 문서 클래스 <코드 클래스 = "일반"> {기사} <코드 클래스 = "주석 ">%
usepackage
[T1] {fontenc}
%
usepackage
[utf8] {inputenc}
%
usepackage
{lmodern}
%
usepackage
{textcomp}
%
usepackage
{lastpage}
%
<코드 클래스 = "키워드"> 사용 패키지 < 코드 클래스 = "일반"> [tmargin = 1cm, lmargin = 10cm] {기하학} <코드 클래스 = "주석">%
<코드 클래스 = "키워드" > usepackage {amsmath}
%
usepackage
{tikz}
%
usepackage <코드 클래스 = "일반"> {pgfplots}
<코드 클래스 = "주석">%
<코드 클래스 = "키워드"> pgfplotsset {compat = 최신}
%
usepackage
<코드 클래스 = "일반"> {그래픽x} <코드 클래스 = "코멘트">%
<코드 클래스 = "코멘트">%
<코드 클래스 = "코멘트">%
<코드 클래스 = "코멘트 ">%
<코드 클래스 ="코멘트 ">%
하위 섹션
{표}
레이블
{subsec: 테이블}
< 코드 클래스 = "comments">%
egin
<코드 클래스 = "일반"> {표 형식} {rc | cl} <코드 클래스 = "코멘트">%
<코드 클래스 = "키워드"> 라인 <코드 클래스 = "코멘트 ">%
<코드 클래스 ="일반 "> a & amp; b & 앰프; c & 앰프; d <코드 클래스 ="키워드 "> <코드 클래스 = "키워드"> <코드 클래스 = "설명">%
< 코드 클래스 = "키워드"> 클라인 <코드 클래스 = "일반"> { 1 <코드 클래스 = "주석">%
<코드 클래스 = "일반"> - <코드 클래스 = "주석">%
<코드 클래스 = "일반"> 2} <코드 클래스 = "주석" >%
& amp; & 앰프; & 앰프;
<코드 클래스 = "키워드"> <코드 클래스 = "키워드"> <코드 클래스 = "설명">%
<코드 클래스 = "일반"> 전자 및 앰프; f & 앰프; 지 & 앰프; 7h <코드 클래스 = "키워드"> <코드 클래스 = "키워드"> <코드 클래스 = "코멘트">%
< 코드 클래스 = "키워드"> 끝 <코드 클래스 = "일반"> {표 형식}
%
섹션
{특수 기능}
%
레이블
{sec: 특수 기능}
%
하위 섹션
{정확한 행렬 방정식}
%
레이블
{subsec: 올바른 행렬 방정식}
%
<코드 클래스 = "키워드"> <코드 클래스 = "일반"> [ <코드 클래스 = "코멘트">%
예
{pmatrix}
%
1 & amp; 4 & 앰프; 4
<코드 클래스 ="키워드 "> <코드 클래스 ="키워드 "> <코드 클래스 ="설명 ">%
< 코드 클래스 = "일반"> 2 & amp; 3 & 앰프; 4 <코드 클래스 = "키워드"> <코드 클래스 = "키워드"> <코드 클래스 = "코멘트">%
< 코드 클래스 = "일반"> 2 & amp; 2 & 앰프; 5 %
끝
{pmatrix}
egin
{pmatrix}
%
<코드 클래스 ="일반 "> 800 <코드 클래스 ="키워드 " > <코드 클래스 = "키워드"> <코드 클래스 = "설명">%
<코드 클래스 = "일반"> 30 <코드 클래스 = "키워드"> <코드 클래스 = "키워드"> <코드 클래스 = " comment">%
30
%
끝
{pmatrix } =
egin
{pmatrix }
<코드 클래스 = "주석">%
<코드 클래스 = "일반"> 810 <코드 클래스 = "키워드"> <코드 클래스 = "키워드"> <코드 클래스 = "주석">%
<코드 클래스 = "일반"> 60 <코드 클래스 = "키워드"> <코드 클래스 = "키워드"> <코드 클래스 = "주석">%
<코드 클래스 = "일반"> 50 %
끝
{pmatrix} < /코드> <코드 클래스 = "주석">%
<코드 클래스 = "키워드"> <코드 클래스 = "일반">]
%
끝
{ 문서}
출력: < br>
Pylatex란 무엇입니까:
PyLaTeX — 라텍스 문서를 만들고 컴파일하기 위한 Python 라이브러리입니다. 이 라이브러리의 목표는 단순하면서도 Python과 latex 간의 확장 가능한 인터페이스를 제공하는 것입니다.
pylatex의 일부 기능:
- LaTeX의 모든 기능에 액세스할 수 있습니다. Python에서 이 모듈을 사용하여
- 더 적은 코드 줄로 문서를 작성할 수 있습니다.
- python은 고급 언어이므로 LaTeX에 비해 Python에서 pylatex용 코드를 작성하는 것이 더 쉽습니다.
- 위의 LaTeX 코드에서 방정식을 얻으려면 값을 계산한 다음 LaTeX 문서에 입력해야 하지만 산술을 수행하는 파이썬 기능이 추가된 것을 보셨을 것입니다. 작업 문서를 준비하는 것이 훨씬 쉽습니다.
Pylatex 문서 만들기:
- MikTeX 및 pylatex 모듈을 컴퓨터에 설치 시스템에 설치하고 Python 코드로 가져옵니다.
시스템에 MikTeX를 설치하려면 다음 링크를 따르십시오.https://miktex.org/download
Windows 운영 체제에 pylatex를 설치하려면 t에 다음 명령을 입력하십시오. he 명령줄:
python -m pip install pylatex
- pylatex 모듈에서 문서 클래스를 가져올 문서를 만듭니다. 라텍스에는 문서, 보고서, 편지 등 다양한 유형의 문서가 있습니다. 문서 유형의 문서를 생성하려면 라텍스에서 Document 클래스의 객체를 생성하고 ' 기사 '
doc = Document (documentclass = ’article’)
- 스타일 지정이나 서식 지정과 같이 문서에 필요한 변경 사항을 추가하려면 pylatex에서 파이썬 코드에 필요한 클래스를 가져옵니다. pylatex를 사용하여 라텍스 문서에 다양한 유틸리티를 추가하려면 다음과 같은 방법이 가능합니다.
from pylatex import Document, Section, Subsection from pylatex.utils import italic, bold
- PDF를 생성하려면 문서 파일에서 Document 클래스의 객체를 사용하여 문서 클래스의 generate_pdf 메소드를 호출하고, 이러한 방식으로 인수에 pdf 문서 이름을 전달해야 합니다.
doc.generate_pdf("Demo_article")
Pylatex 예:
코드 1:
# Python 프로그램 생성
# pylatex를 사용하는 작은 문서
import
numpy as np
# mod ulya pylatex에서 가져오기
pylatex
가져오기
문서, 섹션, 하위 섹션, 표
pylatex
가져오기
Math, TikZ, Axis, Plot, Figure, Matrix, Alignat
pylatex.utils
가져오기
기울임꼴
<코드 클래스 = "키워드"> 가져오기 t os
if
__ 이름__
<코드 클래스 ="키워드 "> = <코드 클래스 = "키워드"> = <코드 클래스 = "문자열"> ’__메인__’ <코드 클래스 = "일반 ">:
<코드 클래스 = "일반"> 이미지_파일 이름 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> 운영 체제 path.join(os.path.dirname(__ file__), <코드 클래스 = "문자열"> ’고양이.jpg’ <코드 클래스 ="일반 ">)
<코드 클래스 = "일반"> 기하학 옵션 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> { <코드 클래스 = "문자열"> "tmargin" <코드 클래스 = "일반">: <코드 클래스 = "문자열"> "1cm" <코드 클래스 = "일반">, <코드 클래스 = "문자열"> "마진" <코드 클래스 = "일반">: <코드 클래스 = "문자열"> "10cm" <코드 클래스 = "일반">}
<코드 클래스 = " 정의되지 않은 공백 "> 문서
=
문서(geometry_options
=
geometry_options)
# 제목이 "인 PDF 만들기 간단한 것"
doc.create 포함(섹션(
’ 간단한 내용’
)):
doc.append (
’ 일부 일반 텍스트 및 일부’
)
doc.append(기울임꼴(
’기울임꼴 텍스트. ’
))
doc.append (
’또한 일부 미친 문자: $ {}’
)
with doc.create(하위 섹션(
’잘못된 수학’
)):
doc.append (Math (data
<코드 클래스 ="일반 ">, <코드 클래스 ="문자열 ">’ = ’ < 코드 클래스 ="일반 ">, <코드 클래스 ="값 "> 9 <코드 클래스 = "일반">])) =
[
<코드 클래스 = "문자열"> ’2 * 3’
# pdf 하위 섹션 만들기
문서와 함께. 생성(하위 섹션(
’테이블 테이블’
)):
doc.create(테이블 형식(
’rc | cl’
))를 테이블로 사용:
<코드 클래스 = "일반"> table.add_hline()
<코드 클래스 = "일반"> table.add_row(( < 코드 클래스 = "값"> 1 <코드 클래스 = "일반">, <코드 클래스 = "값"> 2 <코드 클래스 = "일반">, <코드 클래스 = "값"> 3 <코드 클래스 = "일반">, <코드 클래스 = "값"> 4 <코드 클래스 = "일반">))
<코드 클래스 = " 일반 "> table.add_hline ( <코드 클래스 ="값 "> 1 <코드 클래스 ="일반 ">, < /코드> <코드 클래스 ="값 "> 2 <코드 클래스 = "일반">)
<코드 클래스 = "일반"> table.add_empty_row()
table.add_row ((
4
, <코드 클래스 = "값"> 5
<코드 클래스 = "일반">, <코드 클래스 = "값"> 6 <코드 클래스 = "일반">, 7
))
# PDF 작성 .generate_pdf 사용
doc.generate_pdf (
’전체’
, clean_tex
=
거짓
)
출력:
코드 2:
<표 테두리 = "0" cellpadding =" 0 "cellspacing =" 0 ">
가져오기
numpy np로
from
pylatex
나는 포트
문서, 섹션, 하위 섹션, 표 형식
from
pylatex
가져오기
수학, TikZ, 축, 플롯, 그림, 행렬, 정렬
pylatex.utils
가져오기
기울임꼴
가져오기
os
< 코드 클래스 ="keyword "> if __ name__
=
<코드 클래스 = "키워드"> = <코드 클래스 = "문자열"> ’__메인__’ <코드 클래스 ="일반 ">:
<코드 클래스 = "일반"> 이미지 파일 이름 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> os. path.join(os.path.dirname(__ file__), <코드 클래스 = "문자열"> ’고양이.jpg’ <코드 클래스 ="일반 ">)
<코드 클래스 = "일반"> 기하학 옵션 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> { <코드 클래스 = "문자열"> "tmargin" <코드 클래스 = "일반">: <코드 클래스 = "문자열"> "1cm" <코드 클래스 = "일반">, <코드 클래스 = "문자열"> "마진" <코드 클래스 = "일반">: <코드 클래스 = "문자열"> "10cm " <코드 클래스 ="일반 ">}
<코드 클래스 = "정의되지 않은 공백 "> 문서
=
문서(geometry_options
=
geometry_options)
# 다음을 사용하여 행렬 생성 numpy 모듈
a
<코드 클래스 = "키워드"> = <코드 클래스 = "일반"> np.array ([[ <코드 클래스 = "값"> 100 <코드 클래스 = "일반 " >, <코드 클래스 = "값"> 10 <코드 클래스 = "일반">, <코드 클래스 = "값"> 20 <코드 클래스 = " 일반 ">]]). T
M
=
<코드 클래스 ="일반 "> np.matrix ([[ <코드 클래스 ="값 "> 2 <코드 클래스 ="일반 ">, <코드 클래스 = " 값"> 3 <코드 클래스 = "일반">, <코드 클래스 = "값"> 4 <코드 클래스 = "일반">],
<코드 클래스 = "일반"> [ <코드 클래스 = "값"> 0 <코드 클래스 = "일반">, <코드 클래스 = " 값"> 0 <코드 클래스 = "일반">, <코드 클래스 = "값"> 1 <코드 클래스 = "일반">],
<코드 클래스 = "일반"> [ <코드 클래스 = "값"> 0 <코드 클래스 = "일반">, <코드 클래스 = "값 "> 0 <코드 클래스 = "일반">, <코드 클래스 = "값"> 2 <코드 클래스 = "일반">]])
# doc.create(섹션( <코드 클래스 = "문자열"> ’멋진 것들’
)):
with doc.create(하위 섹션(
’올바른 행렬 방정식’
)):
doc.append (수학(데이터
=
[Matrix(M), Matrix(a),
’=’
<코드 클래스 = "일반">, 매트릭스 (M <코드 클래스 = "키워드"> * <코드 클래스 = "일반"> a)]) )
# doc.create로 pdf 하위 섹션 만들기
(하위 섹션(
’ Alignat 수학 환경’
)):
with doc.create(Alignat(번호 매기기
=
False
, 이스케이프
=
거짓
)) agn:
agn.append (r
’frac {a} {b} & amp; = 0 ’
)
agn.extend ([매트릭스(M), 매트릭스(a),
’& amp; =’
, 행렬(M
*
a)])
with doc.create(하위 섹션(
’아름다운 그래프’
)):
with doc.create(TikZ() ):
plot_options
=
’ 높이 = 4cm, 너비 = 6cm, 그리드 = 주’
doc.create(축( 옵션
=
plot_options )) 플롯으로:
plot.append (플롯(이름
=
’모델’
, 기능
<코드 클래스 ="키워드 "> = <코드 클래스 = "문자열"> ’-x ^ 5 - 242’ <코드 클래스 =" 일반 ">))
< 코드 클래스 ="일반 "> 좌표 <코드 클래스 ="키워드 "> = <코드 클래스 = "일반"> [
<코드 클래스 = " 일반"> ( <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 4.77778 <코드 클래스 = "일반">, <코드 클래스 = "값"> 2027.60977 <코드 클래스 = "일반">),
<코드 클래스 = "일반"> ( <코드 클래스 = "키워드 "> - <코드 클래스 = "값"> 3 .55556 <코드 클래스 = "일반">, <코드 클래스 = "값"> 347.84069 <코드 클래스 = "일반">),
<코드 클래스 = "일반"> ( <코드 클래스 = "키워드"> - <코드 클래스 = " 값"> 2.33333 <코드 클래스 = "일반">, <코드 클래스 = "값"> 22.58953 <코드 클래스 = "일반">), < /코드>
<코드 클래스 = "일반"> ( <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 1.11111 < 코드 클래스 = "일반">, <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 493.50066 <코드 클래스 = "일반" >),
<코드 클래스 = "일반"> ( <코드 클래스 = "값"> 0.11111 <코드 클래스 = "일반">, <코드 클래스 = "값"> 46.66082 <코드 클래스 = "일반">),
<코드 클래스 = "일반"> ( <코드 클래스 = " 값"> 1.33333 <코드 클래스 = "일반">, <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 205.5628 6 <코드 클래스 = "일반">),
<코드 클래스 = "일반"> ( <코드 클래스 = "값"> 2.55556 <코드 클래스 = " 일반">, <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 341.40638 <코드 클래스 = "일반">),
<코드 클래스 = "일반"> ( <코드 클래스 = "값"> 3.77778 <코드 클래스 = "일반">, <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 1169.24780 <코드 클래스 = "일반">),
<코드 클래스 = "일반 "> ( <코드 클래스 = "값"> 5.00000 <코드 클래스 = "일반">, <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 3269.56775 <코드 클래스 = "일반">),
<코드 클래스 = "일반">]
plot.append (플롯(이름
=
’ 추정치’
<코드 클래스 = "일반">, 좌표 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> 좌표))
doc.create 포함(하위 섹션(
’귀여운 새끼 고양이 사진’
)):
with doc.create(Figure (position
=
’h!’
)) 새끼 고양이 사진으로:
새끼 고양이_pic.add_image (이미지_파일 이름, 너비
=
’120px’
)
<코드 클래스 = "정의되지 않은 공백">
<코드 클래스 = "일반"> ( <코드 클래스 = "값"> 2.55556 <코드 클래스 = "일반">, <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 341.40638 <코드 클래스 = "일반">), < /코드>
<코드 클래스