Tex-File의 내용 필터링

Tex-File의 내용 필터링

학생들을 위한 몇 가지 연습문제를 만들려고 합니다. 그래서 아이디어는 솔루션 카운터가 0으로 설정된 경우 솔루션을 흰색으로 만들고 카운터가 1로 설정된 경우 솔루션을 표시하는 명령을 사용하는 것입니다.

(추가로 카운터가 0으로 설정된 경우 계산용 정사각형 종이를 표시하는 상자를 만들고 카운터가 1로 설정된 경우 솔루션과 흰색 배경의 프레임 상자를 만들었습니다. 하지만 지금은 간단하게 유지하고 싶기 때문에 그냥 명령에 집중하세요)

다음은 명령의 최소 작동 예입니다.

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}

\newcounter{wf}
\setcounter{wf}{1}

\newcommand{\whf}[1]{%
\ifnum\value{wf}=0%
    \textit{#1}%
\else%
    \textcolor{white}{\itshape #1}%
\fi%
}

\begin{document}
The following word is white sometimes: \whf{Test}, hope it works.
\end{document}

꽤 잘 작동하고 괜찮았지만:

이제 모든 솔루션에 대한 개요를 작성하고 싶습니다. 그래서 저는 연습문제를 보여주지 않고 해결책만 보여드리고 싶습니다. 내가 바랄 수 있는 최선은 "\whf 명령에 있는 내용 외에는 아무것도 표시하지 않음"과 같은 것입니다.

나는 지금 수많은 운동을 만들었고 내가 할 수 있는 해결책이 있기를 바랍니다.

  1. 모든 운동을 다시 할 필요가 없습니다.

  2. 솔루션을 함께 압축하고 많은 페이지에 분산시키지 마십시오.

  3. (보너스) 연습 횟수(또 다른 카운터)가 연습에 따른 솔루션과 함께 표시됩니다.

그래서 제 영어 실력이 너무 나쁘지 않았으면 좋겠고, 설명이 길어서 죄송합니다. 내 문제를 이해해 주시고 해결책을 제공해 주시기를 바랍니다.

감사합니다.

답변1

솔루션이 TeX 코드를 포함하지 않고 단지 단어인 경우 솔루션을 별도의 파일에 작성할 수 있습니다. 파일을 열려면 다음을 사용하십시오.

\newwrite\solfile
\immediate\openout\solfile\jobname Solutions.tex

\jobname현재 기본 TeX 파일의 이름을 보유하므로 XXXSolutions.tex기본 파일이 XXX.tex.

파일에 쓰려면 다음을 사용하십시오.

\immediate\write\solfile{...}

이렇게 하면 중괄호 사이에 내용이 기록됩니다 \solfile. 내용이 확장되므로 올바른 토큰이 파일에 포함되도록 예방 조치를 취해야 합니다.

아래 코드를 file 에 넣으면 한 줄을 포함하는 test.tex파일이 생성됩니다.testSolutions.tex

\solution {Test}

매크로를 정의하여 답변의 형식을 지정할 수 있습니다 \solution.

파일 명령이 포함된 코드:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}

\newcounter{wf}
\setcounter{wf}{1}

\newwrite\solfile                               % <<<<<<<<<<<<<<<<<<<<<<
\immediate\openout\solfile\jobname Solutions.tex% <<<<<<<<<<<<<<<<<<<<<<
\newcommand{\whf}[1]{%
\ifnum\value{wf}=0%
    \textit{#1}%
\else%
    \textcolor{white}{\itshape #1}%
\fi%
\immediate\write\solfile{\noexpand\solution{#1}}% <<<<<<<<<<<<<<<<<<<<<<
}

\begin{document}
The following word is white sometimes: \whf{Test}, hope it works.
\end{document}

관련 정보