私は提供されたコードを使用していますマーク・ウィブロウ(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}
言語をより簡単に切り替えられる2つの新しいコマンドと、通常のバベルギリシャ語の表記を可能にするパッケージ。
答え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}