需要使“此处首字母”下划线的宽度统一

需要使“此处首字母”下划线的宽度统一

我需要一个列表,其中每个条目都有一个编号;下划线的长度刚好足以容纳一个人的姓名首字母;并且这些后面都跟着文字。

当然,文本需要有不同的长度,因为每行都有不同的文本;但首字母下划线的长度必须相同。但是,似乎不可能强制首字母线保持相同的大小。我希望它们位于文本之前,但我将它们放在文本之后,因为目前似乎唯一有效的解决方法是执行右跳以限制右侧边距;但是,这(以及所有其他接近有效的解决方案)需要逐行手动调整 \hspace,以便在这里将其移远一点,在那里将其移近一点。首字母线永远不会完全具有相同的大小,并且手动调整显然太费力了。

我在 stackexchange 上找到的所有 \linewidth 或 \textwidth 或类似解决方案都无法解决这个问题;当我尝试实现它们时,它们都返回错误消息。感谢您提供的任何帮助。

我没有使用编号列表功能(如果这很重要的话)。到目前为止,我的代码是:

%[cls file, etc.]
\usepackage{fancyhdr}
\usepackage{longtable}
\usepackage{colortbl}
\usepackage{enumitem}
\usepackage{mathabx}
\usepackage{tabularx}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

[...]

\vspace{.15cm}  
\rightskip=3cm  
\hspace{.25in} 1. Text of a certain length \hspace{.15in} \hrulefill  \\

\vspace{.15cm}   
\rightskip=3cm   
\hspace{.25in} 2. Shorter text  \hspace{1.25in} \hrulefill \\

\vspace{.15cm}  
\rightskip=3cm  
\hspace{.25in} 3.  Long long long long long long long text \hspace{.8in} \hrulefill  \\

\end{document}

答案1

以下是将首字母缩写规则置于文本之前的解决方案。(水平线只是为了说明文本块的宽度。)该解决方案\parbox对首字母缩写规则和相关文本都使用了 es。

在此处输入图片描述

\documentclass{article}
% simplified preamble:
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{lipsum}

\newlength\initialsboxwidth
\setlength\initialsboxwidth{1cm} % set to suit your needs
\newlength\textboxwidth
\setlength\textboxwidth{3.5in}
\newcommand\initialsbox{%
   \parbox{\initialsboxwidth}{\null\hrulefill}}
\newcommand\mynum[2]{
   \par\vspace*{.15in}
   \noindent\hspace{0.25in}%
   #1.\quad\initialsbox\quad%
   \parbox[t]{\textboxwidth}{\raggedright #2}\par}

\begin{document}
\hrule % just to indicate width of textblock

\mynum{1}{Text of a certain length}
\mynum{3}{Shorter text} 
\mynum{9}{Long long long long long long long long long long long long long long long text} 

\end{document}

相关内容