有没有一种简单的方法可以从同一个 tex 文件创建两个 pdf?

有没有一种简单的方法可以从同一个 tex 文件创建两个 pdf?

我正在尝试找到一种方法来生成测验和考试的解决方案文件。这是我当前的工作流程。

我有一个文件quiz.tex

\documentclass[12pt]{article}

\newcommand{\solutionscolor}{white}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{color}
\usepackage{thmtools}

\theoremstyle{definition}
\newtheorem{problem}{Problem}

\declaretheoremstyle[
headfont=\color{\solutionscolor}\normalfont\bfseries,
bodyfont=\color{\solutionscolor}
]{colored}

\declaretheorem[
style=colored,
% style=phantom,
name=Solution,
numbered=no
]{solution}

\newcommand{\fillblank}[2]{\underline{\hspace{#1}{\color{\solutionscolor}#2}\hspace{#1}}}

\title{Quiz}
\author{Name \fillblank{1.25in}{Solutions}}
\date{}

\begin{document}

\maketitle

\begin{problem}
  Let $f(x)=\cos(2\,x)$. Determine the concavity of $f(x)$ at $x=\pi$.
\end{problem}
\begin{solution}
  The first derivative of $f(x)$ may be computed using the chain rule
  \[
  f^{\prime}(x)
  = -\sin(2\,x)(2)
  = -2\sin(2\,x)
  \]
  The second derivative of $f(x)$ may then be computed by using the chain rule
  again
  \[
  f^{\prime\prime}(x)
  = -2\cos(2\,x)(2)
  = -4\cos(2\,x)
  \] 
  It follows that
  \[
  f^{\prime\prime}(\pi)=-4\cos(2\pi)=-4<0
  \]
  Since $f^{\prime\prime}(\pi)<0$, $f(x)$ is \emph{concave down} at $x=\pi$.
\end{solution}


\begin{problem}
  Fill in the blanks.
  \begin{align*}
    \sin(\pi) &= \fillblank{.25in}{0} &
    \cos(\pi) &= \fillblank{.25in}{-1} &
    \sin\left(\frac{\pi}{2}\right) &= \fillblank{.25in}{1} &
    \cos(34\pi) &= \fillblank{.25in}{1} 
  \end{align*}
\end{problem}

\end{document}

编译此文档会产生quiz.pdf

在此处输入图片描述

如果我将 的值更改\solutionscolorblue,结果将如下所示:

在此处输入图片描述

我的问题是我想要两个文件:(quiz.pdf无解决方案)和quiz-solutions.pdf(有解决方案)。目前我必须手动完成此操作。

有没有办法让我的自动输出生成两个文件?

答案1

根本问题是默认情况下,filename.tex写入filename.pdf。但有几种方法可以解决这个问题。第一步是\solutionscolor从中删除新命令quiz.tex

最简单的方法是有两个单独的文件
student.tex::

\newcommand{\solutionscolor}{white}
\input quiz

solutions.tex

\newcommand{\solutionscolor}{blue}
\input quiz

稍微好一点的想法可能是只使用两个命令:

pdflatex -jobname solutions "\newcommand{\solutionscolor}{blue}\input quiz"
pdflatex -jobname student "\newcommand{\solutionscolor}{white}\input quiz"

这两种方法都会使辅助文件和日志文件数量翻倍,并且需要您单独编译每个文档。但您可以让脚本为您运行这些操作,或者将您的命令合并为一个:

pdflatex student ; pdflatex solutions
pdflatex -jobname solutions "\newcommand{\solutionscolor}{blue}\input quiz" ; pdflatex -jobname student "\newcommand{\solutionscolor}{white}\input quiz"

(您应该知道白色文本仍然存在。以电子方式分发文档意味着人们可以访问您隐藏的数据。)

相关内容