我正在嘗試根據以下規則格式化我的文字:
- 從第二段開始,段落應該編號。
- 段落編號應位於文字區域內,並與左邊距對齊。
- 段落文字第一行應縮排 2.5 公分(從頁邊距開始,而不是從數字開始)
到目前為止我已經實現了以下目標。
\documentclass[12pt,a4paper]{article}
\usepackage{indentfirst} %indent first paragraph
\usepackage{lipsum}
\setlength{\parindent}{2.5cm} %paragraphs should be indented by 2.5 cm from margin
\newcommand{\parnum}{\arabic{parcount}.}
\newcounter{parcount}
\newcommand\p{%
\stepcounter{parcount}%
\parnum \hspace{1em}%
}
\stepcounter{parcount} % start at number 2
\newenvironment{parnumbers}{%
\setlength{\parindent}{0cm}
\par%
\everypar{\noindent \stepcounter{parcount}\parnum \hspace{2.3cm}}% NEED TO ADJUST. Paragraph text (not numbers) should be indented by 2.5cm from margin.
}{}
\begin{document}
\lipsum[1]
\begin{parnumbers}
\lipsum[2-15]
\end{parnumbers}
\end{document}
我如何插入減去段落編號和點的長度\hspace
,而不是在段落計數器之後固定?2.5cm
例如,當我有兩位數的段落編號時,固定\hspace
會使文字比應有的縮排稍微多一些。
有什麼想法嗎?
先感謝您。
羅西
答案1
可以numbox
設定成一些\hbox
指定的。
\hbox to \boxindent {content\hfill}
將填滿該框並將相關寬度的方塊放置到段落的開頭。
\documentclass[12pt,a4paper]{article}
\usepackage{indentfirst} %indent first paragraph
\usepackage{lipsum}
\newlength{\boxindent}
\setlength{\boxindent}{2.5cm}
\setlength{\parindent}{\boxindent} %paragraphs should be indented by 2.5 cm from margin
%\newcommand{\parnum}{\arabic{parcount}.}
\newcounter{parcount}
%\newcommand\p{%
% \stepcounter{parcount}%
% \parnum \hspace{1em}%
%}
\renewcommand{\theparcount}{\arabic{parcount}.}
\setcounter{parcount}{1}
\newenvironment{parnumbers}{%
\setlength{\parindent}{0em}
\par%
\everypar{\hbox to \boxindent{\raggedright\stepcounter{parcount}\theparcount\hspace{1em}%
\hfill}}
}{}
\begin{document}
\lipsum[1]
\begin{parnumbers}
\lipsum[2-20]
\end{parnumbers}
\end{document}
答案2
一個可參考的變體,帶有簡單的\makebox[2.5cm]
,\hangindent\hangafter
如果您希望段落的左邊距為文檔左邊距右側 2.5 厘米:
\documentclass[12pt, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} %\usepackage{indentfirst} %indent first paragraph
\usepackage{lipsum}
\setlength{\parindent}{2.5cm} %paragraphs should be indented by 2.5 cm from margin
\newcommand{\parnum}{\arabic{parcount}.}
\newcounter{parcount}
\stepcounter{parcount} % start at number 2
\newenvironment{parnumbers}{%
\setlength{\parindent}{0cm}
\par%
\everypar{\noindent\hangindent=2.5cm\hangafter=1 \refstepcounter{parcount}\label{par-\arabic{parcount}}\makebox[2.5cm][l]{\arabic{parcount}.}}%
}{}
\usepackage[colorlinks]{hyperref} %
\begin{document}
\lipsum[1]
{\begin{parnumbers}
\lipsum[2-15]
\end{parnumbers}}
We see in §\,\ref{par-10}…
\end{document}