하나의 텍스트 문자열을 다른 텍스트 문자열의 중간에 겹칩니다.

하나의 텍스트 문자열을 다른 텍스트 문자열의 중간에 겹칩니다.

를 사용하여 텍스트를 겹치거나 왼쪽 정렬할 수 있습니다 \rlap{A}BCD. 그러나 BCD의 중앙(정확히 중앙)에서 A를 겹치는 방법은 무엇입니까?

답변1

패키지 의 명령 \makebox과 함께 사용합니다 .\widthofcalc

\documentclass{article}
\usepackage{calc}

\begin{document}

\begin{itemize}
\item ABCD
\item \makebox[0ex][l]{BCD}A
\item \makebox[1ex][l]{BCD}A
\item \makebox[2ex][l]{BCD}A
\item \makebox[3ex][l]{BCD}A
\item \makebox[4ex][l]{BCD}A
\end{itemize}

\begin{itemize}
\item ABCD
\item \makebox[\widthof{BCD}/2-\widthof{A}/2][l]{BCD}A
\item \frame{\makebox[\widthof{BCD}/2-\widthof{A}/2][l]{BCD}}A %for illustration
\end{itemize}

\end{document}

여기에 이미지 설명을 입력하세요

당신 과 함께 \makebox[\widthof{BCD}/2-\widthof{A}/2][l]{BCD}A얻을:

여기에 이미지 설명을 입력하세요

참고 사항: 포함된 항목을 제거하면 \makeboxMWE가 생성됩니다.

답변2

기본값은 정확히 중앙에 겹치는 것이지만 선택적 인수를 사용하면 미세하게 조정할 수 있습니다.

\documentclass{article}
\usepackage{stackengine}
\newcommand\clap[3][0pt]{\stackengine{0pt}{#3}{\kern#1#2}{O}{c}{F}{F}{L}}
\begin{document}
\clap{A}{BCD}

\clap[6pt]{A}{BCD}

\clap[-6pt]{A}{BCD}
\end{document}

여기에 이미지 설명을 입력하세요

답변3

다음을 사용하면 쉽습니다 \ooalign.

\documentclass{article}

\newcommand{\overlap}[2]{%
  \leavevmode\begingroup
  \vphantom{#1#2}%
  \ooalign{\hfil#1\hfil\cr\hfil#2\hfil\cr}%
  \endgroup
}

\begin{document}

\overlap{A}{BCD}

\textsf{\overlap{I}{XXX}}

\end{document}

여기에 이미지 설명을 입력하세요

답변4

아마도 이 \stackinset명령을 사용하는 것이 더 간단할 것입니다. 이 예에서는 수정이 필요하지 않았으므로 해당 인수를 비워 두었습니다.

\documentclass[12pt]{article}
\usepackage{stackengine}
\usepackage[svgnames]{xcolor}

\begin{document}

\Large\stackinset{c}{}{c}{}{\color{Tomato}A}{BCD}

\end{document} 

여기에 이미지 설명을 입력하세요

관련 정보