Bagaimana cara menulis satu kata dalam dua warna berbeda?
Saya punya satu kata dan ingin menulisnya dalam dua warna berbeda. Biasanya, akan ada spasi di antara kedua \textcolo
bagian tersebut
\textcolor{sectcol}{la}\textcolor{white}{tex}
Saya bisa "menghapus" spasi dengan negatif \hspace
.
\textcolor{sectcol}{la}\hspace{-1mm}\textcolor{white}{tex}
Apakah ada cara yang lebih baik untuk melakukan ini?
Jawaban
sisipan warna disebut whatits
, dan ini akan mencegah kerning:
\documentclass{article}
\usepackage{color}
\begin{document}
VA
\textcolor{red}{V}\textcolor{blue}{A}
\end{document}

Tidak banyak yang dapat Anda lakukan (selain memasukkan spasi negatif). Satu-satunya cara untuk benar-benar menghindarinya adalah dengan menggunakan mesin lualatex dan paket luacolor:
\documentclass{article}
\usepackage{luacolor}
\begin{document}
VA
\textcolor{red}{V}\textcolor{blue}{A}
\end{document}

Contoh Anda kurang baik, karena tidak ada kerning antara “a” dan “t” pada font standar.
Jika Anda terjebak dengan pdflatex
dan tidak dapat menggunakan LuaTeX, Anda dapat menghitung kerning yang diperlukan secara manual.
\documentclass{article}
\usepackage{xcolor,xparse}
\ExplSyntaxOn
\NewDocumentCommand{\twocolors}{mmmm}
{% #1 = color for the first part
% #2 = first part
% #3 = color for the second part
% #4 = second part
\egreg_twocolors:nnnn { #1 } { #2 } { #3 } { #4 }
}
\box_new:N \l__egreg_twocolors_kern_box
\box_new:N \l__egreg_twocolors_nokern_box
\cs_new_protected:Nn \egreg_twocolors:nnnn
{
\hbox_set:Nn \l__egreg_twocolors_kern_box
{
\tl_item:nn { #2 } { -1 }
\tl_item:nn { #4 } { 1 } % could just be \tl_head:n
}
\hbox_set:Nn \l__egreg_twocolors_nokern_box
{
\hbox:n { \tl_item:nn { #2 } { -1 } }
\hbox:n { \tl_item:nn { #4 } { 1 } } % could just be \tl_head:n
}
\textcolor{#1}{#2}
\skip_horizontal:n
{
\box_wd:N \l__egreg_twocolors_kern_box - \box_wd:N \l__egreg_twocolors_nokern_box
}
\textcolor{#3}{#4}
}
\ExplSyntaxOff
\begin{document}
\twocolors{green!50!blue}{two}{red!30}{color}
twocolor
\makebox[0pt][l]{twocolor}\twocolors{green!50!blue}{two}{red!30}{color}
\makebox[0pt][l]{\twocolors{green!50!blue}{two}{red!30}{color}}twocolor
\twocolors{green!50!blue}{la}{red!30}{tex}
latex
\makebox[0pt][l]{latex}\twocolors{green!50!blue}{la}{red!30}{tex}
\makebox[0pt][l]{\twocolors{green!50!blue}{la}{red!30}{tex}}latex
\twocolors{green!50!blue}{V}{red!30}{A}
VA
\makebox[0pt][l]{VA}\twocolors{green!50!blue}{V}{red!30}{A}
\makebox[0pt][l]{\twocolors{green!50!blue}{V}{red!30}{A}}VA
\end{document}
Setiap contoh memiliki centang bahwa warna tidak bocor. Namun, pada resolusi kecil, rasterer mungkin menampilkan artefak. Gambar di bawah ini diambil dengan resolusi yang cukup tinggi.
Batasan: jika item terakhir di bagian pertama atau item pertama di bagian kedua adalah huruf beraksen, beri tanda kurung (atau mereka).
