2010-03-31 17 views
11

Aşağıdaki komut neden çizginin sonuna kadar alanı dolduran yatay bir kural oluşturmuyor?LaTeX kuralı dolduran çizgi

Hello \rule[0.5em]{\fill}{1pt} 

Bu metin “Hello” benzer \hspace\fill etkili eşdeğerdir makro \hfill için, satırın sonuna dek uzanan yatay bir kural izledi yazdırmalısınız benim anlaşılmasıdır. - Ama aslında, bu komut sadece "Hello" metnini üretiyor, kural yok.

Ben etkisi \hrulefill tarafından üretilebilir ama \raisebox birlikte çalışmaz kural ve \hrulefill kaldırdı istiyorum çünkü burada kullanılamaz ve benim kural yukarıda asmak istiyorum farkındayım taban çizgisi (çizginin en iyisi).

cevap

11

Sunduğunuz komutun neden çalışmadığı konusunda tatmin edici bir cevabım yok, ancak etkili bir çözüm önerebiliyorum. senin belgenin önsöz içine

% Raised Rule Command: 
% Arg 1 (Optional) - How high to raise the rule 
% Arg 2   - Thickness of the rule 
\newcommand{\raisedrule}[2][0em]{\leaders\hbox{\rule[#1]{1pt}{#2}}\hfill} 

koyun ve sonra sizinle ne umut vardı başarabilirsiniz:

Hello \raisedrule[0.5em]{1pt} 
+0

, Bunun nasıl çalıştığını anlamıyorum bakın Bir çekicilik gibi, teşekkürler. –

+4

Bu kısmı açıklayabilirim. Liderler, TeX'te genel tutkal vakasıdır; Genellikle, tutkal hiçbir şey olmadan alanı doldurur. Ama liderler istediğin şeyle alanı doldururlar. Bunun genel biçimi '\ leader {box veya rule} \ hskip {glue}' dır, '\ hfill' özel bir sonsuz derecede yıkanabilir tutkal çeşidi olduğundan, liderler komutu ihtiyaç duyduğu iki şeye sahiptir: tekrarlamayı uzatmanın ne kadar olduğunu söylemek için yapıştırıcı. – RTBarnard

+0

http://tex.stackexchange.com/a/17130/13450 adresinden bazı kodlarda bu, metni her iki tarafa da çevrelemek için çalışır: '\ newcommand {\ raisedrule} [2] [0em] {\ leavevmode \ leaders \ hbox {\ kuralı [# 1] {1pt} {# 2}} \ hfill \ kern0pt} '. – Christian

6

yatay 1pt yüksekliğinin kural ve 1.5pt tarafından büyütüldü.

Hello \leaders\vrule height 2.5pt depth -1.5pt \hfill \null