질문 정리

질문 정리

나는 추상 대수학, 실수 분석, 미분 방정식 등과 같은 주제에 따라 그룹화하여 TeX로 작성할 수학 문제집 세트를 가지고 있습니다. 다음을 달성할 수 있습니까?

문제지에 나타나는 질문을 질문 순서대로 입력하고 주제에 따라 각 질문에 레이블을 추가합니다. 출력에는 동일한 주제에 대한 모든 문제지의 질문이 함께 정렬됩니다.

답변1

이 문제를 처리하는 더 좋은 방법이 있을 수 있지만, verbatim답변이 형식으로 인쇄되더라도 질문과 답변을 함께 넣을 수 있는 패키지 에서 사용 가능한 확장을 기반으로 LaTeX 책의 연습 답변과 비슷한 작업을 수행했습니다. 각 장의 끝 부분에 별도의 섹션이 있습니다.

이것은 제가 사용한 코드입니다(파일에 모두 포함되어 있으므로 문자로 .cls사용합니다 ). @더 명확하게 하기 위해 목록에 주석을 달겠습니다.

먼저 새 쓰기를 만듭니다.(각 카테고리마다 하나씩 필요하지만 사용 가능한 쓰기 스트림은 16개뿐이고 LaTeX는 그 중 일부를 자체적으로 사용한다는 점을 기억하십시오.)

\newwrite\ans@out
\immediate\openout\ans@out=\jobname.ans

답변 환경 정의이는 패키지 verbatimwrite의 예제 환경을 기반으로 합니다.verbatim선적 서류 비치. 로 시작하는 줄은 \immediate\write입력 파일에 있는 내용 외에 추가 텍스트를 추가하는 데 사용됩니다.

\def\answer{%
  \@bsphack
  \let\do\@makeother\dospecials
  \immediate\write\ans@out{\string\preans}
  \immediate\write\ans@out{\string\par\string\noindent
       {\string\sc\space Exercise\string~\thequestion.}\quad}%
  \immediate\write\ans@out{\string\vadjust{\string\nobreak}\relax}
  \catcode`\^^M\active
  \def\verbatim@processline{%
    \immediate\write\ans@out
       {\the\verbatim@line}}%
  \verbatim@start}
\def\endanswer{%
  \immediate\write\ans@out{}
  \@esphack}

이것은 답변 형식을 지정하는 데 사용한 매크로 중 하나입니다. 실제로 중간에 생성된 출력이 표시되는 방식이 얼마나 추악한지 조금 당황스럽습니다.

\def\preans{\if@nobreak\global\@nobreakfalse\else\bigfilbreak\fi}

실제로 답변을 인쇄하는 명령을 정의하십시오.쓰기를 닫은 다음 다시 쓴 파일을 읽습니다.

\def\printanswers{\immediate\closeout\ans@out
  \@input{\jobname.ans}
}

질문 조판용 매크로이는 덜 흥미롭고 완전성을 위해 여기에만 표시됩니다.

\newcounter{question}[chapter]
\def\thequestion{\thechapter-\arabic{question}}
\def\question{\par\refstepcounter{question}\noindent
   {\sc Exercise \thequestion.}
   \ignorespaces}
\def\endquestion{\par}

이러한 모든 정의가 완료되면 입력 파일에서 다음과 같은 작업을 수행할 수 있습니다.

\begin{question}
What \LaTeX\ commands would you type at the beginning of the input file for
an article which had the title ``Birds \& Bees of North
America,'' was written by ``Dr.~H.T. Jones'' and had today's date
printed for the date field?
\end{question}

\begin{answer}
\begin{verbatim}
\documentclass{article}
\title{Birds \& Bees of North America}
\author{Dr.~H.T. Jones}
\begin{document}
\maketitle
...
\end{verbatim}
Note that \& is input as \verb+\&+ and a \verb+~+ is used after
``Dr.''\ to prevent an end-of-sentence space from being printed
there (a \verb*+\ + could have been used as well). Today's date
was supplied by omitting the date field.
\end{answer}

어느 생산질문 환경의 출력questionanswer환경이 나타나는 지점에서답변 환경의 출력명령이 나타나는 곳 \printanswers.

answers귀하의 경우에는 각 범주에 대한 환경을 에뮬레이트 한 다음 \printallofit생성된 모든 입력 파일을 닫고 다시 읽는 명령 등이 있어야 합니다.

답변2

biblatexplus는 oscola원하는 것을 수행하지만 학습 곡선이 높습니다. 각 질문은 질문의 주제 클래스를 정의하는 키워드 필드와 함께 biblatex 항목으로 정의됩니다. oscola각 주제에 대해 별도의 테이블을 구성하는 도구가 있습니다.

또는 일회성 작업이라면 다음과 같이 할 것입니다. 모든 질문을 한 줄에 하나씩 일반 텍스트 파일에 넣습니다. 각 질문 앞에는 각 주제에 대한 키워드로 대체됩니다 \item \vphantom{\hphantom{keyword}}. keyword파일을 grep하여 특정 주제에 대한 모든 질문을 자체 파일로 보낸 다음 해당 출력 파일을 마스터 LaTeX 문서에 포함시킵니다.

관련 정보