에서 제공한 코드를 사용하고 있습니다.마크 위브로(TikZ를 사용한 텍스트 나선형) 보고서의 앞표지로 포함할 수 있는 나선형 텍스트를 생성합니다.
아래 코드는 라틴 문자를 사용할 때 완벽하게 작동합니다. 그러나 나는 그리스어 텍스트를 쓸 수 있어야 합니다. 그리스어 쓰기를 허용하려면 이 코드를 어떻게 조정/수정할 수 있나요?
\documentclass[tikz,border=5]{standalone}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[english, greek]{babel}
\newcommand{\en}{\selectlanguage{english}}
\newcommand{\gr}{\selectlanguage{greek}}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}[
decoration={
reverse path,
text effects along path,
text={Κείμενο στα ελληνικά.}, %text in greek
text effects/.cd,
text along path,
character count=\i, character total=\n,
characters={scale=1-\i/\n}
}
]
\draw [decorate] (0,0)
\foreach \i [evaluate={\r=(\i/2000)^2;}] in {0,5,...,2880}{ -- (\i:\r)};
\end{tikzpicture}
\end{document}
보다 쉽게 언어를 전환하기 위한 두 가지 새로운 명령과 일반적인 명령이 포함되어 있다는 점을 언급하고 싶습니다.바벨그리스어 쓰기를 활성화하는 패키지입니다.
답변1
babel
무지한 단일 언어 영국 영어 사용자로서 영어가 아닌 글꼴과 패키지를 다루는 경험이 LaTeX
거의 없기 때문에 이 솔루션이 얼마나 실용적이고 유용한지 전혀 모릅니다. 또한 문자가 올바르게 계산되는지 확실하지 않습니다. lualatex
또는 를 준수해야 합니다 xelatex
.
\documentclass[tikz,border=5]{standalone}
\usepackage{fontspec}
% Select appropriate font
\setmainfont{TeX Gyre Pagella}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}[
decoration={
reverse path,
text effects along path,
text={%
Βρυτε λεγερε συ μει. Φιμ συ αλτερα εριπυιτ σενσιβυς.
Ατ δεσωρε αλικυαμ εαμ. Ιυς αν θιμεαμ ομιθταντυρ,
ετ μολεστιε σορρυμπιθ εαμ, σινθ αδμοδυμ φιερενθ αδ πρι.
Φελ συ πυτανθ φιθυπεραθα, αεκυε ερρεμ ευμ συ. Νο ευισμοδ
μενθιτυμ πραεσενθ νες, πρω ελιγενδι σοτιδιεκυε σωνσλυδαθυρκυε ιν.
Ιδ μεα δισιθ φολυπθατιβυς. Ηομερω ρεπρεχενδυντ μελ νε,
αθκυι μελιυς προδεσεθ αν μει. Πρι ει δωσενδι νεγλεγενθυρ,
κυαεστιο ρεπριμικυε ατ φελ.
}, %text in greek
text effects/.cd,
text along path,
character count=\i, character total=\n,
characters={scale=1-\i/\n}
}
]
\path [decorate] (0,0)
\foreach \i [evaluate={\r=(\i/2000)^2;}] in {0,5,...,2880}{ -- (\i:\r)};
\end{tikzpicture}
\end{document}
답변2
(이 글을 게시하면서 제가 선호하는 Lua-/XeTeX 솔루션이 있다는 것을 알았습니다. 그러나 여기에는 pdfTeX 방법이 있습니다.)
(이 유형의 TikZ 그림에서) 각 문자는 자체적으로 조판되어 \hbox
많은 효과를 허용하지만 비용이 발생한다는 것을 기억하십시오. 그리스 문자도 문제인데 설명할 수 없습니다.
그러나 이전 음역 방법을 사용할 수 있습니다. 다른 악센트(예: )와 마찬가지로 다중 문자 글리프를 마무리해야 합니다 {\"u}ber
. 이 \hbox
방법을 사용하면 시그마를 최종 시그마로 간주하여 그룹화하여 '수정'할 수 있습니다.
\documentclass[tikz,border=5]{standalone}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
% Also works with these
%\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
\usepackage[english, greek]{babel}
\newcommand{\en}{\selectlanguage{english}}
\newcommand{\gr}{\selectlanguage{greek}}
\usetikzlibrary{decorations.text}
\begin{document}
\selectlanguage{greek}
\begin{tikzpicture}[
decoration={
reverse path,
text effects along path,
% text={Κε{ί}μενο στα ελληνικ{ά}.}, %text in greek
text={Ke{'i}meno {sta} ellhnik{'a}.},
text effects/.cd,
text along path,
character count=\i, character total=\n,
characters={scale=1-\i/\n}
}
]
\draw [decorate] (0,0)
\foreach \i [evaluate={\r=(\i/2000)^2;}] in {0,5,...,2880}{ -- (\i:\r)};
\end{tikzpicture}
% Something a little more elaborate...
\begin{tikzpicture}[
decoration={%
reverse path, %
text effects along path, %
% text={Κε{ί}μενο στα ελληνικ{ά}.}, %text in greek
text={{<H}dona{`i} ka{`i} l{~u}pai f{'o}boi te ka{`i} j{'a}rrh
{>e}pijum{'i}ai te ka{`i} {>a}postpofa{`i} ka{`i} t{`o}
{>a}lge{~i}n t{'i}nos {>`a}n {e>~ien}? {>`H} g{`a}r yuq{~h}s,
{>`h} qrwm{'e}nhs fuq{~h}s {s'w}mati, {>`h} tr{'i}tou tin{`o}s
{>ex} {>a}mfo{~i}n.
% Diq~ws d`e ka`i to~uto; >`h g`ar t`o m~igma, >`h >`allo <'eteron
% >ek to~u m'igmatos. <Omo'iws d`e ka`i t`a >ek to'utwn t~wn
% pajhm'atwn gin'omena ka`i pratt'omena ka`i doxaz'omena.
}, %
text effects/.cd, %
text along path, %
character count=\i, character total=\n, %
characters={scale=1-\i/\n} %
}
]
\draw [decorate] (0,0) \foreach \i [evaluate={\r=(\i/2000)^2;}] in
{0,5,...,2880}{ -- (\i:\r)};
\end{tikzpicture}
\end{document}