此代码生成以下输出:
\documentclass{memoir}
\usepackage{lipsum}
\usepackage{titletoc}
\usepackage{tikz}
\titlecontents{psection}[2.3em]
{\large}
{\contentslabel{2.5em}}
{}
{\hspace*{.5em}\tikz[baseline]{\node[draw, inner sep=3pt, rounded corners, fill=red!30, anchor=base]{\thecontentspage};}}
\begin{document}
\tableofcontents
\chapter{Intro}
\startcontents[chapters]
\printcontents[chapters]{p}{1}{}
\lipsum[1-2]
\section{Sec1 I have title}
\lipsum[1-9]
\section{Sec2 Title goes here}
\lipsum[3-8]
\section{Sec3 Conditions goes here}
\lipsum[3-7]
\chapter{Chap2}
\startcontents[chapters]
\printcontents[chapters]{p}{1}{}
\lipsum[3]
\section{Sec1 This is a section}
\lipsum[1-9]
\section{Sec2 Final doc}
\lipsum[3-8]
\section{Sec3 Conditions goes here}
\lipsum[3-7]
\end{document}
输出:
问题是:我希望章节内容中的页码垂直相等地出现在一条线上。我已突出显示了我的需求。黄色标记显示页码 3、5 和 7 应根据我对距离的选择出现在一条直线上。我可以让它更近或更远。
有什么建议吗?谢谢。
答案1
通过使用\hfill
和,\hspace{...}
您可以做您想做的事情(更改值hspace
以使其更接近或远离右边界):
\documentclass{memoir}
\usepackage{lipsum}
\usepackage{titletoc}
\usepackage{tikz}
\titlecontents{psection}[2.3em]
{\large}
{\contentslabel{2.5em}}
{}
{\hfill\tikz[baseline]{\node[draw, inner sep=3pt, rounded corners, fill=red!30, anchor=base]{\thecontentspage};}\hspace*{4cm}}
\begin{document}
\tableofcontents
\chapter{Intro}
\startcontents[chapters]
\printcontents[chapters]{p}{1}{}
\lipsum[1-2]
\section{Sec1 I have title}
\lipsum[1-9]
\section{Sec2 Title goes here}
\lipsum[3-8]
\section{Sec3 Conditions goes here}
\lipsum[3-7]
\chapter{Chap2}
\startcontents[chapters]
\printcontents[chapters]{p}{1}{}
\lipsum[3]
\section{Sec1 This is a section}
\lipsum[1-9]
\section{Sec2 Final doc}
\lipsum[3-8]
\section{Sec3 Conditions goes here}
\lipsum[3-7]
\end{document}