tcolorbox 的内联文本

tcolorbox 的内联文本
\documentclass[a4paper]{article}
\usepackage[most]{tcolorbox}
\usepackage{xeCJK}
\setCJKmainfont{SimSun}

\begin{document}

% Code Block I %
MM%
\begin{tcolorbox}[blankest, nobeforeafter,bottom=0pt,boxsep=0pt, opacitytext=0.2]
  \color{red}MM
\end{tcolorbox}%
MM\\
%%%%%%%%%%%%%%%%%%%%%%%%%%

% Code Block II %
MM%
\begin{tcolorbox}[blankest, nobeforeafter,bottom=0pt,boxsep=0pt, opacitytext=0.2]
  \color{red}地方
\end{tcolorbox}%

\end{document}

我想从“代码块 I”中获取六个连续的字符“M”。但是,排版给出了不需要的空格。我认为这是因为 tcolorbox 的宽度默认为\textwidth。如何获取宽度随内容变化的 tcolorbox?

从包含非 ASCII 字符(这里以 CJK 为例)的“代码块 II”的排版可以看出,字符之间高度不对齐。如何将 ASCII 字符与 CJK 字符对齐?

PS:我知道\tcbox这可能是一个解决方案。但是我有时需要换行。所以必须选择 tcolorbox。

在此处输入图片描述

答案1

你不需要 tcolorbox (它会创建盒子使得换行变得困难)只能得到彩色透明的文本。

\documentclass[a4paper]{article}
\usepackage{pgf,xcolor}

\begin{document}

MM%
\textcolor{red}{MM}%
\textcolor{red}{\pgfsetfillopacity{0.5}MM\pgfsetfillopacity{1}}
MM

\end{document}

不透明度设置不尊重 tex 组,因此您必须明确重置它们。

在此处输入图片描述

相关内容