
LaTeX의 소스 코드를 텍스트로 허용하는 패키지가 있습니까? listings
코드가 너무 많은 공간을 차지하기 때문에 패키지를 사용하지 않는 것이 좋습니다 . 복사/붙여넣기는 공백이 유지되지 않기 때문에 지루합니다.
답변1
실험을 시작하기 위한 패키지 및 도구에 대한 몇 가지 팁을 드릴 수 있습니다. 과거에 여러 도구를 사용해 보았습니다.
나는 TeX의 환경을 좋아
verbatim
합니다verbatim*
. 이는 코드의 작은 부분을 즉시 조판하는 쉽고 간단한 방법입니다. 그러나 줄 바꿈은 할 수 없습니다.fancyvrb
얼마전부터 패키지를 사용하고 있었는데 ,http://ctan.org/pkg/fancyvrb. 이는 소스 코드 줄 번호에 대한 상호 참조가 (전혀) 가능하다는 것을 알아차린 첫 번째 패키지였습니다. 설명서의 14페이지와 15페이지를 참조하세요.listings
패키지를 자주 이용하는데 ,http://ctan.org/pkg/listings. 다소 복잡한 패키지이지만 내 요구 사항, 특히 외부 파일 형식 지정 옵션(\lstinputlisting
명령)을 충족합니다. 또한 줄을 래핑하고 해당 줄에 열기 및 닫기 기호를 추가할 수도 있습니다. VBA 언어(Visual Basic for Application)에 대한 자체 필터를 만들었던 것을 기억하며, 이를 시도해 보는 것은 재미있었습니다. UTF-8 코드 문자를 다룰 때 새로운 패키지가 있습니다. 패키지를 참조하세요listingsutf8
.http://ctan.org/pkg/listingsutf8. 나는listings
특정 문제를 해결하기 위해 이스케이프 시퀀스를 사용하고 있었습니다 . 나는 내 소스 코드에 CJKV(중국어, 일본어, 한국어, 베트남어)를 조판하고 있었습니다.사요나라!일본어로는 그렇죠안녕히 가세요!영어로). 한번은 PF 엽서 준비 과정을 발표하고 있었습니다.코드 를 다루는 경우
R
요즘에는 작업할 수 있는 훌륭한 도구가 있습니다knitr
.http://yihui.name/knitr/) 그리고 이름이 다소 오래된 도구Sweave
(http://www.stat.uni-muenchen.de/~leisch/Sweave/).코드를 다루고 계시다면
Sage
스타일을 한번 시험해 보시기 바랍니다SageTeX
.http://ctan.org/pkg/sagetex. 이 프로그램은 제가 한 번 직접 만난 사람이자 개발자인 체코 브르노 출신의 Robert Mařík이 프로그래밍했습니다.:-)
나는 또한
Highlight
프로그램을 사용합니다 (http://www.andre-simon.de/). 하나의 소스 코드에 여러 언어를 혼합하여 강조 표시할 수 있는 옵션이 있습니다(LaTeX+Lua, HTML+CSS 등). 파일 내 중첩된 언어의 형식화 및 인식이라고 합니다. 저는 LuaTeX가 탄생했을 때 그 기능을 요청했는데 그렇게 한 것이 자랑스럽습니다. 두 프로그램(이 프로그램과 Pygments) 모두 다른 언어에 대한 내보내기 옵션으로 LaTeX 형식을 제공합니다. 스타일은 문서의 나머지 부분과 별도의 파일로 추출될 수 있습니다.언급할만한 가치가 있는 도구는
Pygments
(http://pygments.org/). 명령줄에서 직접 사용하고 있습니다(또는 Python 내 라이브러리로). 게다가 TeX 세계에는 변환을 더 쉽게 해주는 패키지가 (적어도) 두 개 있습니다TeXments
.http://ctan.org/pkg/textments) 그리고Minted
(http://ctan.org/pkg/minted). Python에 관해서는 이라는 패키지도 있습니다PythonTeX
.http://ctan.org/pkg/pythontex. 시도 해봐!최근에 도구에 대해 알게 되었는데
pandoc
,http://johnmacfarlane.net/pandoc/. 오히려 형식 간 변환기이지만 시도해 볼 가치가 있습니다. 모든 주요 운영 체제에 대한 자체 실행 파일 외에도 온라인 버전이 있습니다.http://johnmacfarlane.net/pandoc/try/. LaTeX 형식은 변환기의 입력 및 출력 측에 대한 옵션입니다. 이 도구는 미래에서 온 것 같습니다!
소스 코드 조판에 행운이 있기를 바랍니다!
답변2
다음은 학생들(TeX를 배우는)에게 숙제의 소스 코드를 제공하여 수학을 작성할 때 공부하고 편집할 수 있도록 하는 관용구입니다.
\documentclass{article}
\usepackage{verbatim}
\begin{document}
Homework exercises here \ldots
\newpage
Here is the \LaTeX{} source for this document. You can cut it from the
pdf and use it to start your answers. I used the \verb!\jobname! macro
for the source file name, so you can call your file by any name you like.
\verbatiminput{\jobname}
\end{document}
답변3
verbatimbox
크기를 줄여 상자에 넣는 데 사용됩니다 . 를 사용하면 상자 크기를 더욱 줄일 수 있습니다 \scalebox
. 상자가 페이지 경계를 넘어가지 않는 반면, 패키지는 페이지를 넘어가는 일부 매크로의 "nobox" 버전도 제공합니다. 그러나 박스형 기능은 그림, 표에 축어적으로 포함하고 선에서 바로 이동하거나 중앙에 배치하는 데 유용합니다.
이 MWE에서는 명확성을 위해 모든 축어 상자 주위에 인클로저를 수동으로 추가했지만 \fbox
축어 상자의 일부는 아닙니다.
\documentclass{article}
\usepackage{verbatimbox}
\usepackage{graphicx}
\parskip 1ex
\parindent 0in
\begin{document}
With verbatimbox, you can tell the macro to make the code ``footnotesize.''\par
\begin{verbbox}[\footnotesize]
Here is my input code text
Line two of my $%& code text
Done now.
\end{verbbox}
\fbox{\theverbbox}\par
If it is from a file, I can do that, too, this time \verb|\scriptsize|:\par
\verbfilebox[\scriptsize]{junk.tex}
\fbox{\theverbbox}\par
Alternately, you could shrink it further with a \verb|\scalebox|:\par
\fbox{\scalebox{.5}{\theverbbox}}\par
If you have need to break across pages, the package offers ``nobox'' versions
of some of its macros.
\end{document}
또한numberedblock
다음과 같은 방식으로 작은 코드 블록의 형식을 지정할 수 있는 패키지(참고: 패키지 문서에서 가져온 이미지):