%3F.png)
близкие---
У меня есть вопрос, который я не знаю, как решить. Я собираю сборник вопросов моего экзамена в один pdf-файл, которым я хотел бы поделиться с другими учителями, которые также используют LaTeX. Проблема в том, что, хотя LaTeX выдает прекрасный pdf-файл, может быть довольно сложно скопировать/вставить из pdf-файла в другой файл TeX, если кто-то другой захочет использовать мою задачу. Я бы, конечно, предоставил исходный код для каждой задачи в ее собственном маленьком файле задачи, но копаться в целой папке или в одном файле, чтобы найти конкретную задачу, может быть немного утомительно.
Я знаю, что эти жалобы кажутся такими мелкими, что не стоят внимания, и в основном являются результатом лени. Но если их можно решить, это сделает совместную работу над этим с другими немного менее подверженной ошибкам и немного более гладкой для обзора, копирования и изменения проблем в будущем.
Я надеюсь, что смогу сделать что-то вроде:
\documentclass[options]{exam}
\usepackage{graphicx}
\usepackage{tikz}
\tikzlibrary{blahblah}
\usepackage{listings}
\usepackages{any other necessary packages to make this work}
\begin{document}
\begin{questions}
\some-command-to-duplicate-question,but-in-a-lstlistings-sort-of-environment{%
\question A question?
\begin{solution}
The solution
\end{solution}
}
\same-command-as-before{%
\includegraphics{diagramforquestion}%could also be for Tikz drawings, tables, other figures, etc
\question Another question?
\begin{solution}
Another solution.
\end{solution}
}
\end{questions}
\end{document}
Таким образом, в PDF-файле будет:
Список вопросов, дополненный диаграммами и т. д., которые должным образом набраны в LaTeX;
некоторые lstlistings или подобная среда, показывающая исходный код для этой проблемы.
Очевидно, я мог бы просто скопировать/вставить текст вопроса в среду lstlisting, но если будут внесены какие-либо изменения, то человек, сотрудничающий со мной и вносящий изменения в вопрос (или, что более вероятно, я), должен будет помнить о необходимости скопировать все изменения во вторую среду, тогда как если бы был какой-то способ дать какую-то команду или переопределить какую-то среду для этого сборника, где он будет набранивывести исходный код для легкого копирования, при этом необходимо будет изменить только одно место, что значительно упростит обслуживание отдельных проблемных файлов с течением времени.
Спасибо за любую помощь, которую вы можете предложить!
решение1
Оба input
и lstinputlisting
я — ваши друзья здесь.
Вы также можете изменить \question
команду, чтобы включить файлы для решений, единственное, что необходимо, так это то, что \input
они должны быть допустимыми файлами TeX.
\documentclass[10pt]{article}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{listings}
\lstset{basicstyle=\footnotesize\ttfamily,breaklines=true}
\newcommand{\question}[4]{
#1
The question is
\begin{center}
\input{#2}
\end{center}
For copy-pasting, the question is
\lstinputlisting{#2}
The solution is here:
\begin{center}
#3
\end{center}
#4
}
\begin{document}
Introduction
\begin{enumerate}
\item \question{For undergraduates:}{q1}{My solution}{
A figure to help explain
\begin{tikzpicture}
\draw (0,0) -- (2,0) -- (2,2) -- (0,0);
\end{tikzpicture}
}
\item \question{For grad students:}{q1}{Another solution}{No figure needed for grad students}
\end{enumerate}
\end{document}
Чтобы сделать это настоящим MWE, у меня есть файл q1.tex
в том же каталоге, который называется так:
If $n = 3$, $x^n + y^n = z^n$ has no integer solutions. If you have extra time, please prove this for all other $n > 2$.