\chapter 명령의 내용을 활성화 및 비활성화합니다.

\chapter 명령의 내용을 활성화 및 비활성화합니다.

나는 사용자를 위한 많은 콘텐츠를 가지고 있습니다. 다른 사용자에게는 다른 내용을 표시하고 싶습니다. 이를 위해 문서의 일부 내용(예: 장 섹션 하위 섹션)을 표시하거나 표시하지 않음으로써 다른 출력을 생성하고 싶습니다.

내 생각은 다음과 같습니다. 장/섹션을 작성하는 동안 인수를 true 또는 false로 설정하여 특정 사용자에게 표시할 수 있도록 선언합니다. 예를 들어,

if (user1 == true) 다음 위치에 있어야 합니다.user1.pdf

더 구체적으로 말하면 다음과 같습니다.

매크로는 다음과 같습니다. \chapter <chapterName1> [bool arg1][bool arg2][bool arg3]

\chapter <chapterName1> [user1==true][user2==false][user3==false] 

\chapter <chapterName2> [user1==true][user2==true][user3==false]

\section <sectionName1> [user1==true][user2==true][user3==true]

통과 user1하고 user3'True'이면 출력에는 다음이 포함되어야 합니다.

명령(예) :\def\arg1=true, arg2=false, arg1=true \input{myfile}

chapterName1

sectionName1

어떻게 해야 하나요?

답변1

여기서부터 시작할 수 있습니다. 아래 방법에는 environ콘텐츠를 건너뛰는 패키지가 포함되어 있지만 이 목적으로 패키지를 사용해 볼 수도 있습니다 comment.

\documentclass[openany]{scrbook}

\usepackage{environ}
\usepackage{pdftexcmds}

\newcommand{\username}{user1}

\makeatletter
\NewEnviron{condchapter}[2][user]{
    \ifnum\pdf@strcmp{#1}{\username}=\z@
        \chapter{#2}
        \BODY
    \else
    \fi
}
\makeatother

\begin{document}

\begin{condchapter}[user1]{Title-1}

Some text.

\end{condchapter}

\begin{condchapter}[user2]{Title-2}

Some text.

\end{condchapter}

\renewcommand{\username}{user2}

\begin{condchapter}[user2]{Title-3}

Some text.

\end{condchapter}

\end{document}

활성화된 사용자 목록을 통한 또 다른 가능성:

\documentclass[openany]{scrbook}

\usepackage{environ}
\usepackage{xstring}

\newcommand{\username}{user1}

\makeatletter
\NewEnviron{condchapter}[2][user]{
    \IfSubStr{#1}{\username}{%
        \chapter{#2}
        \BODY
    }{}
    %\else
    %\fi
}
\makeatother

\begin{document}

\begin{condchapter}[user1]{Title-1}

Some text.

\end{condchapter}

\begin{condchapter}[user2]{Title-2}

Some text.

\end{condchapter}

\renewcommand{\username}{user2}

\begin{condchapter}[user2, user3]{Title-3}

Some text.

\end{condchapter}

\end{document}

추신: 한 ​​번에 모든 파일을 생성하려면 답변에서 시작할 수 있습니다여기


또 다른 가능성은comment패키지이 목적을 위해 명령을 수정하지 않고 chapter.

관련 정보