Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Text ausrichten an horizontaler Achse eines Quadrats

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180

    Text ausrichten an horizontaler Achse eines Quadrats

    Hallo,

    ich möchte in der Linken Hälfte Quadrate verschiedener Kantenlängen setzen, vertikal untereinander. Die vertikalen Symmetrieachsen aller dieser Quadrate liegen auf einer Geraden. Das klappt auch.

    Rechts neben jedes Quadrat möchte ich einen kurzen Text unterschiedlicher Schriftgröße schreiben. Dabei kommt es mir darauf an, dass der jeweilige Text auf der waagrechten Symmetrieachse seines links neben ihm stehenden Quadrats ausgerichtet ist. Damit habe ich Probleme.

    Anbei mein MB (als "TextQ.txt", bei dem ich sehr viel ausprobiert habe, aber nicht weiterkomme. Interessanterweise ist der Text des ersten Quadrats wie gewünscht auf dessen waagrechter Symmetrieachse, die Texte der anderen Quadrate trotz formal identischer Übereinstimmungen in den Parametern jedoch nicht.

    Wer kann mir bitte weiterhelfen und eine Lösung anbieten?
    Danke im voraus
    Gruss
    Dieter

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Nun ein Fehler ist schon mal, dass die picture-Umgebungen anders relativ zur Grundlinie liegen:

    Code:
    \documentclass{scrbook}
    \setlength{\unitlength}{10mm}
    \begin{document}
    
    x1\begin{picture}(4,4)(0,0)
    \thinlines
    \put(0,0){\line(1,0){4}}
    \put(0,4){\line(1,0){4}}
    \put(0,4){\line(0,-1){4}}
    \put(4,4){\line(0,-1){4}}
    \end{picture}
    
    \bigskip
    
    x2\begin{picture}(2,2)(-1,1)
    \thinlines
    \put(0,0){\line(1,0){2}}
    \put(0,2){\line(1,0){2}}
    \put(0,2){\line(0,-1){2}}
    \put(2,2){\line(0,-1){2}}
    \end{picture}
    
    \end{document}
    Zweitens übertreibst du es mit den Boxen. Z.B.
    Code:
    \begin{minipage}[t]{\lenTmpC}
    \usebox{\tmpBoxC}
    \end{minipage}
    Was soll die minipage hier? \tmpboxC enthält doch bereits \begin{minipage}{\lenTmpC} und das unterschiedliche Positionsargument kann ja nur dein Leben verkomplizieren.

    Drittens schlage ich dir für dein Quadrat sowas vor:

    Code:
    \documentclass{scrbook}
    \newcommand\meinQuadrat[1]{%
    \begingroup
    \fboxsep0pt
    \makebox[0.45\textwidth]{%
     \raisebox{-0.5\height}{%
      \framebox[#1]{\rule{0pt}{#1}}}}%
    \endgroup}
    \begin{document}
    x\meinQuadrat{40mm}
    
    x\meinQuadrat{20mm}
    \end{document}
    Und viertens: wenn man Boxen schachtelt empfiehlt es sich Buchstaben wie bei mir das x einzustreuen, damit man sieht, wo in der Box jeweils die Grundlinie ist.

    Ulrike fischer

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180
    Ulrike,

    danke für Deinen Lösungsvorschlag. Beim Ausprobieren erhalte ich folgende Fehlermeldung:

    ! Missing number; treated as zero.

    \color@endgroup
    I.10 x\meinQuadrat{40mm}

    Ich weiss nicht, an welcher Stelle er eine Zahl (als Parameter) erwartet.
    Kannst Du mir bitte einen Tipp geben?

    Danke
    Gruss
    Dieter

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Also bei mir funktioniert mein Beispiel tadellos, sowohl mit pdflatex als auch mit latex.

    Ersetze mal scrbook mit book. Wenn dann der Fehler verschwindet, füge mal \listfiles ein (und benutze wieder scrbook) und vergleiche deine Versionen mit meinen
    Code:
     *File List*
     scrbook.cls    2009/04/03 v3.03a KOMA-Script document class (book)
    scrkbase.sty    2009/04/03 v3.03a KOMA-Script package (KOMA-Script-dependent ba
    sics and keyval usage)
     scrbase.sty    2009/04/03 v3.03a KOMA-Script package (KOMA-Script-independent 
    basics and keyval usage)
      keyval.sty    1999/03/16 v1.13 key=value parser (DPC)
    scrlfile.sty    2009/03/25 v3.03 KOMA-Script package (loading files)
    tocbasic.sty    2009/01/20 v3.02a(package)
    scrsize11pt.clo    2009/04/03 v3.03a KOMA-Script font size class option (11pt)
    typearea.sty    2009/04/03 v3.03a KOMA-Script package (type area)
    Wenn der Fehler auch mit book auftritt, sende die log-Datei.

    Ulrike Fischer

  5. #5
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180
    Ulrike,

    anbei eine ZIP-Datei mit allen benötigten Dateien.

    Danke
    Gruss
    Dieter

  6. #6
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Moin moin,

    Du hast Ulrikes Code nicht 1:1 kopiert:
    Code:
    \documentclass{scrbook}
    \listfiles
    \newcommand\meinQuadrat[1]{%
    \begingroup
    \fboxsep0pt
    \makebox[0.45\textwidth]{%
      \raisebox{-0.5\height}{%
      \framebox[#1]{\rule{0pt}{#1}}}}%<--
    \endgroup}
    \begin{document}
    x\meinQuadrat{40mm}
    
    x\meinQuadrat{20mm}
    \end{document}
    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  7. #7
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Du hast das zweite Argument von \rule vergessen:

    \rule{0pt}{#1}

    Ulrike Fischer

  8. #8
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180
    Hallo Ulrike,
    hallo Rainer,

    danke für euren Hinweis. Das Beispiel funktioniert.

    Man soll halt ein Beispiel nicht abtippen, sondern über USB-Stick übernehmen.
    (Ich darf mit meinem privaten Notebook nicht ins Firmennetz)

    Gruss
    Dieter

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •