res.clsに基づく履歴書のようなstackoverflow



Stackoverflow Like Resume Based Res



解決:

追加する必要があります各ノードが同じ高さになるように strut:

ここに画像の説明を入力してください



によると Qrrbrbirlbelの 提案、使用 vphantom {y}は、わずかにタイトな出力を生成します。

 newcommand { tagf} [2] [] {% begin {tikzpicture} [baseline = {(TAG.base)}]  node [draw、#1](TAG){#2};  node [font =  tiny、draw、#1](TAG){#2  vphantom {y}};  end {tikzpicture}}

ここに画像の説明を入力してください



コード:

 documentclass {article}  usepackage {xcolor}  usepackage {tikz}  newcommand { mytag} [1] {% begin {tikzpicture} [baseline = {(TAG.base)}]  node [draw、minimum height = 1ex](TAG){#1};  end {tikzpicture}}  newcommand { tagf} [2] [] {% begin {tikzpicture} [baseline = {(TAG.base)}]  node [draw、#1](TAG){#2} ;  node [font =  tiny、draw、#1](TAG){#2  strut};  end {tikzpicture}}  begin {document}  tagf [blue!80、fill = blue!20、丸みを帯びた角、font =  fontsize {0.1} {。1}] {SAMBA}  hspace {-0.25cm}  tagf [blue!80、fill = blue!20、丸みを帯びた角、font =  fontsize {0.1} {。1}] {Red Hat}  hspace {-0.25cm}  tagf [blue!80、fill = blue!20 、角の丸い、font =  fontsize {0.1} {。1}] {Windows}  hspace {-0.25cm}  tagf [blue!80、fill = blue!20、角の丸い、font =  fontsize {0.1} { .1}] {NFS}  hspace {-0.25cm}  tagf [blue!80、fill = blue!20、丸みを帯びた角、font =  fontsize {0.1} {。1}] {Python}  hspace {-0.25 cm}  tagf [blue!80、fill = blue!20、丸みを帯びた角、font =  fontsize {0.1} {。1}] {Shell}  hspace {-0.25cm}  tagf [blue!80、fill = blue !20、角が丸い、font =  fontsize {0.1} {。1}] {MySQL}  hspace {-0.25cm}  end {document}

を使用すると、コードを大幅に簡素化することもできます tikzsetを使用してスタイルを定義し、反復タスクの foreachループ:

 documentclass {article}  usepackage {xcolor}  usepackage {tikz}  newcommand { tagf} [2] [] {% begin {tikzpicture} [baseline = {(TAG.base)}]  node [draw、# 1](TAG){#2};  node [font =  tiny、draw、#1](TAG){#2  vphantom {y}};  end {tikzpicture}}  tikzset {My Tag Style / .style = {blue!80、fill = blue!20、rounded corners ,, font =  fontsize {0.1} {。1}}}  begin {document}  foreach  x in {SAMBA、Red Hat、Windows、NFS、Python、Shell、MySQL} {% tagf [マイタグスタイル] { x}  hspace {-0.25cm}}  end {document} 

要求に応じて…

しかし、最初に、いくつかのことを要約しましょう。



  • vphantom {y}は大文字のような垂直方向のスペースを追加しません。ごくわずかな例では、追加できます。 vphantom {Ay}など。

    NSちなみに strutは似たようなものです。高さ(ベースラインより上)がゼロ幅の垂直ルールを追加します.7 baselineskipとの深さ(ベースラインより下).3 ベースラインスキップ。
    (あなたはと同じ効果を得るルール[-。3ベースラインスキップ] {0pt} {ベースラインスキップ}。)

    元の例から判断すると、これは私の意見では深すぎました。他のすべてのノードには大文字が含まれていたため、これ以上調整する必要はありませんでした。

  • クラスオプションa4papperは、このオプションがないため、当然のことながら警告を表示します。
  • それでもresはに基づいています記事クラスそれはのようなオプションを転送しませんa4paperよりも警告が出るように。
  • …これが使用理由です私の例の[a4paper] {article}(ただし、もちろん、任意のクラスを使用できます)
  • あなたの hspace {-。25cm}を追加すると、不要になります。タグを含む行の終わりの%。 (→行末のパーセント記号(%)の使用は何ですか?)
    (私のコメントでは私は間違っていました:追加の水平方向のスペースは外側のセプトですが、挿入されたスペースからです。)
  • fontsize {0.1} {。1}は機能せず、警告も表示されます。

    LaTeXフォント警告:サイズが使用できないフォント形状 `OT1 / cmr / m / n 'は、入力行48で置き換えられたサイズです。
  • font = tinyも上書きされるため、使用されません。

  • あなたが使用している間ずっととにかく scalefont {0.8}。それを使ってみましょう。
  • 使用しないでくださいそれ。 (→ textitまたは it、 bfseriesまたは bfなどを使用しても問題ありません)

さて、私たちがすべてで遊ぶ前に vphantoms、ルールと strutsは、TikZ独自のスタイルを利用しています。

  • テキストの高さと
  • テキストの深さ。

深さを使用しない場合(私の目には)最も魅力的な出力が得られます(次のような文字のすべてのディセンダーを無視します)yとg)高さを大文字の高さに設定します。上記のTikZスタイルが使用されている場合、ノードテキストの実際の高さと深さは無視されます。

を使用してこの出力を模倣できますノードテキストとしての vphantom {A} smash {#2}(#2は実際のテキストです)、または、amsmathの拡張スマッシュ、 smash [b] {#2}(bは下部を表します。つまり、下部のみが粉砕されます)。

TikZのデフォルト設定内側のxsepとの内側のysep.3333emは、行にテキストに少しパディングがあることを確認してください。 (もちろん、これらの設定を変更して、さらに別の出力を取得することもできます。)

手短に言うと

コード

 newcommand { tagf} [2] [] {{% scalefont {0.8}% sbox0 {A}% tikz [baseline = {(TAG.base)}] { node [draw = blue!80、fill = blue!20、角の丸み、テキストの高さ=  ht0、テキストの深さ= 0pt、#1](TAG){#2}; }%}}

出力

ここに画像の説明を入力してください

深さ?ハイツ?なに…?

(( strutのTikZノード内に問題があります表形式なので、最後の列から削除しました。)

テーブル

ここに画像の説明を入力してください

クローザー

ここに画像の説明を入力してください

完全なコード

 documentclass [a4paper] {article}  usepackage {parskip}%resの出力を模倣する usepackage {tikz}%デフォルトでxcolorをロード usepackage {scalefnt}  usepackage {amsmath}% smash  usepackageの拡張バージョンのみ{calc}  usetikzlibrary {shapes.geometric}  newcommand { tagf} [2] [] {{% scalefont {0.8}% sbox0 {A}% tikz [baseline = {(TAG.base)}] {  node [draw = blue!80、fill = blue!20、丸みを帯びた角、テキストの高さ=  ht0、テキストの深さ= 0pt、#1](TAG){#2}; }%}}  begin {document}責任にはLinuxクラスターとワークステーションのインストールと構成が含まれます tagf {SAMBA}% tagf {Red Hat}% tagf {Windows}% tagf {NFS}% tagf {Python}%  tagf {Shell}% tagf {MySQL}%責任にはLinuxクラスターとワークステーションのインストールと構成が含まれます par責任にはLinuxクラスターとワークステーションのインストールと構成が含まれます tagf {Fortran95}% tagf {Make}% tagf {gcc }% tagf {GCC}% tagf {Python}責任にはLinuxクラスターとワークステーションのインストールと構成が含まれます par %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%次のコードはレジュメ内で使用しないでください。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%  newcommand { boxme} [2] [black] {{% fboxrule = .4pt% fboxsep = 0pt%{ color {#1}  fbox { color {black}#2}}%}}  newcommand { showmeheightanddepth} [2] [] {% global  sbox0 {#2}% rlap { kern-.4em  rule [-。1pt] { wd0 + .8em} {。2pt}}%ベースライン boxme {#2}#1& the  ht0& the  dp0& the  dimexpr  ht0 +  dp0  Relax& ifx#2  strut  else  let  boxme  dontboxmeinsideTikZ% tagf [text height =、text depth =] {#2}  fi}  newcommand { dontboxmeinsideTikZ} [2] [black] {%#2%}  edef  baselineskipinnormaltext { the ベースラインスキップ}  begin {tabular} {lrrrc}ボックス化&高さ&深さ&合計高さ&Ti  emph {k} Z \ hline  showmeheightanddepth {ace} \  showmeheightanddepth {ABC} \  showmeheightanddepth {gy} \  showmeheightanddepth {Age} \  showmeheightanddepth { vphantom {A}  smash { boxme [green] {Age}}} \  showmeheightanddepth { smash [b] { boxme [green] {Age}}}  %needs  usepackage {amsmath}  showmeheightanddepth [( texttt {strut})] { strut}  end {tabular}  end {document}