stackoverflow като резюме на базата на res.cls
Stackoverflow Like Resume Based Res
Решение:
Трябва да добавите a strut, така че всеки възел да е с еднаква височина:
Според Qrrbrbirlbel's предложение, използвайки 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, minimal 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}} start {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 [синьо! 80, запълване = синьо! 20, заоблени ъгли, шрифт = 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 за дефиниране на стилове и използвайте a цикъл foreach за повтарящи се задачи:
documentclass {article} usepackage {xcolor} usepackage {tikz} newcommand { tagf} [2] [] {% begin {tikzpicture} [baseline = {(TAG.base)}] node [draw,# 1] (ТЕГ) {#2}; node [font = tiny, draw,#1] (TAG) {#2 vphantom {y}}; end {tikzpicture}} tikzset {My Tag Style/.style = {blue! 80, fill = blue! 20, заоблени ъгли,, font = fontsize {0.1} {. 1}}} start {document} foreach x в {SAMBA, Red Hat, Windows, NFS, Python, Shell, MySQL} {% tagf [Моят стил на етикет] { x} hspace {-0.25cm}} end {document}
Както поискахте …
Но първо, да обобщя някои неща:
vphantom {y} не добавя вертикално пространство като главни букви, във вашия миниатюрен пример можете да добавите vphantom {Ay} например.
The strut е нещо подобно между другото. Той добавя вертикално правило с нулева ширина с височина (над базовата линия) на.7 baselineskip и дълбочина (под базовата линия) на.3 baselineskip.
(Получавате същия ефект с rule [-. 3 baselineskip] {0pt} { baselineskip}.)
Съдейки по първоначалния пример, това беше твърде дълбоко според мен и тъй като всички останали възли имаха необичайна буква, нямаше нужда от по -корекции.
- Вариантът на класа
a4papper ме предупреждава - без изненада - предупреждение, тъй като тази опция е никаква.
- Въпреки че
res се основава настатия клас не препраща опция катоa4paper, така че дори да получа предупреждение, отколкото.
- ... което е причината за използването
[a4paper] {article} в моите примери (но можете, разбира се, да използвате всеки клас, който искате)
- Вашият
hspace {-. 25cm} е ненужен, ако добавите a% в края на редовете, съдържащи вашия маркер. (→ Каква е ползата от знаците за процент (%) в края на редовете?)
(В коментара си сгреших: Допълнителното хоризонтално пространство не идва отвъншен сеп, но от мястото, което е вмъкнато.)
fontsize {0.1} {. 1} не работи, дори дава предупреждение:
Предупреждение за шрифта на LaTeX: Формата на шрифта „OT1/cmr/m/n“ в размер не е наличен размер, заменен на входящия ред 48.
font = tiny не се използва, тъй като също се презаписва.
- През цялото време, докато използвате
scalefont {0,8} така или иначе. Нека просто използваме това.
- Не използвайте
то. (→ Има ли значение дали използвам textit или it, bfseries или bf и т.н.)
Сега, преди да играем с всички vphantoms, правила и struts те са, ние просто използваме собствените стилове на TikZ, а именно:
височина на текста и
дълбочина на текста.
Получаваме най -привлекателния резултат (в моите очи), когато не използваме дълбочина (пренебрегвайки всички низходящи букви катоy иж) и задайте височината на тази на велика буква. Когато се използват гореспоменатите стилове на TikZ, действителните височини и дълбочини на текста на възела се игнорират.
Можем да имитираме този изход, използвайки vphantom {A} smash {#2} като текст на възела (#2 е действителният текст), или, с помощта наразширение на amsmath на разбивам, смачкайте [b] {#2} (b означава дъно, тоест само долната част е разбита).
Настройките по подразбиране на TikZ навътрешен xsep ивътрешен ysep на.3333em се уверете, че редовете имат малка подложка към текста. (Тези настройки също могат да бъдат променени, разбира се, за да получите още един изход.)
Накратко
Код
newcommand { tagf} [2] [] {{% scalefont {0,8}% sbox0 {A}% tikz [baseline = {(TAG.base)}] { node [draw = blue! 80, попълнете = синьо! 20, заоблени ъгли, височина на текста = ht0, дълбочина на текста = 0pt, #1] (TAG) { #2}; }%}}Изход

Дълбочини? Височини? Какво …?
( strut има проблеми вътре в TikZ-възел вътретабличен, така че го премахнах от последната колона.)
Таблица

По близо

Пълен код
documentclass [a4paper] {article} usepackage {parskip}% за имитиране на res 'output usepackage {tikz}% зарежда xcolor по подразбиране usepackage {scalefnt} usepackage {amsmath}% само за разширената версия на smash usepackage {calc} usetikzlibrary {shape.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] [черно] {{% fboxrule = .4pt% fboxsep = 0pt%{ color {#1} fbox { цвят {черен}#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 [височина на текста =, дълбочина на текста =] { #2} fi} newcommand { dontboxmeinsideTikZ} [2] [черен] {% #2%} edef baselineskipinnormaltext { the baselineskip} 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}