Как создать команду или среду, которая запускается и останавливается дословно?

Как создать команду или среду, которая запускается и останавливается дословно?

Я пишу простое руководство по LaTeX, предназначенное для редакторов студенческой работы. Работа предназначена для студентов-математиков и физиков моего университета, поэтому мы используем LaTeX.

В любом случае, я хочу включить в руководство много примеров, но оно стало немного громоздким. Сейчас я использую следующий формат:

\hspace{20pt}
\begin{framed}
  \begin{minipage}{0.8\textwidth}
    \begin{verbatim}
      Some code
    \end{verbatim}
    $\quad \Rightarrow$\\
    \mbox{}\\
      Some code
  \end{minipage}
\end{framed}

Строка `` Some code'' сначала отображается дословно, а затем выносится наружу для полной компиляции, показывая вывод.

Я хотел упростить это до одной команды, что-то вроде

\newcommand{\verandshow}{1}
{
\hspace{20pt}
\begin{framed}
   \begin{minipage}{0.8\textwidth}
    \begin{verbatim}
      #1
    \end{verbatim}
    $\quad \Rightarrow$\\
    \mbox{}\\
      #1
  \end{minipage}
\end{framed}
}

но verbatimсреда все портит. То же самое касается создания новой среды и добавления операторов и \begin{verbatim}в \end{verbatim}конце.

Я слышал об альтернативных способах отображения кода, например listingsи других, но они не работали так уж хорошо. И даже если бы они работали, вопрос остается без ответа, на который я не нашел простого ответа, а именно: как определить команду или среду, которая помещает аргументы в среду дословно?

решение1

Здесь показана лишь небольшая часть функций tcolorboxи listings:

\documentclass{article}

\usepackage[most]{tcolorbox}


\begin{document}
\begin{tcblisting}{listing options={numbers=left},colback=green,arc=0mm,auto outer arc}
Some Code with math output: 

\[ E = mc^2 \]

\end{tcblisting}

% And now listing only

\begin{tcblisting}{colback=yellow,arc=0mm,auto outer arc,listing only}
Some Code with math output: \[ E = mc^2 \]

\end{tcblisting}


\end{document}

введите описание изображения здесь

Связанный контент