Списки из одного символа — больше возможностей с меньшим объемом ввода текста

Списки из одного символа — больше возможностей с меньшим объемом ввода текста

Одна из моих любимых функций в режиме Org в Emacs или Markdown — это возможность быстро создавать списки, просто выполнив следующие действия:

- Something
- Foo
- Bar

и он автоматически распознал бы это как фактическоесписок.

В LaTeX мне часто приходится набирать:

\begin{itemize}
    \item Something
    \item Foo
    \item Bar
\end{itemize}

что, к сожалению,многобольше печатать. Это, конечно, не блокирует, но затрудняет использование LaTeX для добавления/отслеживания заметок, при этом сохраняя возможность использовать все остальное, что он может предложить.

Более того, если я копирую список из другого документа (например, Org / markdown или даже других форматов), есть вероятность, что они также используют -(или подобныйодинокийсимвол) для обозначения каждого элемента в списке.

Простые списки

Есть ли в LaTeX способ создавать «списки, подобные элементам», в которых каждый элемент определяется одним символом (зная, что он либо размещается в начале строки, либо ему предшествует только пробел в строке)?

Например, что-то вроде:

\begin{my_list}
- Something
- Foo
- Bar
\end{my_list}

Если кому-то это поможет, то часто в IDE есть макросы, помогающие с набором текста, и это как раз мой случай — я работаю в VSCode, поэтому могу использоватьфрагменты(~ макросы IDE) напримерbitв Латекс-мастерскойчто расширяет слово bitдо предметной среды.Однакоэто все еще требует от меня много печатать, и я даже не могу преобразовать (скопировать) существующие списки (см.об этой проблеме я сообщил).

Другими словами, теоретически макросы IDE сами по себе могли бы помочь, но было бы неплохо, если бы это можно было легко сделать в самом LaTeX.

решение1

Просто для интереса. Вы спрашиваете мысли, которые по умолчанию в формате OpTeX:

\begitems
* Something
* Foo
* Bar
\enditems

А функция, упомянутая в пакете easylistв ответе выше, реализована какOpTeX трюк 0048

решение2

Нашел хорошее решение этой проблемы с помощьюmarkdownpackage. Пока вам не нужно использовать другие команды LaTeX внутри списка, он работает отлично.

Вот пример:

\documentclass{article}
\usepackage{markdown}

\usepackage{lipsum}  

\begin{document}

\lipsum[66]

\begin{markdown}
Here is a Markdown list:

* Create a list by starting a line with `+`, `-`, or `*`
* Sub-lists are made by indenting 2 spaces:
  - Marker character change forces new list start:
    * Ac tristique libero volutpat at
    + Facilisis in pretium nisl aliquet
    - Nulla volutpat aliquam velit
+ Very easy!

\end{markdown}

\lipsum[75]

\end{document}

Результат

решение3

Как отмечено в комментариях, easylistпакет можно использовать здесь. Этот пакет также поддерживает itemizeненумерованные списки стилей.

МВЭ:

\documentclass{article}
\usepackage[sharp]{easylist}

\begin{document}

Here is an Easylist list:
\begin{easylist}[itemize]
# Create a list by starting a line with \#
# Sub-lists are made by adding extra list symbols:
  ## Level two
## Indentation optional
    ## \LaTeX\ symbols possible: $\sum_\infty$
    ### Level 3
# Very easy!
\end{easylist}
\end{document}

Результат:

введите описание изображения здесь

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