是否有 LaTeX 代码可以将基于 % 的 RGB 转换为基于 0-255 的 RGB 颜色代码?

是否有 LaTeX 代码可以将基于 % 的 RGB 转换为基于 0-255 的 RGB 颜色代码?

我有数百我的项目中使用三种不同颜色编码样式的混合颜色定义,例如(基于%)RGB 色彩,(基于 0-255)RGB和 (FFFFFF)HTML

\definecolor{lemon}{rgb}{1.0, 0.97, 0.0}
\definecolor{maize}{rgb}{0.98, 0.93, 0.37}
\definecolor{mustard}{rgb}{1.0, 0.86, 0.35}
\definecolor{ocre}{HTML}{F16723}
\definecolor{Tangerine}{RGB}{253,128,8}

在一次家务活动中,为了根据颜色的数字代码对颜色进行排序,我想知道是否可能已经存在 LaTeX 代码,我可以使用它来转换(基于%)RGB 色彩颜色定义(基于 0-255)RGB颜色定义,例如转换:

\definecolor{maize}{rgb}{0.98, 0.93, 0.37}

到:

\definecolor{maize}{RGB}{250,237,94}

理想情况下,代码会以 0-255 为基数写出转换后颜色的 LaTeX 代码RGB颜色(LaTeX)代码放入文本文件中。

如果存在这样的 LaTeX 代码,那么我可以使用 LaTeX(基于%)RGB 色彩至(基于 0-255)RGB转换代码作为模型来创建 LaTeX 代码来转换 HTML 颜色(基于 0-255)RGB颜色。

一旦所有颜色都转换为(基于 0-255)RGB然后我可以按颜色定义按数字排序(基于 0-255)RGB颜色。

答案1

以下示例代码重新定义,\definecolor{<colour>}{<model>}{<spec>}以便它可以将更新输出\definecolor{<colour>}{RGB}{<RGB spec>}到名为的文件colour.txt(感谢找出 RGB 或 HEX 颜色xcolor):

在此处输入图片描述

\documentclass{article}

\usepackage{newfile}

\newoutputstream{colourfile}
\openoutputfile{colour.txt}{colourfile}

\usepackage{xcolor}

\let\olddefinecolor\definecolor
\renewcommand{\definecolor}[3]{%
  \olddefinecolor{#1}{#2}{#3}% Original colour definition
  % Taken from: https://tex.stackexchange.com/q/35033/5764
  \extractcolorspec{#1}{\tempcolourspec}% Extract colour specification
  \expandafter\convertcolorspec\tempcolourspec{RGB}\tempcolourspec% Convert colour specification to RGB
  \addtostream{colourfile}{% Write RGB colour specification to file
    \protect\definecolor{#1}{RGB}{\tempcolourspec}%
  }%
}
\AtEndDocument{%
  \closeoutputstream{colourfile}% Close colour.txt
}

\definecolor{lemon}{rgb}{1.0, 0.97, 0.0}
\definecolor{maize}{rgb}{0.98, 0.93, 0.37}
\definecolor{mustard}{rgb}{1.0, 0.86, 0.35}
\definecolor{ocre}{HTML}{F16723}
\definecolor{Tangerine}{RGB}{253,128,8}

\begin{document}

\textcolor{lemon}{lemon}
\textcolor{maize}{maize}
\textcolor{mustard}{mustard}
\textcolor{ocre}{ocre}
\textcolor{Tangerine}{Tangerine}

\end{document}

该文件colour.txt现在包含:

\definecolor{lemon}{RGB}{255,247,0}
\definecolor{maize}{RGB}{250,237,94}
\definecolor{mustard}{RGB}{255,219,89}
\definecolor{ocre}{RGB}{241,103,35}
\definecolor{Tangerine}{RGB}{253,128,8}

相关内容