Добавить жирный шрифт для перечисления элементов только на самом высоком уровне

Добавить жирный шрифт для перечисления элементов только на самом высоком уровне

Может кто-нибудь подскажет, как сделать и номер элемента, и сам элемент жирным, но только на самом высоком уровне моего списка? Итак, 1,2,3 и т. д. должны быть жирными, а 1.1, 1.2 и т. д. должны оставаться обычными. Я использую enumitem.

я пробовал

\begin{enumerate}[label=\textbf{\arabic*}] 

но это делает каждую первую цифру жирной, даже на нижних уровнях.

решение1

Это можно сделать для нескольких списков, установив стиль для каждого уровня среды перечисления, используя:

\setlist[enumerate,<level>]{<format>}

Также установивдоformatter, вы можете установить текст всего элемента определенным шрифтом, как вы, кажется, хотели из вашего вопроса. Сброс для уровня два установит шрифты для метки и элемента обратно на нормальные для будущих уровней.

Пример:

\documentclass[]{article}
\usepackage{enumitem}
\begin{document}

% Change format of top-level list items
\setlist[enumerate,1]{label*=\arabic*,font=\bfseries,before=\bfseries}
% Reset formatting for subsequent levels; label type makes 1.1, legal-style labels
\setlist[enumerate,2]{label*=.\arabic*,font=\normalfont,before=\normalfont}

\begin{enumerate}
\item One
\item Two
\begin{enumerate}
\item Three
\item Four
\end{enumerate}
\item Five
\end{enumerate}

\end{document}

Это дает:

Вывод из примера кода

решение2

Вы не предоставили MWE, но я предполагаю, что вы используете что-то вроде

\begin{enumerate}[label=\textbf{\arabic*}] 
  \item first
  \item second
  \item third
    \begin{enumerate}[label*=.\arabic*]

которыйделаетсделать элементы второго уровня enumerateжирными. Это неудивительно, так как вы заставляете их labelбыть жирными с помощью label=\textbf{\arabic*}.

Вместо этого вам следует указать шрифт отдельно, используя

\begin{enumerate}[label=\arabic*,font=\bfseries] 
  \item first
  \item second
  \item third
    \begin{enumerate}[label*=.\arabic*]
 ....

Вот полный MWE, с которым можно поиграться.

% arara: pdflatex
\documentclass{report}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label=\arabic*,font=\bfseries] 
  \item first
  \item second
  \item third
    \begin{enumerate}[label*=.\arabic*]
      \item one
      \item two
      \item three
    \end{enumerate}
  \end{enumerate}
\end{document}

решение3

Я не совсем понимаю, что вы подразумеваете под «нижними уровнями» — вы имеете в виду вложенные enumerateсреды, подобные следующим?

\begin{enumerate}
    \item
    \begin{enumerate}
        \item
        \item
    \end{enumerate}
    \item
\end{enumerate}

Если это то, о чем вы говорите, то мне помогло следующее решение (см. такжеМестныйвмой ответ на связанный вопрос здесь):

\begin{enumerate}[font=\bfseries]
    \item
    \begin{enumerate}
        \item
        \item
    \end{enumerate}
    \item
\end{enumerate}

Используя TeXstudio и компилятор XeLaTeX, [font=\bfseries]настройка длявнешний enumerateокружающая среда быланетунаследованы от внутренней enumerateсреды.

Кроме того, как правило, предпочтительнее использовать клавишу font=for enumitem(в отличие от label=клавиши , предложенной в других ответах), если все, что вам нужно сделать, это сделать цифры/буквы и т. д. жирным шрифтом. label=полностью перезаписывает стандартные настройки enumerate, а font=просто изменяет их.

Связанный контент