\newcounter{entry}[chapter]
\newcommand{\declarenewentry}[1]{\medskip\noindent\framebox[\textwidth][l]{\qquad Day \theentry : #1}\medskip}
\newcommand{\newentry}[1]{\addtocounter{entry}{1}\addtocounter{chapter}{1}\phantomsection \addcontentsline{toc}{chapter}{\protect\numberline{\theentry \qquad #1}}\declarenewentry{#1}}
梅威瑟:
\documentclass{book}
\usepackage{bookmark, hyperref}
\newcounter{entry}[chapter]
\newcommand{\declarenewentry}[1]{\medskip\noindent\framebox[\textwidth][l]{\qquad Day \theentry : #1}\medskip}
\newcommand{\newentry}[1]{\addtocounter{entry}{1}\addtocounter{chapter}{1}\phantomsection \addcontentsline{toc}{chapter}{\protect\numberline{\theentry \qquad #1}}\declarenewentry{#1}}
\begin{document}
\frontmatter
\mainmatter
\newentry{August 10, 2021}
Sample Text
\section{Sample}
\newpage
\newentry{August 11, 2021}
\backmatter
\end{document}
现在,问题是这些命令生成了一个书签,但没有显示名称。我认为这是因为\phantomsection
。我可能可以通过使用sectsty
包来实现更好的效果,但是有没有办法命名书签?
编辑:输出
正如所观察到的,存在一个没有名字的书签。该部分下方也有同样的情况,因为有第二个条目,尽管它不引人注意。
答案1
\newentry
我的印象是,您想使用而不是\chapter
。
\documentclass{book}
\usepackage{titlesec}
\usepackage{hyperref,bookmark}
\titleformat{\chapter}[block]
{\normalfont}
{}
{0pt}
{\declarenewentry}
\titlespacing{\chapter}
{0pt}
{\medskipamount}
{\medskipamount}
\newcommand{\declarenewentry}[1]{%
\framebox[\textwidth][l]{\qquad Day \thechapter: #1}%
}
\begin{document}
\mainmatter
\chapter{August 10, 2021}
Sample Text
\section{Sample}
\chapter{August 11, 2021}
\end{document}