Скрыть номер первого стиха(ов) главы в тексте, но не в заголовке

Скрыть номер первого стиха(ов) главы в тексте, но не в заголовке

В следующем примере, как я могу скрыть номер первого стиха (или стихов, таких как 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

Один из способов — установить флаг в \gchapterмакросе, а затем провести проверку для обнаружения первого использования \gverseafter \gchapter.

Обратите внимание, сброс флага выполнен.снаруживаш дублирован {{...}}, \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}
    ...

введите описание изображения здесь

Связанный контент