我想写一份包含练习(按章节甚至子章节划分)的背面文档,并在末尾的章节中列出练习的解决方案。例如,就像在书中所做的那样。
我希望我的代码具有以下结构(这不是强制性的,但我希望它结构良好,这似乎是一个不错的选择):
\section{About you}
\begin{ex}
How tall are you?
\begin{sol}
I am 6'5.
\end{sol}
\end{ex}
\begin{ex}
How are you?
\begin{sol}
I am fine thanks.
\end{sol}
\end{ex}
\clearpage
\section{Computations}
\begin{ex}
1+1?
\begin{sol}
That's easy, it is 2.
\end{sol}
\end{ex}
\begin{ex}
How about 6+3?
\begin{sol}
Hmm, 9.
\end{sol}
\end{ex}
\begin{ex}
17x3?
\begin{sol}
51.
\end{sol}
\end{ex}
\begin{ex}
Last one, 64+46?
\begin{sol}
110.
\end{sol}
\end{ex}
\clearpage
\section{Solutions}
\printsolutions
它应该产生类似这样的结果:
1. 关于您
1.1 你有多高?
1.2 你好吗?
2. 计算
2.1 1+1?
2.2 6+3 怎么样?
2.3 17x3?
2.3 最后一个,64+46?
3.解决方案
- 关于你
1.1 我身高 6 英尺 5 英寸
1.2 我很好,谢谢
- 计算
2.1 这很简单,它是 2。2.2
嗯,9。2.3
51。
110。
最后,我想说每个问题都有一个指向其解决方案的超链接,问题的解决方案中也有一个超链接(例如,如果我点击问题 1.1,我就会转到解决方案 1.1,反之亦然),如果可能的话,不必标记每个问题和每个解决方案。
答案1
可能是這樣嗎?
\documentclass[12pt,a4paper]{book}
\usepackage{amsthm,amsfonts,amssymb,amsmath}
\usepackage{answers}
\newif\ifsolutions
\solutionstrue % hide or show solution
\theoremstyle{definition}
\newtheorem{ex}{%
\hyperlink{ex:\theex}{Exercise}\hypertarget{sol:\theex}{}}[chapter]
\Newassociation{sol}{Soln}{ans}
\renewenvironment{Soln}[1]{\par\bigskip\noindent{\bfseries \hypertarget{ex:#1}{}\hyperlink{sol:#1}{ #1}}\quad}
\theoremstyle{definition}
\usepackage[linkcolor=blue,colorlinks=true,unicode,bookmarksnumbered]{hyperref}
\begin{document}
\chapter{Try}
\Opensolutionfile{ans}[ans1]
\section{About you}
\begin{ex}
How tall are you?
\begin{sol}
I am 6'5.
\end{sol}
\end{ex}
\begin{ex}
How are you?
\begin{sol}
I am fine thanks.
\end{sol}
\end{ex}
\clearpage
\section{Computations}
\begin{ex}
1+1?
\begin{sol}
That's easy, it is 2.
\end{sol}
\end{ex}
\begin{ex}
How about 6+3?
\begin{sol}
Hmm, 9.
\end{sol}
\end{ex}
\begin{ex}
17x3?
\begin{sol}
51.
\end{sol}
\end{ex}
\begin{ex}
Last one, 64+46?
\begin{sol}
110.
\end{sol}
\end{ex}
\Closesolutionfile{ans}
\ifsolutions
\section{Solutions}
\input{ans1}
\fi
\end{document}