Как показать LaTeX-код в документе LaTeX?

у меня есть небольшая проблема, где я хотел бы вставить svn diff документа LaTeX в другой документ LaTeX, цель состоит в том, чтобы показать, что изменилось с момента пересмотра XXX. Однако, поскольку diff содержит много команды LaTeX, я не могу включить ее прямо в документ, так как LaTeX будет вставлять их, а не просто "печатать" их.

сегодня у меня это в моем Makefile

DIFF_INFO=diff.info.tex
DIFF_REV=167
diffinfo:
    $(shell echo "n" > $(DIFF_INFO) )
    $(shell echo "section{diff $(DIFF_REV)} n" >> $(DIFF_INFO) )
    $(shell echo \begin{verbatim} >> $(DIFF_INFO) )
    $(shell svn diff --revision $(DIFF_REV) $(N).tex >> $(DIFF_INFO) )
    $(shell echo \end{verbatim} >> $(DIFF_INFO) )

и в конце документа LaTeX у меня есть это:

IfFileExists{diff.info.tex}
{
  newpage
  input{diff.info.tex}
}

но это терпит неудачу!

моя следующая идея-написать сценарий perl, который заменяет все недопустимые символы чем-то, что может показать LaTeX, но кажется, что я рискую изобрести колесо, поэтому я подумал, что могу спросить, есть ли у кого-то лучшая идея?

Как включить и показать код LaTeX в документе?

спасибо Йохан!--3-->


обновление: Спасибо "неизвестный (google)" за указание дословно, он сделал то, что я хотел к.

обновление: Я также похоже, что я должен попробовать, что списки, которые las3rjock рассказал нам о, так как это выглядит неплохо.

обновление: Не удалось заставить списки работать в моем случае, я получаю странные предупреждения utf о недопустимых символах. Но стенограмма работает, поэтому я буду использовать этот способ на этот раз.

2 ответов


там ' a verbatim пакет, который вы можете включить с \usepackage{verbatim} и доступ с помощью \verbatiminput{имя файла}.


Я повторяю рекомендацию Буджума в комментарии к другому ответу, который вы используете списки пакета. Для списков кода LaTeX я использую настройки, которые я нашел в André Miede's classicthesis пакета. Вот пример документа (quine.tex) и его вывод:

\documentclass[12pt,letterpaper]{article}
\usepackage{listings}
\usepackage[usenames,dvipsnames]{color}

% listings settings from classicthesis package by
% Andr\'{e} Miede
\lstset{language=[LaTeX]Tex,%C++,
    keywordstyle=\color{RoyalBlue},%\bfseries,
    basicstyle=\small\ttfamily,
    %identifierstyle=\color{NavyBlue},
    commentstyle=\color{Green}\ttfamily,
    stringstyle=\rmfamily,
    numbers=none,%left,%
    numberstyle=\scriptsize,%\tiny
    stepnumber=5,
    numbersep=8pt,
    showstringspaces=false,
    breaklines=true,
    frameround=ftff,
    frame=single
    %frame=L
}

\begin{document}
\lstinputlisting{quine.tex}
\end{document}

LaTeX document displaying its own source code
(нажмите, чтобы увеличить)