Latex写作 -- 如何排版水平的交错括号?

涉及到的命令

命令 功能 示例代码 示例效果
\overbrace{公式}^{标注}
\underbrace{公式}_{标注}
给公式上方或下方
添加花括号并加上标注
\[
\overbrace{a + b} ^ \text{用花括号括起 a + b a + b a+b}
\]
\[
\underbrace{a + b} ^ \text{用花括号括起 a + b a + b a+b}
\]
\overbracket{公式}^{标注}
\underbracket{公式}_{标注}
(前提:需载入mathtools宏包)
给公式上方或下方
添加方括号并加上标注
\[
\overbracket{a + b} ^ \text{用方括号括起 a + b a + b a+b}
\]
\[
\underbracket{a + b} ^ \text{用方括号括起 a + b a + b a+b}
\]
\llap{一段文字} 设同一行中\llap之前的所有内容为字段A,
\llap参数里的文字为字段B。
\llap命令将B与A进行重合,并保持A和B右端对齐
\section{\textbackslash rlap效果演示}
\noindent 长文字 \textbackslash llap{短文字}的效果:\\
保护环境,人人有责 \llap{Great}\\
短文字 \textbackslash llap{长文字}的效果:\\
你我他 \llap{保护环境,人人有责}
\rlap{一段文字} 设同一行中\rlap之后的所有内容为字段A,
\llap参数里的文字为字段B。
\llap命令将B与A进行重合,并保持A和B左端对齐
\section{\textbackslash rlap效果展示}
\noindent \textbackslash rlap{长文字}短文字的效果:\\
\rlap{保护环境,人人有责}你我他\\
\textbackslash rlap{短文字}长文字的效果:\\
\rlap{Great}保护环境,人人有责
\phantom{字段} 空出和参数里的字段一样长的距离(是实体的) \noindent 我要空出“我ai你”的距离。\\
开始\phantom{我ai你}结束。

两点注意

1.在数学模式中使用\phantom,该命令的参数内容仍会停留在数学模式,此时参数内容两边不用加$…$来使参数内容进入行内公式模式。

示例:

%-*- coding: UTF-8 -*-
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}

\begin{document}
	\section{展示$|xa+by|$}
	\noindent 正常的展示效果:
	\[
	|xa+by|
	\]
	将$a+b$ phantom化:
	\[
	|x\phantom{a+b}y|
	\]
	利用\textbackslash text\{\ \}将$a+b$变为文本模式:
	\[
	|x\text{a+b}y|
	\]
\end{document}

在这里插入图片描述

2.在数学模式中使用\llap或者\rlap,该命令的参数内容默认会跳出数学模式回到文本模式,此时若参数内容是一个数学表达式,则需要在其两端加入$…$来重新进入(行内)数学模式。

示例:

%-*- coding: UTF-8 -*-
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}

\begin{document}
	\section{不在参数两端加\$\dots\$}
	\[
	\rlap{a+b}
	\]
	\[
	\llap{a+b}
	\]
	
	\section{在参数两端加\$\dots\$}
	\[
	\rlap{$a+b$}
	\]
	\[
	\llap{$a+b$}
	\]
\end{document}

在这里插入图片描述

实现思路

以下面的公式为例。

整体思路是运用重叠技巧。这里以右重叠命令 \rlap 为例说明具体思路。

1.运用右重叠时,需要先对公式进行拆解。可以先将公式中的上花括号单独分成一个部分A,剩下的部分归为另一个整体B。
整体B的代码是显然的:

\[
	a \to \underbrace{b \to c}
\]

2.而对于部分A,由于\overbrace命令的语法限制其只能在现有内容上方括起花括号,而无法凭空生成一个花括号,因此我们可以给一段空白的,透明的,与 a → b a \to b ab等长的实体C上方括上花括号。部分A与实体C一起构成整体D。

3.然后用\rlap{D}B将整体D右重叠至整体B中,且由于刚才创造的实体C是空白透明的,不会对整体B造成遮挡。至此公式编辑完毕。

思路图示如下:
在这里插入图片描述

整体代码如下:

