Como numerar capítulos de zero?
Estou trabalhando no layout ConTeXt de um documento que deve ter capítulos (mas não seções) numerados de zero. O corpo do texto está sendo convertido com pandoc do markdown retirado de um repositório github, então estou procurando um comando simples que possa usar antes \starttext.
A estrutura de numeração deve ser semelhante a esta:
Algo como este MWE parece que deve fazer o que eu quero, mas a saída ainda está numerada a partir de 1:
\setcounter[chapter][0]
\starttext
\chapter{Zero Unit}
\input knuth
\chapter{One More Time}
\input knuth
\stoptext
Usar \setcounter[chapter][-1]não funciona melhor.
Consultando o Manual ConTeXt (2013), encontrei uma referência para \setupheadnumber. No entanto, isso também não funciona, pois a numeração é, por algum motivo, suprimida se uma seção tiver um número de valor zero:
\setupheadnumber[chapter][-1]
\starttext
\chapter{Zero Unit}
\input knuth
\section{Inner Zero.One}
\chapter{One More Time}
\input knuth
\section{Inner One.One}
\stoptext
Essa saída é especialmente ruim, pois confunde a numeração do Capítulo 0, seção 0.1, com o Capítulo 1.
Eu sei sobre o uso de ownnumber=comandos de seccionamento, mas isso exigiria a escrita de um filtro para pandoc que calcula e incorpora em toda a saída de contexto, e eu realmente gostaria de evitar isso. Com \setupheadnumbereu poderia obter 99% do caminho até lá e definir manualmente o número no corpo do texto para o Capítulo Zero, mas, novamente, eu gostaria de evitar edições programáticas ou manuais no corpo do texto.
É possível iniciar a numeração de capítulo / seção do zero usando apenas os comandos anteriores \starttext?
Respostas
A lista de discussão https://www.mail-archive.com/[email protected]/msg79582.html diz que não é possível definir o contador para zero, mas você pode alterar a aparência para que 1 pareça 0. Imho uma solução um tanto estranha, mas parece funcionar:
\defineexpandable[1]\PreviousNumber
{\number\numexpr#1-1\relax}
\defineconversion[PreviousNumber][\PreviousNumber]
\defineconversionset[zerostart][n,PreviousNumber][n]
\setuphead[chapter,section][sectionconversionset=zerostart]
\starttext
\chapter{Zero}
\chapter{One}
\stoptext
Depois de agosto de 2018, a conversão zerojá está definida, então agora você pode usar o um pouco mais curto:
\defineconversionset[zerostart][n,zero][n]
\setuphead[chapter,section][sectionconversionset=zerostart]
\starttext
\chapter{Zero}
\chapter{One}
\stoptext
Para começar da contagem 0, você precisa fornecer -1 no contador de capítulo. Como mostrado abaixo:
\documentclass{book}
\usepackage[margin=1in]{geometry}
\setcounter{chapter}{-1}
\begin{document}
\chapter{Zero}
\chapter{One}
\end{document}