本文中の章の最初の節の番号を非表示にするが、ヘッダーでは非表示にしない

本文中の章の最初の節の番号を非表示にするが、ヘッダーでは非表示にしない

次の例では、聖書の章の最初の節番号(または1-2節など)を、ヘッダーに表示せずに本文に表示しないようにするにはどうすればよいでしょうか。(これは、ここ

\documentclass[12pt,openany,final]{memoir}

\usepackage{libertine}
\usepackage{xcolor}
\usepackage{lettrine}
\usepackage{lipsum}

%%% headers
\makeoddhead{headings}{\rightmark}{}{\thepage}
\makeevenhead{headings}{\thepage}{}{\leftmark}

%remove the marks set by \section.
\addtopsmarks{headings}{}{%
\renewcommand\sectionmark[1]{}
}

%%%%chapter format
\newcommand{\chaplabel}{}
\newcommand{\gnumChapters}{0}

\newcommand{\gChapter}[1]{\lettrine[lines=2,nindent=.5em,findent=0em]{{\textcolor{black}{#1}}}{}\markboth{\chaplabel\ #1:1}{\chaplabel\ #1:1}\renewcommand{\gnumChapters}{#1}}

%%%%verse format
\makeatletter
% define a 'smaller textsuperscript' macro
\DeclareRobustCommand*\textsmallsuperscript[1]{%
\@textsmallsuperscript{\selectfont#1}}
\def\@textsmallsuperscript#1{%
{\m@th\ensuremath{^{\mbox{\fontsize\ssf@size\z@#1}}}}}
\makeatletter

\newcommand{\gverse}[1]{{\textsmallsuperscript{#1}\hspace*{.1em}\ignorespaces\markboth{\chaplabel\ \gnumChapters:#1}{\chaplabel\gnumChapters:#1}}\ignorespaces}

\begin{document}
\gChapter{1}
\gverse{1-2}\lipsum[2]
\gverse{3}\lipsum[3]
\end{document}

答え1

1 つの方法は、マクロにフラグを設定し\gchapter\gverseafterの最初の使用を検出するためにテストすることです\gchapter

フラグのリセットは完了です{{...}}を2 倍にして\gverseください。そうしないと、フラグのローカル コピーにのみ影響し、機能しません。

    ...
    %%%%chapter format
    \newcommand{\chaplabel}{}
    \newcommand{\gnumChapters}{0}
    \newif\ifshowverseno

    \newcommand{\gChapter}[1]{\showversenofalse\lettrine[lines=2,nindent=.5em,findent=0em]{{\textcolor{black}{#1}}}{}\markboth{\chaplabel\ #1:1}{\chaplabel\ #1:1}\renewcommand{\gnumChapters}{#1}}

    %%%%verse format
    \makeatletter
    % define a 'smaller textsuperscript' macro
    \DeclareRobustCommand*\textsmallsuperscript[1]{%
    \@textsmallsuperscript{\selectfont#1}}
    \def\@textsmallsuperscript#1{%
    {\m@th\ensuremath{^{\mbox{\fontsize\ssf@size\z@#1}}}}}
    \makeatletter

    \newcommand{\gverse}[1]{{\ifshowverseno\textsmallsuperscript{#1}\hspace*{.1em}\ignorespaces \fi%
       \markboth{\chaplabel\ \gnumChapters:#1}{\chaplabel\gnumChapters:#1}}\showversenotrue\ignorespaces}

    \begin{document}
    ...

ここに画像の説明を入力してください

関連情報