制作 LaTeX 版本的文字标识

制作 LaTeX 版本的文字标识

我想创建一个宏,将文本“julia”排版为在末尾的“ia”上方有两个斜点,因此它看起来像这样:

   _       _ _(_)_     
  (_)     | (_) (_)    
   _ _   _| |_  __ _   
  | | | | | | |/ _` |  
  | | |_| | | | (_| |  
 _/ |\__'_|_|_|\__'_|  
|__/                   

因为\.a给了我一个带点的 a,我想也许我可以用它\.{i\.a}来生成第三个点,但它不起作用 -jul\.{i\.a}只是输出“juli”。

实际上,我想重新创建徽标朱莉娅朗网站

有没有办法让所有的点都到达那里?

答案1

这是我的尝试。

A julia logo

我尝试模仿原始的 julia 徽标朱莉娅朗网站. 部分功能:

  • 点的位置与当前字体的 x 高度有关,这意味着如果字体大小发生变化,它们应该保持在正确的位置。
  • “julia”一词采用cmss(Computer Modern sans serif)字体设置,这意味着如果您将默认的无衬线字体更改为 Helvetica 或其他字体,徽标不会发生变化。
  • \julia命令被声明为“强健”命令,这意味着它可以安全地在节标题等内使用。见下图:

A julia logo, shown at various text sizes

这是我的代码:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{calc}

\definecolor{mylightred}{RGB}{211,79,73}
\definecolor{mydarkred}{RGB}{199,44,38}
\definecolor{mylightgreen}{RGB}{78,153,67}
\definecolor{mydarkgreen}{RGB}{43,129,33}
\definecolor{mylightpurple}{RGB}{150,107,178}
\definecolor{mydarkpurple}{RGB}{126,78,160}
\definecolor{mylightblue}{RGB}{49,101,205}
\definecolor{mydarkblue}{RGB}{20,92,205}

\tikzset{
  juliadot/.style args={#1,#2}{shape=circle,line width=0.03ex,minimum width=0.4ex,fill=#1,draw=#2}
}

\newcommand\julialetter[1]{{\strut\fontfamily{cmss}\bfseries\selectfont{#1}}}

\DeclareRobustCommand\julia{%
\begin{tikzpicture}[baseline=0mm, every node/.style={inner sep=0mm, outer sep=0mm}]
\node[anchor=base]        (j) at (0,0) {\julialetter{\j}};
\node[anchor=base, right=0ex of j] (u) {\julialetter{u}};
\node[anchor=base, right=0ex of u] (l) {\julialetter{l}};
\node[anchor=base, right=0ex of l] (i) {\julialetter{\i}};
\node[anchor=base, right=0ex of i] (a) {\julialetter{a}};
\path let \p1 = (j) in node[juliadot={mylightblue,mydarkblue}] (bluedot) at (\x1+0.02ex,1.4ex) {};
\path let \p1 = (i) in node[juliadot={mylightred,mydarkred}] (reddot) at (\x1,1.4ex) {};
\path let \p1 = (reddot) in node[juliadot={mylightpurple,mydarkpurple}] (purpledot) at (\x1+0.5ex,\y1) {};
\path let \p1 = (reddot) in node[juliadot={mylightgreen,mydarkgreen}] (greendot) at (\x1+0.25ex,\y1+0.42ex) {};
\end{tikzpicture}%
}

\begin{document}

\section{The \julia\ logo}

\parbox{8cm}{
\tiny Here is a {\julia} logo.
\small The {\julia} logo is made using TikZ.
\normalsize The dimensions in {\julia}'s logo are relative,
\large so {\julia} scales quite nicely,
\LARGE when {\julia} is big, and even
\Huge when {\julia} is huge.}

\end{document}

答案2

这是一个绝对的解决办法。可能需要根据设置时使用的尺寸来调整字距量。

\documentclass[12pt]{article}
\begin{document}
\large
\thispagestyle{empty}
jul\.\i\raisebox{.4ex}{\kern-.1em\.{}\kern-.2em}\.a
\end{document}

output from sample code

(从口头描述来看,听起来您正在描述“匈牙利变音符号”,但这不是您的图形所显示的。我试图匹配图形。)

这是另一次尝试,用三角形中的三个点和一个未修饰的“julia”进行比较。同样,完整的代码,并注意字距调整量确实取决于尺寸。

\documentclass[12pt]{article}
\usepackage{graphicx}
\begin{document}
\huge
\thispagestyle{empty}
\scalebox{2}{julia}

\scalebox{2}{%
\leavevmode\rlap{julia}%
jul\.\i\raisebox{.4ex}{\kern-.15em\.{}\kern-.125em}\.{\kern-.27em}a}

\end{document}

enter image description here

答案3

也许只是:

\documentclass{article}

\begin{document}

\huge
Jul${\textrm{\i}}\dot{\ddot{}}$a

\end{document}

enter image description here

答案4

\makebox我尝试了和的组合\raisebox

juli\makebox[0pt][c]{\raisebox{0.5ex}{\.{}}}\.a

这与 barbara beeton 的答案非常相似,但使用零宽度\makebox而不是\kerning。

编辑:然而,看了原帖的来源我认为它有点丑;上面的点A距离点太近A.\kern在我看来,这似乎是一个更好的解决方案。

我也考虑过使用\therefore来自的命令,amssymb但基本上不可行——符号中的空间太大,normalsize但中的点却异常小tinyscriptsize

相关内容