2009-10-10 10 views
8

Jestem obecnie robi coś takiego:Latex: hfill do pewnej szerokości

a\hfill{}b 

która stawia „a” na lewej stronie, a „b” z prawej strony. Jednak chciałbym, aby "b" było dokładnie w połowie. Czy istnieje odpowiednik \ hfill, gdzie mogę powiedzieć \hfill{0.5\textwidth}? Nie znam szerokości "a".

Oczywiście, mógłbym użyć tabular, a może minipage, ale reszta kodu tutaj jest dość skomplikowana, więc wolałbym z tym nie zadzierać.

Edit:

a i b są zarówno subfloats (subfigure) z lstinputlistings w nich.

+1

Co z dwoma huflami, jak \ hfill {} b \ hfill {}? –

+0

@ Guðmundur H: Dzięki. Tego rodzaju prace, ale to niecałe 50%. Mam dwa zastosowania na tej samej stronie i oba mają różne rozmiary (jeden może 40%, a może 55%). –

+1

zmień '' \ hfill'' na '' \ hskip 0pt plus 1fill'' i użyj '' \ hskip 0pt plus .40 fill'' i '' \ hskip 0pt plus .60 fill'' –

Odpowiedz

6
\documentclass{article} 

\begin{document} 
\noindent\hbox to 0.5\textwidth{a}b 

Curabitur viverra ligula a dui condimentum tempus. Aenean convallis, massa ut fermentum 
convallis, leo justo iaculis lectus, quis molestie orci ligula ut leo. Quisque vitae neque 
sit amet tortor convallis rhoncus ac at nibh. Cras sit amet mauris sit amet neque 
tincidunt iaculis non non ante. Proin quis nisi porttitor enim adipiscing bibendum et 
fermentum magna. Morbi sapien nibh, venenatis in fringilla id, laoreet ut libero. 
\end{document} 

Uwaga: to działa, jeśli szerokość jest mniejsza niż 0,5 \ textwidth więc odpowiedź multicol jest prawdopodobnie bardziej rozsądne

+0

Uważam, że tekst rozprasza uwagę. Dlaczego nie po prostu pokazać pojedynczą linię z rozwiązaniem? – Svante

+1

Używam tekstu zastępczego, aby wyświetlić układ strony (aby zobaczyć, gdzie \ textwidth kończy się) –

+0

Na małym przykładzie wygląda dobrze. Jak to działa? Gdzie idzie "to"? –

2

można spróbować środowisko multicol z columnsep ustawiony na 0.

istnieje, nawiasem mówiąc, również sposób pomiaru wielkości świadczonych części, dzięki \settowidth i \settoheight.

3
a\hfill{}b\hspace{0.5\textwidth} 
+0

Powoduje to umieszczenie _right_ granicy b na linii środkowej. – Svante

+0

Jeśli b jest zbyt szeroki, kończysz z 30%/70% współczynnikiem z tym –

1

Spróbuj zastąpić \ hfill do \ hskip 0pt Plus 1fill i można zrobić niesamowite rzeczy. Na przykład:


a\hskip 0pt plus .35 fill b\hskip 0pt plus .65 fill 
Powiązane problemy