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}