Подтвердить что ты не робот

Как можно указать число абзацев в LaTeX?

Учитывая кучу абзацев:

Para. A ...

Para. B ...

Para. C ...

Как можно заставить LaTeX автоматически их число, т.е.

1. Para. A. ...

2. Para. B. ...

3. Para. C. ...

Я видел следующее предложение:

\newcounter{parnum}
\newcommand{\N}{%
   \noindent\refstepcounter{parnum}%
    \makebox[\parindent][l]{\textbf{\arabic{parnum}.}}}
% Use a generous paragraph indent so numbers can be fit inside the
% indentation space.
\setlength{\parindent}{2em}

Отсюда: comp.text.tex: Re: Как я могу выделить параграфы в LaTeX?

Затем используйте \N перед каждым пронумерованным номером, т.е.

\N Para. A. ...

\N Para. B. ...

\N Para. C. ...

Я также видел ссылки на Sarovar и numberpar, но оба они называются "неустойчивыми" или "непредсказуемыми", и такие вещи, как "случайное нарушение", что делает меня настороже.

Мне хотелось бы внести свой вклад в то, что может быть лучшим способом, здесь, и я думаю, что это тема, заслуживающая обсуждения.

Спасибо за ваш интерес и внимание к этому.

EDIT: я пробовал следующие

\begin{enumerate}
\item Para No. 1
\item Para No. 2
...
\end{enumerate}

Однако это приводит к проблемам с набором, особенно потому, что я вставляю заголовки разделов ala.

\begin{enumerate}
\item Para No. 1
\item Para No. 2
\section{Part II}
\item Para No. 5
\item Para No. 6
...
\end{enumerate}

и заголовок раздела "Часть II" иногда заканчивается в самой нижней части страницы (т.е. он не поддерживает следующий текст).

4b9b3361

Ответ 1

Я думаю, что есть три возможных решения (по крайней мере!), которые не связаны с переводом собственного или чужого макроса, в зависимости от того, что вы пытаетесь сделать.

1 Если нумерация требуется во всем документе, используйте \paragraph, которая представляет собой команду секционирования нижнего уровня (например,\chapter,\section,\subsection и т.д.)

Для получения дополнительной информации см. LaTeX wikibook.

\setcounter{secnumdepth}{5}
...
\paragraph{If we want to} do something ... 

(Вы можете найти этот излишний/уродливый, потому что ему нужна правильная вложенная структура разделов и подразделов, чтобы они не были)

Обратите внимание, что если вы используете класс memoir document (который я рекомендую без колебаний), строка \setcounter становится \maxsecnumdepth{paragraph}

2 Если это всего лишь небольшая часть, используйте список:

\begin{enumerate}
\item Para No. 1
\item Para No. 2
...
\end{enumerate} 

3 Или обобщенный список (\begin{list}...\end{list{}), если вы хотите настроить форматирование. Мне не удалось найти хорошую онлайн-ссылку для этого, кроме части в Руководство по LaTeX

Ответ 2

В моем случае я решил это решить, переопределив новый макрос \P, который работает как абзац.

\newcounter{paranum}
\newcommand{\P}{\vspace{10pt}\noindent\textbf{\refstepcounter{paranum}\theparanum}\textbf}

Чтобы написать новый "абзац", я делаю

\P{Paragraph title No. 1} ...text...
...
\P{Paragraph title No. 2} ...text...

Чтобы связать перечисление с разделом, я использую

\newcounter{paranum}[section]
\newcommand{\P}{\vspace{10pt}\noindent\textbf{\thesection.\refstepcounter{paranum}\theparanum}\textbf}

Я знаю, что это на самом деле неудачно, но в итоге я работал у меня.

Ответ 3

Я считаю, что другой вариант - это пакет ledmac. Вот цитата из документации:

Макросы normal\label,\ref и \label\pageref могут использоваться в пронумерованном тексте и работать знакомым образом. В качестве примера можно привести один из способов нумерации абзацы в пронумерованном тексте, а затем возможность ссылаться на номера абзацев, в дополнение к номерам строк и страниц.

\newcounter{para} \setcounter{para}{0}
\newcommand{\newpara}{%
  \refstepcounter{para}%
  \noindent\llap{\thepar. }\quad}
\newcommand{\oldpara}[1]{%
  \noindent\llap{\ref{#1}. }\quad}

Определения\newpara и \oldpara помещают числа в левое поле и первая строка абзаца имеет отступ. Теперь вы можете писать такие вещи, как:

\linenummargin{right}
\beginnumbering
\pstart
\newpara\label{P1} A paragraph about \ldots
\pend
  In paragraph~\ref{P1} the author \ldots
\pstart
\oldpara{P1} This has the same
             \edtext{number}{\Afootnote{\ref{P1} is the paragraph, not line}}
  as the first paragraph.
\pend
\endnumbering

Я никогда не пытался это сам, однако.

Ответ 4

Решением этой проблемы является использование пакета парано, написанного CV Radhakrishnan из River Valley Technologies, Тривандрум, Индия.

Я знаю это решение со следующей веб-страницы http://www.ub-filosofie.ro/~solcan/wt/gnu/n/np.html