我想在文档的左边距放置数字,类似于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}
另一个描述只是为了显示不同的描述标签。