• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

نوشتن در حاشیه متن

نویسنده مرتضی, دسامبر 30, 2012, 08:02:50 بعد از ظهر

« قبلی - بعدی »

مرتضی

با استفاده از گزینه showframe در بسته geometry می‌توان کادرهای موجود در یک صفحه (دور متن، heading، حاشیه و ...) که در حالت عادی نامرئی هستند، را مشاهده کرد. در این حالت معلوم می‌شود که در صفحات فرد (در کلاس book)، حاشیه در سمت راست صفحه است، در صورتیکه در متن فارسی، باید این حاشیه در سمت چپ قرار بگیرد. به این ترتیب دستور \marginpar{} نیز به‌درستی کار نمی‌کند.
آیا راهی برای معکوس‌کردن جهت آن وجود دارد؟

vafa

دستور \marginpar بدرستی کار می‌کند شما تنها باید ابعاد صفحتون رو تغییر بدهید.

vafa

#2
نقل قول از: مرتضی در دسامبر 30, 2012, 08:02:50 بعد از ظهر
با استفاده از گزینه showframe در بسته geometry می‌توان کادرهای موجود در یک صفحه (دور متن، heading، حاشیه و ...) که در حالت عادی نامرئی هستند، را مشاهده کرد.
اینطور نیست. بسته geometry خودش خط و خطوط رو رسم می‌کنه و این کار رو براساس منطق چپ به راست می‌کنه و این هیچ ربطی به دستور \marginpar و حاشیه نداره.
نقل قول
در این حالت معلوم می‌شود که در صفحات فرد (در کلاس book)، حاشیه در سمت راست صفحه است،
کاملاً اشتباه است. به دلیل اول.
نقل قول
در صورتیکه در متن فارسی، باید این حاشیه در سمت چپ قرار بگیرد. به این ترتیب دستور \marginpar{} نیز به‌درستی کار نمی‌کند.
آیا راهی برای معکوس‌کردن جهت آن وجود دارد؟
شما کل موضوع را اشتباه متوجه شدی. این سه مطلب جدا از هم است:

۱) دستور \marginpar به درستی کار می‌کند.

۲) حاشیه به ابعاد صفحه مربوط است.

۳) خط‌هایی که بسته geometry برای حاشیه می‌کشد هیچ ربطی به حاشیه و دستور \marginpar ندارد بلکه بسته geometry با فرض اینکه نوشته چپ به راست است بصورت دستی خط‌ها را قرار می‌دهد.

برای درستی گفته‌هایم، خط‌هایی که بسته geometry برای حاشیه قرار می‌دهد تغییر داده شده است تا در جای درست قرار بگیرند:


%% This code is copyright (C) 2013 by Vafa Khalighi <[firstname]gk[at]gmail[dot]com>.
%% All rights are reserved!
%% The code is distributed only for people to see the demonstration of the code
%% not for use in the preparation of any document that you may have.
%% Permission for any other use of this code must be obtained by purchasing a license
%% from the copyright holder.
\documentclass{book}
\usepackage[marginparwidth=2cm, showframe,left=5cm] {geometry}                 
\usepackage{xepersian}
\makeatletter
\renewcommand*{\Gm@vrules@mpi}{%
\if@RTLmain%
        \hb@xt@\@tempdima{\hskip-\marginparwidth\hskip-\marginparsep
        \llap{\Gm@vrule}\ignorespaces
        \hskip \marginparwidth\rlap{\Gm@vrule}\hskip \marginparsep
        \llap{\Gm@vrule}\hskip\textwidth\rlap{\Gm@vrule}\hss}%
    \else%
  \hb@xt@\@tempdima{\llap{\Gm@vrule}\ignorespaces
  \hskip \textwidth\Gm@vrule\hskip \marginparsep
  \llap{\Gm@vrule}\hfil\Gm@vrule}\fi}%
\renewcommand*{\Gm@vrules@mpii}{%
\if@RTLmain%
  \hb@xt@\@tempdima{\llap{\Gm@vrule}\ignorespaces
  \hskip \textwidth\Gm@vrule\hskip \marginparsep
  \llap{\Gm@vrule}\hfil\Gm@vrule}%
\else%
  \hb@xt@\@tempdima{\hskip-\marginparwidth\hskip-\marginparsep
  \llap{\Gm@vrule}\ignorespaces
  \hskip \marginparwidth\rlap{\Gm@vrule}\hskip \marginparsep
  \llap{\Gm@vrule}\hskip\textwidth\rlap{\Gm@vrule}\hss}\fi}%
\makeatother
\begin{document}
صفحه فرد 
\marginpar{حاشیه فرد}
\newpage
صفحه زوج
\marginpar{حاشیه زوج}
\end{document}


هشدار: کد بالا مجانی نیست و استفاده آن در اسناد خود غیرقانونی و غیراخلاقی می‌باشد. لطفاً متن حق‌کپی را بدقت مطالعه کنید.