如何为多行文本设置文本深度=0pt?

如何为多行文本设置文本深度=0pt?

我想放置一个深度为零的多行文本(无需事先了解行数)。当 n = 1 时,解决方案很简单 ( text depth = 0pt),但当 n > 1 时,此方法无法正常工作。我必须做什么才能达到想要的效果?

在示例的第二部分中,文本的基线与所绘制的线条相同。在第三个示例中,我希望获得相同的效果,但这里绘制的线条上有下划线。

\documentclass{minimal}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[inner sep=0pt]
 \draw (0,0) -- (5,0);
 \node[text width=5cm,above] at (2.5,0)
    {Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, };

 \begin{scope}[yshift=3cm]
    \draw (0,0) -- (5,0);
    \node[text width=5cm,text depth=0pt,above] at (2.5,0)
       {Lorem ipsum dolor sit amet, };
 \end{scope}

 \begin{scope}[yshift=6cm]
    \draw (0,0) -- (5,0);
    \node[text width=5cm,text depth=0pt,above] at (2.5,0)
       {Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, };
 \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

这是你想要的吗?

在此处输入图片描述

如果是,则解决方案是具有的节点inner sep=-depth("p")

\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[inner sep=0pt]
 \draw (0,0) -- (5,0);
 \node[text width=5cm,above, inner sep=-depth("p")] at (2.5,0)
    {Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, };
\end{tikzpicture}
\end{document}

答案2

不幸的是,当textwidth使用时minipage,安装在节点内容之前会使用选项,并且这是不可自定义的。但是,可以使用和键[t]或多或少地成功实现此自定义:execute at begin nodeexecute at end node

\documentclass[tikz,border=5]{standalone}
\tikzset{minipage/.style 2 args={%
  execute at begin node=\begin{minipage}[#1]{#2}\raggedright,
  execute at end node=\end{minipage},
  anchor=base
}}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (5,0);
\node[minipage={b}{5cm}] at (2.5,0) {Lorem ipsum dolor sit amet};

\tikzset{shift=(270:2)}
\draw (0,0) -- (5,0);
\node[minipage={b}{5cm}] at (2.5,0) {Lorem ipsum dolor sit amet, 
  consectetuer adipiscing elit};

\tikzset{shift=(270:2)}
\draw (0,0) -- (5,0);
\node[minipage={b}{5cm}] at (2.5,0) {Lorem ipsum dolor sit amet, 
  consectetuer adipiscing elit. Lorem ipsum dolor sit amet};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容