在左边距打印文本,与给定行对齐

在左边距打印文本,与给定行对齐

我想在文档的左边距放置数字,类似于fancyvrb或其他列表包的行号,但用于普通文本。我不希望它是浮动的边距。事实上,我仍然希望将边距保持在右侧,这可能会有一些真正的边距注释。(因此,使用边距或反向边距的技术回答的一些问题在这里不适用)。到目前为止,我最好的尝试是类似于以下 MWE,

\documentclass{article}
\usepackage[showframe]{geometry}

\begin{document}
\hbox{\hbox to 0pt{\hss{Numbers}\hskip1em}Beginning of the line...}
\end{document}

在此处输入图片描述

这或多或少就是我最终想要得到的。但是,如果没有外部的hbox,我得到了两行未对齐的内容,显然在后面有一个换行符Numbers

在此处输入图片描述

插入不可中断的空格~或临时更改换行惩罚似乎没有帮助。使用外部hbox,它对于较短的文本很有效,但第一行可能不适合一行,因此很麻烦。

我想知道如何在第一个屏幕截图中获得任意长行后的效果Benning of lines

答案1

\hbox你忽略了不开始一个段落的事实

在此处输入图片描述

\documentclass{article}
\usepackage[showframe]{geometry}

\begin{document}
\noindent\hbox to 0pt{\hss Numbers\hskip1em}Beginning of the line...
middle of line end of line
\end{document}

如果你不想丢失段落缩进,你需要\leavevmode改为,然后使用调整间距\parindent

请注意,如果您使用官方 LaTeX 语法,则可以避免不开始段落的问题\hbox。所有 LaTeX 框命令都会在插入框之前注意启动水平模式。如评论中所述

\noindent\makebox[0pt][r]{Numbers\quad}

这里最好使用 LaTeX 标记。

然而,如果您想对所有这些行进行编号,也许这个lineno包就是您所需要的。

答案2

我不知道如何使用 marginpar。看看这个也许对你有帮助。

这个答案取自左边距的标签

\documentclass{article}
\usepackage{enumitem}
\SetLabelAlign{margin}{\llap{#1~~}}
\usepackage{showframe} % just to show the margins
\begin{document}

\begin{description}[align=margin,labelsep=0pt]
  \item[Numbers] Beginning of the line..
  \item[Another Number]  Beginning of another Line \ldots
\end{description}



\begin{description}[style=multiline,leftmargin=0.25\textwidth,font=\bfseries] 
  \item[Numbers] Beginning of the line..
  \item[Another Number]  Beginning of another Line \ldots
\end{description}

\end{document} 

另一个描述只是为了显示不同的描述标签。

相关内容