
Одна из моих любимых функций в режиме 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
Нашел хорошее решение этой проблемы с помощьюmarkdown
package. Пока вам не нужно использовать другие команды 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}
Результат: