嗯,我有时真的开始讨厌 LaTeX 了——主要是因为你无法真正学到一门东西,然后把它应用到你想要的任何地方:/
例如,我问了这个问题更改中间行的小页面垂直对齐方式?,它得到了一个在那种情况下可行的答案——但我现在根本无法在这种情况下应用它,即使我遇到了同样的问题。
请考虑以下 MWE:
\documentclass{book}
\usepackage{hyperref}
\hypersetup{pdftex, colorlinks=true, linkcolor=black}
\usepackage{tocloft}
% like definition for \phantomsection, but for part
% "Re: documentation for \phantomsection"
% http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2006-01/msg01612.html
\makeatletter
\def\phantompart{%
\stepcounter{part}%
\xdef\@currentHref{part.\thepart}%
\Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
}
\makeatother
% tocloft custom TOC entry format:
\renewcommand{\cftpartpresnum}{ \fbox{ Entry } }
\renewcommand{\cftpartfont}{\normalfont}
\renewcommand{\cftpartleader}{\bfseries\cftdotfill{\cftdotsep}}
\fboxsep=0pt % for framebox
\begin{document}
\tableofcontents
\phantompart %
\addtocontents{toc}{%
\protect\contentsline{part}{%
\thepart\hspace{1em}\ignorespaces %
\fbox{ %
A Short Entry %
} %
} %
{ \fbox{ \thepage } }
{ \fbox{ part.\thepart } }% fbox doesn't show!
} %
\phantompart %
\addtocontents{toc}{%
\protect\contentsline{part}{%
\thepart\hspace{1em}\ignorespaces %
\fbox{ %
\protect\begin{minipage}{0.5\textwidth} %
\textbf{A longer entry here...} \\ %
Maybe something more written in this entry here, %
just to show as an illustration ... %
\protect\end{minipage} %
} %
} %
{ \fbox{ \thepage } }
{ \fbox{ part.\thepart } }% fbox doesn't show!
} %
\phantompart %
\addtocontents{toc}{% % tocloft: this adds to toc, but NOT bookmark!:
\protect\contentsline{part}{%
\thepart\hspace{1em}\ignorespaces %
\fbox{ %
\protect\begin{minipage}{0.5\textwidth} %
\textbf{Another longer entry here...} \\ %
Still, some more content entered here; %
just to show as an illustration ... %
\protect\end{minipage} %
} %
} %
{ \fbox{ \thepage } }
{ \fbox{ part.\thepart } }% fbox doesn't show!
} %
\vspace{0.2\textheight}
Some extra text...
\end{document}
本示例的输出如下:
显然,目录中的条目被排版为“一行”,“s minipage
”被视为字符 - 并且所有“字符”都垂直居中对齐。
我想要的是和最初的问题:我希望“条目”和标题(minipage
)顶部对齐 - 并且标题(minipage
)和页码底部对齐。
我猜这意味着引入一种“软”换行符——仅作为改变垂直对齐的指令:后续单词应与前一个单词的底部对齐(但实际上并不创建额外的基线跳过[并重新开始从左边距定位单词],就像真正的“硬”换行符一样)。
在图像编辑器中,所需的输出将如下所示:
...但我就是看不出我可以对代码做哪些更改来实现这一点。如果我们按照最初的问题- 我应该在哪里插入tabular
环境来实现“软”换行?
如果有可以解决这个问题的方案,我很乐意听到它;但除此之外,我更感兴趣的是听到一个解决这个问题的“核心”方法。
答案1
请原谅我对 LaTeX 的菜鸟,我最近才开始使用它。你试过类似的东西吗?
\addcontentsline{toc}{part}{\textbf{A longer entry here...} \\
Maybe something more written in this entry here, \\
just to show as an illustration ...}
我的意思是,不使用迷你页面?我无法识别您在 {part} 和迷你页面之间使用的所有代码,因此,它可能不会按您想要的方式工作,但我只是想提供帮助。