tabularx 中的行距相等吗?

tabularx 中的行距相等吗?

我正在使用 tabularx 来制作一个漂亮的章节标题(可能不是最好的方法,但对我来说这是最容易对齐内容的方法)。

  1. 我怎样才能使标题行间距相等?(字母“g”弄乱了间距),为什么标题没有水平对齐?

  2. 有没有更好的方法可以在不使用 tabularx 的情况下实现此效果?右侧的大章节编号在底部对齐,而标题带有下划线和多行?

\documentclass{book}

\usepackage{xcolor} 


\usepackage[explicit]{titlesec}
\usepackage{lmodern}
\usepackage{tabularx}

\newcolumntype{L}{>{\raggedleft\arraybackslash}X}

\renewcommand\tabularxcolumn[1]{b{#1}} 

\titleformat{\chapter}[block]
{\normalfont\sffamily}{}{0pt}
{
\begin{tabularx}{\linewidth}{@{}L r@{}} 
{\Huge \sffamily \textbf {#1}}\vspace{0.2em} & 
{\normalfont\sffamily\fontsize{120}{110}\selectfont\color{gray!25}{\textbf \thechapter}} \\\cline{1-1}
\end{tabularx}
}

\begin{document}

\chapter{ace ace ace ace ace ace ace age ace ace ace ace ace ace ace }

\end{document}

在此处输入图片描述

答案1

我建议你改变

\begin{tabularx}{\linewidth}{@{}L r@{}} 
{\Huge \sffamily \textbf {#1}}\vspace{0.2em} & 

\begin{tabularx}{\linewidth}{@{} >{\Huge\sffamily\bfseries}L r @{}} 
#1 & 

完整的 MWE:

在此处输入图片描述

\documentclass{book}
\usepackage{xcolor} 

\usepackage[explicit]{titlesec}
\usepackage{lmodern}

\usepackage{tabularx}
\newcolumntype{L}{>{\raggedleft\arraybackslash}X}
\renewcommand\tabularxcolumn[1]{b{#1}} 

\titleformat{\chapter}[block]
{\normalfont\sffamily}{}{0pt}
{
%\begin{tabularx}{\linewidth}{@{}L r@{}} 
%{\Huge \sffamily \textbf {#1}}\vspace{0.2em} & 
\begin{tabularx}{\linewidth}{@{} >{\Huge\sffamily\bfseries}L r @{}} 
#1 & 
{\normalfont\sffamily \fontsize{120}{110}\selectfont \color{gray!25}{\textbf \thechapter}} \\\cline{1-1}
\end{tabularx}
}

\begin{document}
\chapter{ace ace ace ace ace ace ace age ace ace ace ace ace ace ace}
\end{document}

答案2

我不会使用tabularx,而是使用顶部对齐\parbox,其中包含与标题、垂直跳过和规则对齐的底部\parbox对齐。这样,章节号将与标题的底线对齐。

\documentclass{book}

\usepackage{xcolor} 
\usepackage{showframe} % just for the example

\usepackage{titlesec}
\usepackage{lmodern}


\titleformat{name=\chapter}[block]
  {\normalfont\sffamily}
  {}
  {0pt}
  {\jakechapter{\thechapter}}

\titleformat{name=\chapter,numberless}[block]
  {\normalfont\sffamily}
  {}
  {0pt}
  {\jakechapter{\hphantom{0}}}

\newsavebox{\jakechapterbox}
\newcommand{\jakechapter}[2]{%
  \sbox{\jakechapterbox}{\normalfont\fontsize{120}{110}\sffamily\bfseries\color{gray!25}#1}%
  \parbox[t]{\dimexpr\textwidth-\wd\jakechapterbox-2\tabcolsep}{%
    \parbox[b]{\linewidth}{%
      \raggedleft\normalfont\Huge\sffamily\bfseries#2%
    }
    \vspace{0.2em}\hrule
  }\hfill\usebox{\jakechapterbox}%
}


\begin{document}

\begingroup\let\clearpage\relax\let\cleardoublepage\relax

\chapter*{Introduction}

\chapter{This is a chapter title split across two lines}

\endgroup

\end{document}

\begingroup...\endgroup业务用于制作具有两个章节标题的单幅图像,一个标题有编号,另一个标题无编号。

第二张图显示标题和章节号的基线一致。

在此处输入图片描述

在此处输入图片描述

相关内容