latex中使用xcolor實現顏色的飽和度

一、背景

使用latex編寫文章時,會遇到如下場景,使用多個顏色表達多個人的表達內容。其中代表說話人的顏色更深(飽和度高),而說話人內容的背景顏色要淺(飽和度低),這樣可以清晰的將不用人的內容進行區別。例子如下,其中紅色的方框表示說話人的顏色,說話的內容是用同RGB+飽和度實現。
image

二、解決方法

這裏直接使用xcolor包實現,如果xcolor包被禁用,就是用多個顏色實現。值得注意的是,這裏使用的是自定義的格式,因此需要引入mdframed的包。

1.使用xcolor包的實現

實現的代碼如下,其中關鍵在於!20部分,這種使用方法在color包中會報錯。

\documentclass{article}
\pdfpagewidth=8.5in
\pdfpageheight=11in

\usepackage{xcolor}
% 定義顏色
\definecolor{R1color}{RGB}{252,99,21}
\newcommand\RONE[1]{\textcolor{R1color}{#1}}


\usepackage[framemethod=default]{mdframed}

\global\mdfdefinestyle{comment1}{%
     linecolor=R1color,
     linewidth=0.05cm,backgroundcolor=R1color!20,% 這裏的!20在color中不支持。
     leftmargin=-0.1cm,rightmargin=-0.1cm, innerleftmargin=0.5cm,innerrightmargin=0.1cm,innerbottommargin=0.01cm,
     topline=false,bottomline=false,
     innertopmargin=0.05cm,
     rightline=false
}

\begin{document}

\begin{mdframed}[style=comment1] 
	\textit{\noindent\RONE{R\#2}:
	 // 這裏寫內容即可
	} 
\end{mdframed}

\end{document}

image

2.使用color包解決

這種解決方案針對某些情況下,xcolor包被禁止使用,而color包未被禁止(一般而言color包是可以在任何條件下使用)。解決方案也很簡單,即重新定義一下顏色,這裏爲了展示方便,給出了一個其他的顏色。這種解決方案不夠優雅。

\documentclass{article}
\pdfpagewidth=8.5in
\pdfpageheight=11in

\usepackage{color}
% 定義顏色
\definecolor{R1color}{RGB}{252,99,21}
\definecolor{R2color}{RGB}{152,99,211}
\newcommand\RONE[1]{\textcolor{R1color}{#1}}


\usepackage[framemethod=default]{mdframed}

\global\mdfdefinestyle{comment1}{%
     linecolor=R1color,
     linewidth=0.05cm,backgroundcolor=R2color,% 將這裏的!20換成新定義的R2color
     leftmargin=-0.1cm,rightmargin=-0.1cm, innerleftmargin=0.5cm,innerrightmargin=0.1cm,innerbottommargin=0.01cm,
     topline=false,bottomline=false,
     innertopmargin=0.05cm,
     rightline=false
}


\begin{document}

\begin{mdframed}[style=comment1] 
	\textit{\noindent\RONE{R\#2}:
	\\ 這裏寫內容
	} 
\end{mdframed}

\end{document}

image

三、總結

xcolor比color的功能更加強大,然而一些情況下可能只能使用color。因此本博客介紹了一下,如何在能使用xcolor和只能使用color的場景下,展示多人表達內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章