gpt4 book ai didi

latex 投影仪 : way to change the bullet indentation?

转载 作者:行者123 更新时间:2023-12-03 06:34:31 25 4
gpt4 key购买 nike

我已经检查了 Beamer 类手册(PDF 文件)。

我不知道如何更改分配给\itemize 的缩进项目符号。

[这很重要,因为我使用 2 列幻灯片,并且我不希望投影仪占用太多的水平空间]。

最佳答案

Beamer 只是将管理 itemize 环境布局的责任委托(delegate)给基础 LaTeX 包,因此您无需在 Beamer 本身中执行任何奇怪的操作来更改列表的外观/布局。

由于 Beamer 重新定义了 itemize、item 等,因此操作缩进等操作的完全正确方法是重新定义 Beamer 模板。我的印象是您不想走那么远,但如果情况并非如此,请告诉我,我会详细说明。

至少有三种方法可以在文档中实现您的目标,而无需费力使用 Beamer 模板。

使用逐项列出

在下面的代码片段中,您可以将 \itemindent 的值从 0em 更改为您喜欢的任何值,包括负值。 0em 是默认的项目缩进。

此方法的优点是列表的样式正常。缺点是 Beamer 对 itemize\item 的重新定义意味着可以操作来更改列表布局的参数数量是有限的。对于多行项目来说,获得正确的间距可能非常困难。

\begin{itemize}
\setlength{\itemindent}{0em}
\item This is a normally-indented item.
\end{itemize}

列表

在以下代码片段中,\list 的第二个参数是要使用的项目符号,第三个参数是要更改的布局参数列表。 \leftmargin 参数调整整个列表项及其所有行的缩进; \itemindent 改变后续行的缩进。

此方法的优点是您可以拥有非 Beamer LaTeX 中列表的所有灵 active 。缺点是您必须手动设置项目符号样式(和其他视觉元素)(或为您正在使用的模板确定正确的命令)。请注意,如果将第二个参数留空,则不会显示项目符号,并且您将节省一些水平空间。

\begin{list}{$\square$}{\leftmargin=1em \itemindent=0em}
\item This item uses the margin and indentation provided above.
\end{list}

定义customlist环境

可以通过定义新的 customlist 环境来改善 list 解决方案的缺点,该环境基本上重新定义了 Beamer 的 itemize 环境,但也合并了\leftmargin\itemindent (等)参数。将以下内容放入序言中:

\makeatletter
\newenvironment{customlist}[2]{
\ifnum\@itemdepth >2\relax\@toodeep\else
\advance\@itemdepth\@ne%
\beamer@computepref\@itemdepth%
\usebeamerfont{itemize/enumerate \beameritemnestingprefix body}%
\usebeamercolor[fg]{itemize/enumerate \beameritemnestingprefix body}%
\usebeamertemplate{itemize/enumerate \beameritemnestingprefix body begin}%
\begin{list}
{
\usebeamertemplate{itemize \beameritemnestingprefix item}
}
{ \leftmargin=#1 \itemindent=#2
\def\makelabel##1{%
{%
\hss\llap{{%
\usebeamerfont*{itemize \beameritemnestingprefix item}%
\usebeamercolor[fg]{itemize \beameritemnestingprefix item}##1}}%
}%
}%
}
\fi
}
{
\end{list}
\usebeamertemplate{itemize/enumerate \beameritemnestingprefix body end}%
}
\makeatother

现在,要使用具有自定义缩进的逐项列表,您可以使用以下环境。第一个参数用于 \leftmargin,第二个参数用于 \itemindent。默认值分别为 2.5em 和 0em。

\begin{customlist}{2.5em}{0em}
\item Any normal item can go here.
\end{customlist}

可以使用 \setbeamertemplate 的标准 Beamer 机制将自定义项目符号样式合并到 customlist 解决方案中。 (有关详细信息,请参阅 TeX Stack Exchange 上 this 问题的答案。)

或者,可以直接在环境中修改项目符号样式,方法是将 \usebeamertemplate{itemize\beamitemnestingprefix item} 替换为您想要使用的任何项目符号样式(例如 $\square$)。

关于 latex 投影仪 : way to change the bullet indentation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2611276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com