Stackengineのセンタリングの問題



Stackengine Centering Problem



解決:

文字のサイドベアリングを考慮していないので、センタリングに使用される実際の文字幅には空白が含まれていると思います。 TeXはグリフの形状に関する情報を持っておらず、指定された文字幅のどの部分が黒であるかを知ることができません。

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



 documentclass {article}  usepackage {stackengine}  begin {document} $  left |  Shortstack [c] {Cognicion abstractiva}  right | $ $  left |  Shortstack [c] { frame {Cognicion}  frame { abstractiva}}  right | $  end {document} 

この例は、何を測定するかについての疑問を解消するはずです。最初の2つのケースでは、ヘアラインが互いに完全に重なっており、問題がないことを示していることに注意してください。 Shortstack。

一方、測定した差は0.4pt未満であり、小さすぎて実際には目立たないものです。これは、文字の境界ボックスによって異なります。



 documentclass {article}  usepackage {color}  usepackage {stackengine}  newcommand { hairline} [1] [black] {% Leavevmode  kern-0.05pt  smash { color {#1}  vrule height 20pt depth 20pt幅0.1pt}% kern-0.05pt}  begin {document}  centering  Shortstack [c] { hairline {} XXXXXX  hairline {} XXXXXXXXXX}  hairline {} XXXXXX  hairline {} \ XXXXXXXXXX  vspace {20pt}  Shortstack [c] {% hairline [red] Cognicion  hairline [red]  hairline [green] abstractiva  hairline [green]%}  end {document}

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