LINUX.ORG.RU

Добавить иконку в moderncv

 ,


0

2

Пытаюсь разобраться, как же добавить иконку в moderncv. Не то, чтобы очень нужно (могу и обойтись), просто глупо себя чувствую, когда что-то не понимаю.

Для тех, кто не в курсе, в moderncv есть волшебная команда:

\social[github]{vasya-pupkin}

Которая рисует иконочку с октокошкой (маскот гитхаба, вроде как), потом печатает имя аккаунта, которое делается ссылкой.

Решил покопаться в moderncv.cls, несмотря на то, что в LaTeX я не продвигался до того уровня, чтобы писать свои классы - только использовать чужие. А пора бы.

Как ссылку сделать с помощью hyperref - вопросов нет, легко. Даже картинку ручками добавить самому можно (includegraphics). Но хочется сделать по умному. Например, расширить команду, чтобы работало вот так:

\social[bitbucket]{vasya-pupkin}

И рисовало маленькое ведёрко слева от ссылки.

Возможно, модифицировать команду сложно (это я предполагаю), потому сгодился бы и такой вариант:

\mysocial[bitbucket]{vasya-pupkin}

Или даже:

\bitbucket{vasya-pupkin}

Пытался найти в поставке пакета moderncv какую-нибудь картинку с символом (хоть векторную, хоть растровую) - но нет её... Так как же эта октокошка рисуется?

Кажется, до меня медленно доходит. В файле moderncviconsmarvosym.sty нашёл вот такие строчки (копирую только начало)

\renewcommand*{\githubsocialsymbol}  {%
  \protect\raisebox{-0.15em}{%
    \protect\begin{tikzpicture}[

В общем, картинку я нашёл - векторная она. Так понимаю, наиболее правильный вариант, найти, к примеру, нужную мне картинку в svg и сконвертить в tikz, а потом законтрибьютить это добро в moderncv и получить пряников от сообщества...

BattleCoder ★★★★★
() автор топика

А в чем проблема-то? Создаешь \newcommand с необязательным параметром, а внутри через \csname #2 \endcsname раскрываешь этот необязательный параметр в макрос, который и подставляет нужную картинку (кстати, можно и как значок ее оформить или metapost или pstricks или еще как).

Eddy_Em ☆☆☆☆☆
()

У, они там вообще расслабились:

\NewDocumentCommand{\social}{O{}O{}m}{%
  \ifthenelse{\equal{#2}{}}%
    {%
      \ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httplink[#3]{www.linkedin.com/in/#3}}}{}%
      \ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httplink[#3]{www.twitter.com/#3}}}    {}%
      \ifthenelse{\equal{#1}{github}}  {\collectionadd[github]{socials}  {\protect\httplink[#3]{www.github.com/#3}}}     {}%
    }
    {\collectionadd[#1]{socials}{\protect\httplink[#3]{#2}}}}

А вот откуда символы:

\renewcommand*{\mobilephonesymbol}   {{\Large\faMobilePhone}~}
\renewcommand*{\fixedphonesymbol}    {\faPhone~}
\renewcommand*{\faxphonesymbol}      {\faPrint~}              % alternative: \faFileAlt
\renewcommand*{\emailsymbol}         {\faEnvelope~}           % alternative: \faInbox
\renewcommand*{\homepagesymbol}      {\faGlobe~}              % alternative: \faHome
\renewcommand*{\linkedinsocialsymbol}{\faLinkedinSign~}       % alternative: \faLinkedin
\renewcommand*{\twittersocialsymbol} {\faTwitter~}
\renewcommand*{\githubsocialsymbol}  {\faGithub~}
все из шрифта fontawesome.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

То есть шрифт отдельно от пакета moderncv?

Я, наверное, в tikz нарисовать постараюсь, и оформлю через newcommand.

BattleCoder ★★★★★
() автор топика
Ответ на: комментарий от BattleCoder

Да, корзинки отдельно, яйца отдельно.

Ты посмотри примеры, как всякие простые символы рисуются из наборов палочек-значочков. Может и просто определишь через \def безо всяких tikz'ов.

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.