%-*- coding: UTF-8 -*-
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}

\begin{document}
	\section{\textbackslash rlap参数两端不加\$\dots\$}
	\[
	\rlap{\overbrace{\phantom{a \to b}}} a \to \underbrace{b \to c}
	\]
	
	\section{\textbackslash rlap参数两端加\$\dots\$}
	\[
	\rlap{$\overbrace{\phantom{a \to b}}$} a \to \underbrace{b \to c}
	\]
\end{document}

效果图如下:
在这里插入图片描述

交错括号在不同侧(各在上下侧)

  我们推荐先忽略掉所有的括号,在数学模式中编写完剩余的内容后,再在其中寻找断点,利用命令\llap(或\rlap)和\phantom来进行重叠操作,给目标内容的上方或下方括上括号(并作标注)。

示例:

%-*- coding: UTF-8 -*-
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}

\begin{document}
	\section{第一步}
	\[
	a \to b \to c \to d \to e \to f \to g
	\]
	
	\section{第二步}
	\[
	a \to b \to c \to d 
	\llap{$\overbrace{\phantom{b \to c \to d}}^{\text{第1个花括号}}$}
	\to e \to f \to g
	\]
	
	\section{第三步}
	\[
	a \to b \to c \to d 
	\llap{$\overbrace{\phantom{b \to c \to d}}^{\text{第1个花括号}}$}
	\to e 
	\llap{$\underbrace{\phantom{c \to d \to e}}_{\text{第2个花括号}}$}
	\to f \to g
	\]
	
	\section{第四步}
	\[
	a \to b \to c \to d 
	\llap{$\overbrace{\phantom{b \to c \to d}}^{\text{第1个花括号}}$}
	\to e 
	\llap{$\underbrace{\phantom{c \to d \to e}}_{\text{第2个花括号}}$}
	\to f \to g
	\llap{$\overbrace{\phantom{d \to e \to f}}^{\text{第3个花括号}}$}
	\]
\end{document}

效果如下:
在这里插入图片描述

交错括号在同一侧(同为上侧或同为下侧)

  交错括号在同一侧时,为了尽可能减少同侧括号出现重叠,一般要调整括号的线宽和伸出高度。Latex自带的\overbrace, \underbrace命令没有可选参数来调整线宽和伸出高度,因此我们采用mathtools宏包中的\overbracket, \underbracket产生可调整线宽和伸出长度的方括号。

  一般地,\overbracket, \underbracket的语法为:
  \overbracket[线宽][伸出高度]{内容}^{标注}
  \underbracket[线宽][伸出高度]{内容}_{标注}

  交错括号的实现思想同上一节 交错括号在不同侧(各在上下侧).

示例:

%-*- coding: UTF-8 -*-
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}
\usepackage{mathtools}

\begin{document}
	\section{第一步}
	\[
	a \to b \to c \to d \to e \to f \to g
	\]
	
	\section{第二步}
	\[
	a \to b \to c 
	\llap{$\overbracket[0.01cm]{\phantom{b \to c}}^{\text{第1个方括号}}$}
	\to d \to e \to f \to g
	\]
	
	\section{第三步}
	\[
	a \to b \to c 
	\llap{$\overbracket[0.01cm]{\phantom{b \to c}}^{\text{第1个方括号}}$}
	\to d \to e 
	\llap{$\overbracket[0.01cm][0.5cm]{\phantom{b \to c \to d \to e}}^{\text{第2个方括号}}$}
	\to f \to g
	\]
	
	\section{第四步}
	\[
	a \to b \to c 
	\llap{$\overbracket[0.01cm]{\phantom{b \to c}}^{\text{第1个方括号}}$}
	\to d \to e 
	\llap{$\overbracket[0.01cm][0.5cm]{\phantom{b \to c \to d \to e}}^{\text{第2个方括号}}$}
	\to f \to g
	\llap{$\overbracket[0.01cm][1cm]{\phantom{c \to d \to e \to f \to g}}^{\text{第3个方括号}}$}
	\]
\end{document}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44261017/article/details/112737207
今日推荐