更改行中间项目的垂直对齐方式(用于目录条目)

更改行中间项目的垂直对齐方式(用于目录条目)

嗯,我有时真的开始讨厌 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}

本示例的输出如下:

一个.png

显然,目录中的条目被排版为“一行”,“s minipage”被视为字符 - 并且所有“字符”都垂直居中对齐。

我想要的是和最初的问题:我希望“条目”和标题(minipage)顶部对齐 - 并且标题(minipage)和页码底部对齐。

我猜这意味着引入一种“软”换行符——仅作为改变垂直对齐的指令:后续单词应与前一个单词的底部对齐(但实际上并不创建额外的基线跳过[并重新开始从左边距定位单词],就像真正的“硬”换行符一样)。

在图像编辑器中,所需的输出将如下所示:

a1-编辑.png

...但我就是看不出我可以对代码做哪些更改来实现这一点。如果我们按照最初的问题- 我应该在哪里插入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} 和迷你页面之间使用的所有代码,因此,它可能不会按您想要的方式工作,但我只是想提供帮助。

相关内容