Frage

In LaTeX Figuren kann man \textwidth und \columnwidth verwenden Größen der Grafik im Verhältnis zur Größe des umgebenden Text zu spezifizieren, beispielsweise \includegraphics[width=.5\textwidth]{myimage}.

Ich möchte einfach von onecolumn wechseln Vorlage zu twocolumn (und zurück), ohne die Figur zu groß wird für onecolumn Vorlage. (Die Hälfte ist, wo \columnwidth etwa die \textwidth) für twocolumn Vorlage, würde Ich mag, wie etwas haben: \includegraphics[width=.9\columnwidth]{myimage}. und für onecolumn Vorlage (wo \columnwidth und \textwidth gleich sind):
\includegraphics[width=.5\textwidth]{myimage}.

Nun, ich dachte, ich diese Grenze könnte eine Art von min-Operator: \includegraphics[width=min(.5\textwidth,.9\columnwidth)]{myimage} aber das ist ungültige Syntax. Gibt es so etwas wie diese, dieses Problem zu lösen, möglicherweise durch die Verwendung von LaTeX Makro-System?

War es hilfreich?

Lösung

Obwohl es möglich ist, diese Art von Makro zu schreiben, würde ich es nicht in jeder Figur codieren wollen; wie wäre es so etwas wie dieses

\makeatletter
\newlength \figwidth
\if@twocolumn
  \setlength \figwidth {0.9\columnwidth}
\else
  \setlength \figwidth {0.5\textwidth}
\fi
\makeatother

und verwenden Sie dann

\includegraphics[width=\figwidth]{myimage}

, um die Grafik einzufügen.

Andere Tipps

\textwidth ist die horizontale Breite der Seite Körpers und nicht wirklich geeignet für Ihre Zwecke.

\linewidth ist die Breite der aktuellen Zeile; es wird angemessen Spalten aktualisiert werden, Einzüge, etc.

Der folgende Absatz erzeugt ein Bild, das die gesamten Linienbreite genau passen soll (das heißt keine overful Warnung):

\noindent\includegraphics[width=\linewidth]{myimage}

Wenn Sie kleine Ränder auf der linken und rechten bevorzugen, können Sie verwenden:

\begin{center}
\includegraphics[width=.9\linewidth]{myimage}
\end{center}

Oder, wenn Sie die Ränder in einer absoluten Größe angeben mögen:

\usepackage{calc}
...
\begin{center}
\includegraphics[width=\linewidth-20pt]{myimage}
\end{center}

Hmm ... der Code oben (\ if @ twocolumn etc.) ist gar nicht für mich arbeiten. Keine Ahnung, warum nicht. :( tetex auf osX fink verwendet wird. Der Versuch, revtex4 zu verwenden, so vielleicht das ist das Problem. Ich mag die Idee, diese Art der Veränderung wirklich, weil ich mit Breiten usw. für meine Diplomarbeit und verschiedene Zeitschriftenartikel zu dorking werde, und diese Abstände mit einem Makro angegeben haben, können für diese Art von Konvertierungen hilfreich sein.

Jede Kommentare sehr zu schätzen! -Innensechskant

Jemand anderes, besser vertraut mit diesem ist, wird wahrscheinlich antworten, aber beachten Sie, dass Sie auch als Abbildung * benötigen würde Ihre Figur-Typ ändern, wenn Sie gehen zweispaltigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top