2009-04-21 6 views
4

LaTeX에서 SQL 문을 typeset하는 패키지를 찾고 있습니다. 지금까지 내가 listingslgrind에 대해 들어 봤지만 다른 제안 사항이 있습니까?LaTeX에서 SQL을 조판 할 때 사용할 수있는 패키지는 무엇입니까?

[편집] 추가 요구 사항 : 패키지가 지능적으로 페이지 나누기를 삽입하여 가능한 문장이 여러 페이지에 걸쳐 있지 않도록하고 싶습니다. 여전히 문서를 읽으므로, A/m 중 하나가 이미이 작업을 수행 할 수 있습니다.이 경우 알려주십시오.

관련 : question

+0

본인은 아닙니다. 여러분이 언급 한 패키지는 성숙한 것이며 둘 다 SQL을 지원한다고 주장합니다. 나는 멀리 떨어진 곳에 있기 전에 그들을 시험해 보았습니다. – dmckee

답변

5

당신은 listings 패키지를 사용하고 싶습니다. 원하는 특정 작업이 있습니까, 아니면 어떤 패키지가 가장 일반적으로 작동하는지 묻는 중입니까? listings으로 큰 문제가 발생하지는 않았지만, 정확히 내가 원하는 것은 때때로 까다 롭습니다 (LaTeX, 다른 것은 어리 석다 고 생각합니다).

편집 (편집을 처리하기 위해) : 지능적인 페이지 분리는 문제가 될 수 있습니다. 그것은 확실히 내 능력을 초월한 것입니다. listings 명시 적 마크 업 (LaTeX로 탈출하고 적절한 위치에 음수 페이지 나누기 패널티를 삽입 할 수 있음, 매크로 가능) 가능성이 있지만 listings이 자동으로 수행 할 수 있다고 생각하지 않으며 LGrind가이를 수행 할 수 있을지 의심됩니다 어느 한 쪽. LaTeX 특정 목록 (Usenet의 comp.text.tex은 시도하기에 좋은 곳입니다)에서 검색하거나 요청하는 것이 더 나을지 모르지만 TeX에서 페이지가 깨지는 것은 결코 줄 바꿈만큼 좋지 않습니다. 그래서 너무 많이 버리지는 않을 것입니다. 희망, 불행하게도.

10

listings 패키지를 사용하지만 대부분 스 니펫 용입니다. 나는 일반적으로 페이지 나누기에 대해 걱정할 필요가 없었다. listings에 대한 훌륭한 점 중 하나는 높은 수준의 유연성입니다. 예를 들어, 내 SQL을 활용하지 않는,하지만 난 대문자 키워드로 내 목록을 인쇄 할 수 있습니다

\makeatletter 
\newcommand{\lstuppercase}{\uppercase\expandafter{\expandafter\[email protected] 
          \expandafter{\the\[email protected]}}} 
\newcommand{\lstlowercase}{\lowercase\expandafter{\expandafter\[email protected] 
          \expandafter{\the\[email protected]}}} 
\makeatother 

\lstdefinestyle{Oracle}{basicstyle=\ttfamily, 
         keywordstyle=\lstuppercase, 
         emphstyle=\itshape, 
         showstringspaces=false, 
         } 

그리고 내가 그들을 필요로하는 키워드를 정의

\lstdefinelanguage[Oracle]{SQL}[]{SQL}{ 
    morekeywords={ACCESS, MOD, NLS_DATE_FORMAT, NVL, REPLACE, SYSDATE, 
       TO_CHAR, TO_NUMBER, TRUNC}, 
} 

이 정의를 사용하려면 : 나는 코드의 더 큰 조각을 인쇄한다면

\lstset{language=[Oracle]SQL, 
     style=Oracle, 
     } 

, 나는 페이지 나누기에 대해 걱정하거나 LaTeX에 전달하기 전에 코드를 분할하는 프리 프로세서를 쓸 것 중 하나.

관련 문제