2013-02-02 4 views
5

자바와 포트란에서 구현 된 많은 물리 방정식을 자주 보았습니다. 대부분의 경우이 방정식은 고급 물리 교과서 또는 출판물에서 바로 복사됩니다. 방정식은 LaTeX에서 일반적으로 조판되기 때문에 원래 형태의 방정식은 읽기가 쉽습니다. 그러나이 방정식을 코드로 변환하면 횡설수설처럼 보입니다. 짧은 도메인 별 변수 이름 인 as suggested here을 사용하거나 방정식을 여러 줄로 구분하더라도 조판 버전만큼 직관적이지는 않습니다.LaTeX로 소스 코드 변환

Java/Fortran 소스 파일을 구문 분석하고 LaTeX에서 출력하여 모든 수학 표현식을 해당 LaTeX 파일로 변환 할 수있는 도구가 있습니까? 예를 들어,

Math.sqrt(Math.pow(a,2) + Math.pow(b,2)) 

그냥 명확하게하기 위해

\sqrt{a^2 + b^2} 

로 변환됩니다. LaTeX가 주석/javadoc의 일부로 포함될 수있는 솔루션을 찾고있는 것이 아닙니다. 왜냐하면 그저 내 주석의 LaTeX 출력 만 만들고 소스 코드의 표현식은 생성하지 않기 때문입니다.

+0

맞춤 함수 e.t.c를 처리해야하는 항목이 필요합니까? – thkala

+0

사용자 정의 기능을 그대로 유지할 수 있습니다. 그러나 Math 클래스의 표준 메소드가 지원 될 것으로 기대합니다. 또한 보너스로 도구가 변수 이름의 첨자 표기법을 이해할 수 있다면 좋을 것입니다. 예를 들어, t_out은 't'첨자 'out'으로 번역됩니다. – Shahriar

+0

글쎄요,이 예제의 경우,'Math.'를 백 슬래시로 대체하기위한 일종의 스크립트를 사용하고,'(',')'와'{','}'는 정의 할 필요가 있습니다. '\ newcommand {\ pow} [2] {# 1^{# 2}}'그리고 당신은 LaTeX와 동등한 출력 코드를 가지고 있습니다 ... –

답변

1

투영 형 편집기 jetbrains mps으로 요청한 것을 보았습니다. 소스 코드에서 라텍스와 같은 렌더링 방정식으로 산술 표현식을 표시하는 데 사용되었습니다. 내가 정확히 어디에서 봤는지 기억하지 못한다. 어쩌면 mbeddr이었을 것입니다.

근원지에서 라텍스에 이르기까지 더 많은 관심이 있습니다. 제 제안은 다음과 같습니다. ATL은 모델 - 모델 변환을 제공합니다. Java 표현식을 라텍스 표현식으로 변환하는 데 사용할 수 있습니다. 따라서 Java의 EMF model이 필요합니다. MoDisco은 이미 Java 1.5 모델과 함께 제공됩니다. 라텍스 EMF 모델에 대해서는 잘 모릅니다. 모델을 라텍스 소스로 직렬화하려면 Xtext을 사용할 수 있습니다.

+1

[Java Parser] (http://www.semanticdesigns.com/Products/FrontEnds/JavaFrontEnd.html), [Eclipse JDT] (http://www.vogella.com/)에서 Java AST 구문 분석을 수행하는 라이브러리를 발견했습니다. articles/EclipseJDT/article.html), [스푼] (http://spoon.gforge.inria.fr/) – Shahriar