第 1 行:“Someeeeeeeee Textttttttttttt”(使用自定义字体,斜体,字体大小为 24)vspace(10mm)
第 2 行:“Someeee Textttt” 这应该位于第一行下方,相对于上方的文本。
垂直间距(10mm)
第 3 行:此处需要一条水平线,具有预定义的颜色和粗细。就像下划线一样。第 2 行对象(垂直线)的大小应为第 2 行文本长度的 40%
即输出:
[某些文本]
垂直间距(10mm)
[Someeee Textttt] <- 这将位于第一行文本下方的中心
垂直间距(10mm)
________ <- 此行应为 [Someeee Textttttt] 长度的 40% 并位于上方文本的中心。
答案1
您似乎混淆了水平和垂直。
这是你想要的吗?
\documentclass{article}
\usepackage{lmodern}
\newlength{\titlerulewidth}
\begin{document}
\begin{center}
\fontsize{24}{30}\itshape
Someeeeeeeee Textttttttttttt
\vspace{10mm}
\fontsize{18}{24}\itshape
\settowidth{\titlerulewidth}{Someeee Textttt}
Someeee Textttt
\vspace{10mm}
\rule{0.4\titlerulewidth}{2pt}
\end{center}
\end{document}
答案2
编辑以将流程转换为宏。我还添加了一个\strut
,以便下行字符的存在不会改变下划线的深度。
\documentclass{article}
\usepackage{stackengine,xcolor}
\newsavebox\tmpbox
\newcommand\foo[1]{%
\savebox\tmpbox{\Huge\strut#1}%
\stackunder[10mm]{\usebox{\tmpbox}}{\textcolor{red}{\rule{5pt}{.4\wd\tmpbox}}}
}
\begin{document}
\foo{Some Text} and \foo{My Longer Text}
\end{document}
如果想要一条水平线,那么上述代码的修复很简单......反转参数\rule
:
\documentclass{article}
\usepackage{stackengine,xcolor}
\newsavebox\tmpbox
\newcommand\foo[1]{%
\savebox\tmpbox{\Huge\strut#1}%
\stackunder[10mm]{\usebox{\tmpbox}}{\textcolor{red}{\rule{.4\wd\tmpbox}{5pt}}}
}
\begin{document}
\foo{Some Text} and \foo{My Longer Text}
\end{document}