Frage

Ich bin mit Sphinx ein Projekt zur Dokumentation. Es produziert LaTeX Dateien von umstrukturiert Text .

Ich möchte einen grauen Hintergrundfarbe auf die Tipps setzen und Notizen , so angepasst ich die Hinweis Umwelt nach einer Graybox Umfeld zu schaffen, :

\definecolor{MyGray}{rgb}{0.80,0.80,0.80}

\makeatletter\newenvironment{graybox}{%
   \begin{lrbox}{\@tempboxa}\begin{minipage}{\columnwidth}}{\end{minipage}\end{lrbox}%
   \colorbox{MyGray}{\usebox{\@tempboxa}}
}\makeatother

\makeatletter
\renewenvironment{notice}[2]{
  \begin{graybox}
  \bf\it
  \def\py@noticetype{#1}
  \par\strong{#2}
  \csname py@noticestart@#1\endcsname
}
{
  \csname py@noticeend@\py@noticetype\endcsname
  \end{graybox}
}
\makeatother

Alles funktioniert gut, außer wenn ich lege ein figure Umgebung innerhalb des Hinweis Umwelt. In diesem Fall bekomme ich diesen Fehler:

  

LaTeX-Fehler: Nicht in Außen Par-Modus

Gibt es eine Möglichkeit, einen grauen Hintergrund, dass Hinweis auf Umwelt?

War es hilfreich?

Lösung 2

Danke godbyk und Jouni für die Beantwortung meiner Frage.

Das Problem ist, dass ich Code nicht direkt in LaTeX . Ich schreibe die Dokumentation in restrukturiert Text und Sphinx Ausgabe der LaTeX Dateien.

Aber ich fand eine Lösung: Ich neu zu definieren, die Bild Umgebung verwendet die staticfigure von der flowfram Paket:

\usepackage{flowfram}

\definecolor{MyGray}{rgb}{0.80,0.80,0.80}

\makeatletter\newenvironment{graybox}{%
   \begin{lrbox}{\@tempboxa}\begin{minipage}{\columnwidth}}{\end{minipage}\end{lrbox}%
   \colorbox{MyGray}{\usebox{\@tempboxa}}
}\makeatother

\makeatletter
\renewenvironment{notice}[2]{
  \begin{graybox}
  \bf\it
  \def\py@noticetype{#1}
  \par\strong{#2}
  \csname py@noticestart@#1\endcsname
}
{
  \csname py@noticeend@\py@noticetype\endcsname
  \end{graybox}
}
\makeatother

\renewenvironment{figure}[6]{
  \begin{staticfigure}
}{
  \end{staticfigure}
}

PS: Ich hatte 6 auf die Anzahl der Argumente zu setzen, wenn ‚Bild‘ neu zu definieren: Wenn ich nicht, dass es einige ‚hTBP‘ gibt in den PDF-Dateien (ich bin kein LaTeX Experte. es ist nur die Lösung, die ich für dieses Problem gefunden)

Andere Tipps

Dies ist ein FAQ . Es macht keinen Sinn, beziffern (oder jede andere „float“, die an anderer Stelle in der Ausgabe bewegen können) in einem grauen Kasten; wenn Sie Ihre Figur wollen ein graues Feld enthalten, setzen Sie das graue Feld Umgebung im Inneren der Figur Umgebung.

Wie Jouni richtig darauf hingewiesen, Abbildungen und Tabellen können (das heißt, den Schwimmer) bewegt werden, und Ihre graue Box kann sie nicht enthalten. Um den gewünschten Effekt zu erzielen, haben Sie zwei Möglichkeiten:

  1. Legen Sie Ihre gesamte Mitteilung in eine figure Umgebung (so dass die gesamte Nachricht auf der Seite oder auf eine neue Seite schwimmt um werden kann, wenn LaTeX wählt so).
  2. Sie kein Schwimmer (figure Umgebung) verwenden - nur \includegraphics benutzen Sie Ihr Bild direkt in die notice Umgebung Pop. Sie werden eine Beschriftung nicht mit dieser nicht-Figur nutzen können, jedoch als Bildunterschriften nur in einer Abbildung oder Tabelle-Umgebung arbeiten. Wenn Sie eine Beschriftung, die mit diesem Bild möchten, können Sie das caption Paket :

    \documentclass{article}
    \usepackage{caption}% let's us use captions outside of floats
    \usepackage{lipsum}% provides filler text
    \begin{document}
    \lipsum[1]
    \begin{center}
      \includegraphics{mypic}
      \captionof{figure}{This is my picture.}% makes a caption for non-floats
      \label{fig:mypic}
    \end{center}
    \lipsum[2]        
    \end{document}
    

Ich habe nicht Sphinx verwendet, so dass ich fürchte, ich bin auch nicht helfen, können Sie viel mit diesem in ihre Ausgabe zu integrieren.

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