
在 Emacs 或 Markdown 的 Org 模式下,我最喜歡的事情之一是我可以透過執行以下操作快速建立清單:
- 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
包裹。只要您不需要在清單中使用其他 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}
結果: