array
때로는 LaTeX의 방정식에서 무언가를 정렬하는 데 사용하는 것이 더 편리합니다 . 그러나 는 또는 array
에 비해 더 작은 글꼴을 표시합니다 .alignedat
aligned
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\left.
\begin{alignedat}{10}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{alignedat}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{aligned}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{aligned}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{array}{r@{\:}c@{\:}l}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{array}
\right\}
\end{equation}
\end{document}
그렇다면 글꼴을 array
더 크게 만드는 방법은 무엇입니까?
답변1
환경 array
은 을 사용 \textstyle
하고 를 equation
사용합니다 \displaystyle
. \displaystyle
모든 셀에 강제로 들어가야 합니다 .
LaTeX 테이블 형식의 열 정의는 다음으로 확장됩니다.정렬패키지. 특히 >{<something>}
,<something>
다음 열의 모든 셀 내용 앞에.
귀하의 예에는 두 개의 열이 있습니다. \displaystyle
두 번째에만 필요합니다. 사용:
\begin{array}{@{} r @{\;} >{\displaystyle} l @{}}
(미코님의 댓글 덕분에 공백을 수정했습니다.)
필요한 경우 다음과 같이 새로운 열 유형 수정자를 정의합니다.
\newcolumntype{D}[1]{>{\displaystyle} #1}
테이블 형식 사양으로 사용합니다 @{} r @{\;} D{l} @{}
(또는 세 가지 새로운 열 유형 \newcolumntype{C}{>{\displaystyle} c}
, \newcolumntype{L}{>{\displaystyle} l}
, 정의 \newcolumntype{R}{>{\displaystyle} r}
).
전체 예:
\documentclass{article}
\usepackage{array}
\usepackage{amsmath}
\newcolumntype{D}[1]{>{\displaystyle} #1}
\begin{document}
\begin{equation}
\left.
\begin{alignedat}{10}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{alignedat}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{aligned}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{aligned}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{array}{@{} D{r} @{\;} D{l} @{}}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{array}
\right\}
\end{equation}
\end{document}
대안으로 최신 패키지를 사용해 볼 수 있습니다.테이블 형식:
\documentclass{article}
\usepackage{tabularray}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\left.
\begin{alignedat}{10}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{alignedat}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{aligned}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{aligned}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{tblr}
{
colspec = {rl},
columns = {mode=dmath},
colsep = 0pt,
}
f_\mathrm{1}&{}=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{tblr}
\right\}
\end{equation}
\end{document}
답변2
{alignedat}{10}
행당 하나의 정렬 지점이 있을 때 사용하는 유효한 이유를 볼 수 없습니다 . 왜 {aligned}
환경을 사용하지 않습니까? 그건 그렇고, OP의 예에서는 실제로 유용한 작업을 수행 {alignedat}{10}
하지도 않습니다 {aligned}
. 이러한 각 환경에는 단일 행만 있기 때문입니다. 다르게 말하면 이러한 환경은~ 아니다정렬과 관련된 모든 작업을 수행합니다. 이 문제는 실제로 OP의 스크린샷에서 명백하게 드러납니다. 이는 세 개의 =
기호가정렬되지 않음서로 서로 함께.
equation
따라서 저는 각각 1행 {alignedat}{10}
환경을 포함하는 세 가지 개별 환경을 단일 환경으로 대체하는 솔루션을 제안합니다 align
. 이제 기호 =
가 정렬되었습니다. 또한 환경의 내용은 align
기본적으로 디스플레이 스타일 수학 모드로 조판됩니다.
단일 환경으로 전환하는 것 외에도 align
(a) mathtools
패키지의 상위 집합인 패키지를 로드하여 amsmath
(b) 라는 매크로를 정의하고 \norm
(c) 의 모든 인스턴스를 \|\mathrm{AB}\|
다음 으로 바꿉니다.\norm{\mathrm{AB}}
. 덧붙여서, $\mathrm{1}$
단지 $1$
.
\documentclass{article}
\usepackage{mathtools} % for '\DeclarePairedDelimiter' macro
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
\begin{document}
\begin{align}
f_{1}&=\left.\frac{\norm{\mathrm{AB}}}{\norm{\mathrm{CD}}}\right\}\\
f_{1}&=\left.\frac{\norm{\mathrm{AB}}}{\norm{\mathrm{CD}}}\right\}\\
f_{1}&=\left.\frac{\norm{\mathrm{AB}}}{\norm{\mathrm{CD}}}\right\}
\end{align}
\end{document}